Fix _FIRST macros

This commit is contained in:
Reece Wilson 2021-10-07 17:11:30 +01:00
parent 370b2f8901
commit 4812a825db
2 changed files with 287 additions and 277 deletions

View File

@ -7,206 +7,206 @@
#define AU_FE_ERROR(exp) ERROR. CHECK PARAMETER COUNT. DID YOU FORGET A COMMA?
#define AU_FE_0(prefix)
#define AU_FE_1(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_0(prefix, __VA_ARGS__))
#define AU_FE_1_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_-1(prefix, __VA_ARGS__))
#define AU_FE_2(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_1(prefix, __VA_ARGS__))
#define AU_FE_2_FIRST(first, prefix, X0) first(X0) AU_FE_EXPAND(AU_FE_0(prefix))
#define AU_FE_3(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_2(prefix, __VA_ARGS__))
#define AU_FE_2(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_1(prefix, __VA_ARGS__))
#define AU_FE_3_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_1(prefix, __VA_ARGS__))
#define AU_FE_4(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_3(prefix, __VA_ARGS__))
#define AU_FE_3(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_2(prefix, __VA_ARGS__))
#define AU_FE_4_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_2(prefix, __VA_ARGS__))
#define AU_FE_5(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_4(prefix, __VA_ARGS__))
#define AU_FE_4(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_3(prefix, __VA_ARGS__))
#define AU_FE_5_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_3(prefix, __VA_ARGS__))
#define AU_FE_6(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_5(prefix, __VA_ARGS__))
#define AU_FE_5(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_4(prefix, __VA_ARGS__))
#define AU_FE_6_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_4(prefix, __VA_ARGS__))
#define AU_FE_7(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_6(prefix, __VA_ARGS__))
#define AU_FE_6(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_5(prefix, __VA_ARGS__))
#define AU_FE_7_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_5(prefix, __VA_ARGS__))
#define AU_FE_8(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_7(prefix, __VA_ARGS__))
#define AU_FE_7(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_6(prefix, __VA_ARGS__))
#define AU_FE_8_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_6(prefix, __VA_ARGS__))
#define AU_FE_9(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_8(prefix, __VA_ARGS__))
#define AU_FE_8(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_7(prefix, __VA_ARGS__))
#define AU_FE_9_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_7(prefix, __VA_ARGS__))
#define AU_FE_10(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_9(prefix, __VA_ARGS__))
#define AU_FE_9(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_8(prefix, __VA_ARGS__))
#define AU_FE_10_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_8(prefix, __VA_ARGS__))
#define AU_FE_11(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_10(prefix, __VA_ARGS__))
#define AU_FE_10(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_9(prefix, __VA_ARGS__))
#define AU_FE_11_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_9(prefix, __VA_ARGS__))
#define AU_FE_12(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_11(prefix, __VA_ARGS__))
#define AU_FE_11(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_10(prefix, __VA_ARGS__))
#define AU_FE_12_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_10(prefix, __VA_ARGS__))
#define AU_FE_13(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_12(prefix, __VA_ARGS__))
#define AU_FE_12(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_11(prefix, __VA_ARGS__))
#define AU_FE_13_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_11(prefix, __VA_ARGS__))
#define AU_FE_14(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_13(prefix, __VA_ARGS__))
#define AU_FE_13(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_12(prefix, __VA_ARGS__))
#define AU_FE_14_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_12(prefix, __VA_ARGS__))
#define AU_FE_15(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_14(prefix, __VA_ARGS__))
#define AU_FE_14(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_13(prefix, __VA_ARGS__))
#define AU_FE_15_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_13(prefix, __VA_ARGS__))
#define AU_FE_16(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_15(prefix, __VA_ARGS__))
#define AU_FE_15(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_14(prefix, __VA_ARGS__))
#define AU_FE_16_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_14(prefix, __VA_ARGS__))
#define AU_FE_17(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_16(prefix, __VA_ARGS__))
#define AU_FE_16(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_15(prefix, __VA_ARGS__))
#define AU_FE_17_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_15(prefix, __VA_ARGS__))
#define AU_FE_18(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_17(prefix, __VA_ARGS__))
#define AU_FE_17(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_16(prefix, __VA_ARGS__))
#define AU_FE_18_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_16(prefix, __VA_ARGS__))
#define AU_FE_19(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_18(prefix, __VA_ARGS__))
#define AU_FE_18(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_17(prefix, __VA_ARGS__))
#define AU_FE_19_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_17(prefix, __VA_ARGS__))
#define AU_FE_20(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_19(prefix, __VA_ARGS__))
#define AU_FE_19(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_18(prefix, __VA_ARGS__))
#define AU_FE_20_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_18(prefix, __VA_ARGS__))
#define AU_FE_21(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_20(prefix, __VA_ARGS__))
#define AU_FE_20(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_19(prefix, __VA_ARGS__))
#define AU_FE_21_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_19(prefix, __VA_ARGS__))
#define AU_FE_22(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_21(prefix, __VA_ARGS__))
#define AU_FE_21(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_20(prefix, __VA_ARGS__))
#define AU_FE_22_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_20(prefix, __VA_ARGS__))
#define AU_FE_23(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_22(prefix, __VA_ARGS__))
#define AU_FE_22(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_21(prefix, __VA_ARGS__))
#define AU_FE_23_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_21(prefix, __VA_ARGS__))
#define AU_FE_24(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_23(prefix, __VA_ARGS__))
#define AU_FE_23(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_22(prefix, __VA_ARGS__))
#define AU_FE_24_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_22(prefix, __VA_ARGS__))
#define AU_FE_25(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_24(prefix, __VA_ARGS__))
#define AU_FE_24(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_23(prefix, __VA_ARGS__))
#define AU_FE_25_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_23(prefix, __VA_ARGS__))
#define AU_FE_26(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_25(prefix, __VA_ARGS__))
#define AU_FE_25(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_24(prefix, __VA_ARGS__))
#define AU_FE_26_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_24(prefix, __VA_ARGS__))
#define AU_FE_27(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_26(prefix, __VA_ARGS__))
#define AU_FE_26(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_25(prefix, __VA_ARGS__))
#define AU_FE_27_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_25(prefix, __VA_ARGS__))
#define AU_FE_28(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_27(prefix, __VA_ARGS__))
#define AU_FE_27(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_26(prefix, __VA_ARGS__))
#define AU_FE_28_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_26(prefix, __VA_ARGS__))
#define AU_FE_29(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_28(prefix, __VA_ARGS__))
#define AU_FE_28(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_27(prefix, __VA_ARGS__))
#define AU_FE_29_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_27(prefix, __VA_ARGS__))
#define AU_FE_30(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_29(prefix, __VA_ARGS__))
#define AU_FE_29(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_28(prefix, __VA_ARGS__))
#define AU_FE_30_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_28(prefix, __VA_ARGS__))
#define AU_FE_31(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_30(prefix, __VA_ARGS__))
#define AU_FE_30(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_29(prefix, __VA_ARGS__))
#define AU_FE_31_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_29(prefix, __VA_ARGS__))
#define AU_FE_32(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_31(prefix, __VA_ARGS__))
#define AU_FE_31(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_30(prefix, __VA_ARGS__))
#define AU_FE_32_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_30(prefix, __VA_ARGS__))
#define AU_FE_33(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_32(prefix, __VA_ARGS__))
#define AU_FE_32(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_31(prefix, __VA_ARGS__))
#define AU_FE_33_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_31(prefix, __VA_ARGS__))
#define AU_FE_34(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_33(prefix, __VA_ARGS__))
#define AU_FE_33(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_32(prefix, __VA_ARGS__))
#define AU_FE_34_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_32(prefix, __VA_ARGS__))
#define AU_FE_35(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_34(prefix, __VA_ARGS__))
#define AU_FE_34(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_33(prefix, __VA_ARGS__))
#define AU_FE_35_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_33(prefix, __VA_ARGS__))
#define AU_FE_36(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_35(prefix, __VA_ARGS__))
#define AU_FE_35(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_34(prefix, __VA_ARGS__))
#define AU_FE_36_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_34(prefix, __VA_ARGS__))
#define AU_FE_37(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_36(prefix, __VA_ARGS__))
#define AU_FE_36(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_35(prefix, __VA_ARGS__))
#define AU_FE_37_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_35(prefix, __VA_ARGS__))
#define AU_FE_38(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_37(prefix, __VA_ARGS__))
#define AU_FE_37(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_36(prefix, __VA_ARGS__))
#define AU_FE_38_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_36(prefix, __VA_ARGS__))
#define AU_FE_39(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_38(prefix, __VA_ARGS__))
#define AU_FE_38(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_37(prefix, __VA_ARGS__))
#define AU_FE_39_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_37(prefix, __VA_ARGS__))
#define AU_FE_40(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_39(prefix, __VA_ARGS__))
#define AU_FE_39(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_38(prefix, __VA_ARGS__))
#define AU_FE_40_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_38(prefix, __VA_ARGS__))
#define AU_FE_41(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_40(prefix, __VA_ARGS__))
#define AU_FE_40(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_39(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_39(prefix, __VA_ARGS__))
#define AU_FE_42(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_41(prefix, __VA_ARGS__))
#define AU_FE_41(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_40(prefix, __VA_ARGS__))
#define AU_FE_42_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_40(prefix, __VA_ARGS__))
#define AU_FE_43(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_42(prefix, __VA_ARGS__))
#define AU_FE_42(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_41(prefix, __VA_ARGS__))
#define AU_FE_43_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_41(prefix, __VA_ARGS__))
#define AU_FE_44(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_43(prefix, __VA_ARGS__))
#define AU_FE_43(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_42(prefix, __VA_ARGS__))
#define AU_FE_44_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_42(prefix, __VA_ARGS__))
#define AU_FE_45(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_44(prefix, __VA_ARGS__))
#define AU_FE_44(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_43(prefix, __VA_ARGS__))
#define AU_FE_45_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_43(prefix, __VA_ARGS__))
#define AU_FE_46(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_45(prefix, __VA_ARGS__))
#define AU_FE_45(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_44(prefix, __VA_ARGS__))
#define AU_FE_46_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_44(prefix, __VA_ARGS__))
#define AU_FE_47(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_46(prefix, __VA_ARGS__))
#define AU_FE_46(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_45(prefix, __VA_ARGS__))
#define AU_FE_47_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_45(prefix, __VA_ARGS__))
#define AU_FE_48(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_47(prefix, __VA_ARGS__))
#define AU_FE_47(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_46(prefix, __VA_ARGS__))
#define AU_FE_48_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_46(prefix, __VA_ARGS__))
#define AU_FE_49(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_48(prefix, __VA_ARGS__))
#define AU_FE_48(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_47(prefix, __VA_ARGS__))
#define AU_FE_49_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_47(prefix, __VA_ARGS__))
#define AU_FE_50(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_49(prefix, __VA_ARGS__))
#define AU_FE_49(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_48(prefix, __VA_ARGS__))
#define AU_FE_50_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_48(prefix, __VA_ARGS__))
#define AU_FE_51(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_50(prefix, __VA_ARGS__))
#define AU_FE_50(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_49(prefix, __VA_ARGS__))
#define AU_FE_51_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_49(prefix, __VA_ARGS__))
#define AU_FE_52(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_51(prefix, __VA_ARGS__))
#define AU_FE_51(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_50(prefix, __VA_ARGS__))
#define AU_FE_52_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_50(prefix, __VA_ARGS__))
#define AU_FE_53(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_52(prefix, __VA_ARGS__))
#define AU_FE_52(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_51(prefix, __VA_ARGS__))
#define AU_FE_53_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_51(prefix, __VA_ARGS__))
#define AU_FE_54(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_53(prefix, __VA_ARGS__))
#define AU_FE_53(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_52(prefix, __VA_ARGS__))
#define AU_FE_54_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_52(prefix, __VA_ARGS__))
#define AU_FE_55(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_54(prefix, __VA_ARGS__))
#define AU_FE_54(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_53(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_53(prefix, __VA_ARGS__))
#define AU_FE_56(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_55(prefix, __VA_ARGS__))
#define AU_FE_55(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_54(prefix, __VA_ARGS__))
#define AU_FE_56_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_54(prefix, __VA_ARGS__))
#define AU_FE_57(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_56(prefix, __VA_ARGS__))
#define AU_FE_56(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_55(prefix, __VA_ARGS__))
#define AU_FE_57_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_55(prefix, __VA_ARGS__))
#define AU_FE_58(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_57(prefix, __VA_ARGS__))
#define AU_FE_57(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_56(prefix, __VA_ARGS__))
#define AU_FE_58_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_56(prefix, __VA_ARGS__))
#define AU_FE_59(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_58(prefix, __VA_ARGS__))
#define AU_FE_58(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_57(prefix, __VA_ARGS__))
#define AU_FE_59_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_57(prefix, __VA_ARGS__))
#define AU_FE_60(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_59(prefix, __VA_ARGS__))
#define AU_FE_59(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_58(prefix, __VA_ARGS__))
#define AU_FE_60_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_58(prefix, __VA_ARGS__))
#define AU_FE_61(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_60(prefix, __VA_ARGS__))
#define AU_FE_60(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_59(prefix, __VA_ARGS__))
#define AU_FE_61_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_59(prefix, __VA_ARGS__))
#define AU_FE_62(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_61(prefix, __VA_ARGS__))
#define AU_FE_61(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_60(prefix, __VA_ARGS__))
#define AU_FE_62_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_60(prefix, __VA_ARGS__))
#define AU_FE_63(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_62(prefix, __VA_ARGS__))
#define AU_FE_62(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_61(prefix, __VA_ARGS__))
#define AU_FE_63_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_61(prefix, __VA_ARGS__))
#define AU_FE_64(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_63(prefix, __VA_ARGS__))
#define AU_FE_63(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_62(prefix, __VA_ARGS__))
#define AU_FE_64_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_62(prefix, __VA_ARGS__))
#define AU_FE_65(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_64(prefix, __VA_ARGS__))
#define AU_FE_64(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_63(prefix, __VA_ARGS__))
#define AU_FE_65_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_63(prefix, __VA_ARGS__))
#define AU_FE_66(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_65(prefix, __VA_ARGS__))
#define AU_FE_65(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_64(prefix, __VA_ARGS__))
#define AU_FE_66_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_64(prefix, __VA_ARGS__))
#define AU_FE_67(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_66(prefix, __VA_ARGS__))
#define AU_FE_66(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_65(prefix, __VA_ARGS__))
#define AU_FE_67_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_65(prefix, __VA_ARGS__))
#define AU_FE_68(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_67(prefix, __VA_ARGS__))
#define AU_FE_67(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_66(prefix, __VA_ARGS__))
#define AU_FE_68_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_66(prefix, __VA_ARGS__))
#define AU_FE_69(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_68(prefix, __VA_ARGS__))
#define AU_FE_68(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_67(prefix, __VA_ARGS__))
#define AU_FE_69_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_67(prefix, __VA_ARGS__))
#define AU_FE_70(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_69(prefix, __VA_ARGS__))
#define AU_FE_69(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_68(prefix, __VA_ARGS__))
#define AU_FE_70_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_68(prefix, __VA_ARGS__))
#define AU_FE_71(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_70(prefix, __VA_ARGS__))
#define AU_FE_70(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_69(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_69(prefix, __VA_ARGS__))
#define AU_FE_72(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_71(prefix, __VA_ARGS__))
#define AU_FE_71(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_70(prefix, __VA_ARGS__))
#define AU_FE_72_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_70(prefix, __VA_ARGS__))
#define AU_FE_73(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_72(prefix, __VA_ARGS__))
#define AU_FE_72(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_71(prefix, __VA_ARGS__))
#define AU_FE_73_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_71(prefix, __VA_ARGS__))
#define AU_FE_74(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_73(prefix, __VA_ARGS__))
#define AU_FE_73(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_72(prefix, __VA_ARGS__))
#define AU_FE_74_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_72(prefix, __VA_ARGS__))
#define AU_FE_75(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_74(prefix, __VA_ARGS__))
#define AU_FE_74(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_73(prefix, __VA_ARGS__))
#define AU_FE_75_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_73(prefix, __VA_ARGS__))
#define AU_FE_76(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_75(prefix, __VA_ARGS__))
#define AU_FE_75(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_74(prefix, __VA_ARGS__))
#define AU_FE_76_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_74(prefix, __VA_ARGS__))
#define AU_FE_77(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_76(prefix, __VA_ARGS__))
#define AU_FE_76(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_75(prefix, __VA_ARGS__))
#define AU_FE_77_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_75(prefix, __VA_ARGS__))
#define AU_FE_78(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_77(prefix, __VA_ARGS__))
#define AU_FE_77(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_76(prefix, __VA_ARGS__))
#define AU_FE_78_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_76(prefix, __VA_ARGS__))
#define AU_FE_79(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_78(prefix, __VA_ARGS__))
#define AU_FE_78(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_77(prefix, __VA_ARGS__))
#define AU_FE_79_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_77(prefix, __VA_ARGS__))
#define AU_FE_80(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_79(prefix, __VA_ARGS__))
#define AU_FE_79(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_78(prefix, __VA_ARGS__))
#define AU_FE_80_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_78(prefix, __VA_ARGS__))
#define AU_FE_81(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_80(prefix, __VA_ARGS__))
#define AU_FE_80(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_79(prefix, __VA_ARGS__))
#define AU_FE_81_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_79(prefix, __VA_ARGS__))
#define AU_FE_82(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_81(prefix, __VA_ARGS__))
#define AU_FE_81(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_80(prefix, __VA_ARGS__))
#define AU_FE_82_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_80(prefix, __VA_ARGS__))
#define AU_FE_83(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_82(prefix, __VA_ARGS__))
#define AU_FE_82(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_81(prefix, __VA_ARGS__))
#define AU_FE_83_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_81(prefix, __VA_ARGS__))
#define AU_FE_84(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_83(prefix, __VA_ARGS__))
#define AU_FE_83(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_82(prefix, __VA_ARGS__))
#define AU_FE_84_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_82(prefix, __VA_ARGS__))
#define AU_FE_85(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_84(prefix, __VA_ARGS__))
#define AU_FE_84(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_83(prefix, __VA_ARGS__))
#define AU_FE_85_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_83(prefix, __VA_ARGS__))
#define AU_FE_86(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_85(prefix, __VA_ARGS__))
#define AU_FE_85(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_84(prefix, __VA_ARGS__))
#define AU_FE_86_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_84(prefix, __VA_ARGS__))
#define AU_FE_87(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_86(prefix, __VA_ARGS__))
#define AU_FE_86(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_85(prefix, __VA_ARGS__))
#define AU_FE_87_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_85(prefix, __VA_ARGS__))
#define AU_FE_88(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_87(prefix, __VA_ARGS__))
#define AU_FE_87(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_86(prefix, __VA_ARGS__))
#define AU_FE_88_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_86(prefix, __VA_ARGS__))
#define AU_FE_89(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_88(prefix, __VA_ARGS__))
#define AU_FE_88(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_87(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_87(prefix, __VA_ARGS__))
#define AU_FE_90(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_89(prefix, __VA_ARGS__))
#define AU_FE_89(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_88(prefix, __VA_ARGS__))
#define AU_FE_90_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_88(prefix, __VA_ARGS__))
#define AU_FE_91(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_90(prefix, __VA_ARGS__))
#define AU_FE_90(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_89(prefix, __VA_ARGS__))
#define AU_FE_91_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_89(prefix, __VA_ARGS__))
#define AU_FE_92(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_91(prefix, __VA_ARGS__))
#define AU_FE_91(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_90(prefix, __VA_ARGS__))
#define AU_FE_92_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_90(prefix, __VA_ARGS__))
#define AU_FE_93(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_92(prefix, __VA_ARGS__))
#define AU_FE_92(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_91(prefix, __VA_ARGS__))
#define AU_FE_93_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_91(prefix, __VA_ARGS__))
#define AU_FE_94(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_93(prefix, __VA_ARGS__))
#define AU_FE_93(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_92(prefix, __VA_ARGS__))
#define AU_FE_94_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_92(prefix, __VA_ARGS__))
#define AU_FE_95(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_94(prefix, __VA_ARGS__))
#define AU_FE_94(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_93(prefix, __VA_ARGS__))
#define AU_FE_95_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_93(prefix, __VA_ARGS__))
#define AU_FE_96(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_95(prefix, __VA_ARGS__))
#define AU_FE_95(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_94(prefix, __VA_ARGS__))
#define AU_FE_96_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_94(prefix, __VA_ARGS__))
#define AU_FE_97(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_96(prefix, __VA_ARGS__))
#define AU_FE_96(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_95(prefix, __VA_ARGS__))
#define AU_FE_97_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_95(prefix, __VA_ARGS__))
#define AU_FE_98(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_97(prefix, __VA_ARGS__))
#define AU_FE_97(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_96(prefix, __VA_ARGS__))
#define AU_FE_98_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_96(prefix, __VA_ARGS__))
#define AU_FE_99(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_98(prefix, __VA_ARGS__))
#define AU_FE_98(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_97(prefix, __VA_ARGS__))
#define AU_FE_99_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_97(prefix, __VA_ARGS__))
#define AU_FE_99(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_98(prefix, __VA_ARGS__))
#define AU_FE_100_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_98(prefix, __VA_ARGS__))
#define AU_GET_MACRO(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH(action, ...) AU_FE_EXPAND(AU_GET_MACRO(_whydoweneedthis, __VA_ARGS__, AU_FE_99, AU_FE_98, AU_FE_97, AU_FE_96, AU_FE_95, AU_FE_94, AU_FE_93, AU_FE_92, AU_FE_91, AU_FE_90, AU_FE_89, AU_FE_88, AU_FE_87, AU_FE_86, AU_FE_85, AU_FE_84, AU_FE_83, AU_FE_82, AU_FE_81, AU_FE_80, AU_FE_79, AU_FE_78, AU_FE_77, AU_FE_76, AU_FE_75, AU_FE_74, AU_FE_73, AU_FE_72, AU_FE_71, AU_FE_70, AU_FE_69, AU_FE_68, AU_FE_67, AU_FE_66, AU_FE_65, AU_FE_64, AU_FE_63, AU_FE_62, AU_FE_61, AU_FE_60, AU_FE_59, AU_FE_58, AU_FE_57, AU_FE_56, AU_FE_55, AU_FE_54, AU_FE_53, AU_FE_52, AU_FE_51, AU_FE_50, AU_FE_49, AU_FE_48, AU_FE_47, AU_FE_46, AU_FE_45, AU_FE_44, AU_FE_43, AU_FE_42, AU_FE_41, AU_FE_40, AU_FE_39, AU_FE_38, AU_FE_37, AU_FE_36, AU_FE_35, AU_FE_34, AU_FE_33, AU_FE_32, AU_FE_31, AU_FE_30, AU_FE_29, AU_FE_28, AU_FE_27, AU_FE_26, AU_FE_25, AU_FE_24, AU_FE_23, AU_FE_22, AU_FE_21, AU_FE_20, AU_FE_19, AU_FE_18, AU_FE_17, AU_FE_16, AU_FE_15, AU_FE_14, AU_FE_13, AU_FE_12, AU_FE_11, AU_FE_10, AU_FE_9, AU_FE_8, AU_FE_7, AU_FE_6, AU_FE_5, AU_FE_4, AU_FE_3, AU_FE_2, AU_FE_1, AU_FE_0)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST(action, ...) AU_FE_EXPAND(AU_GET_MACRO(_whydoweneedthis, __VA_ARGS__, AU_FE_99_FIRST, AU_FE_98_FIRST, AU_FE_97_FIRST, AU_FE_96_FIRST, AU_FE_95_FIRST, AU_FE_94_FIRST, AU_FE_93_FIRST, AU_FE_92_FIRST, AU_FE_91_FIRST, AU_FE_90_FIRST, AU_FE_89_FIRST, AU_FE_88_FIRST, AU_FE_87_FIRST, AU_FE_86_FIRST, AU_FE_85_FIRST, AU_FE_84_FIRST, AU_FE_83_FIRST, AU_FE_82_FIRST, AU_FE_81_FIRST, AU_FE_80_FIRST, AU_FE_79_FIRST, AU_FE_78_FIRST, AU_FE_77_FIRST, AU_FE_76_FIRST, AU_FE_75_FIRST, AU_FE_74_FIRST, AU_FE_73_FIRST, AU_FE_72_FIRST, AU_FE_71_FIRST, AU_FE_70_FIRST, AU_FE_69_FIRST, AU_FE_68_FIRST, AU_FE_67_FIRST, AU_FE_66_FIRST, AU_FE_65_FIRST, AU_FE_64_FIRST, AU_FE_63_FIRST, AU_FE_62_FIRST, AU_FE_61_FIRST, AU_FE_60_FIRST, AU_FE_59_FIRST, AU_FE_58_FIRST, AU_FE_57_FIRST, AU_FE_56_FIRST, AU_FE_55_FIRST, AU_FE_54_FIRST, AU_FE_53_FIRST, AU_FE_52_FIRST, AU_FE_51_FIRST, AU_FE_50_FIRST, AU_FE_49_FIRST, AU_FE_48_FIRST, AU_FE_47_FIRST, AU_FE_46_FIRST, AU_FE_45_FIRST, AU_FE_44_FIRST, AU_FE_43_FIRST, AU_FE_42_FIRST, AU_FE_41_FIRST, AU_FE_40_FIRST, AU_FE_39_FIRST, AU_FE_38_FIRST, AU_FE_37_FIRST, AU_FE_36_FIRST, AU_FE_35_FIRST, AU_FE_34_FIRST, AU_FE_33_FIRST, AU_FE_32_FIRST, AU_FE_31_FIRST, AU_FE_30_FIRST, AU_FE_29_FIRST, AU_FE_28_FIRST, AU_FE_27_FIRST, AU_FE_26_FIRST, AU_FE_25_FIRST, AU_FE_24_FIRST, AU_FE_23_FIRST, AU_FE_22_FIRST, AU_FE_21_FIRST, AU_FE_20_FIRST, AU_FE_19_FIRST, AU_FE_18_FIRST, AU_FE_17_FIRST, AU_FE_16_FIRST, AU_FE_15_FIRST, AU_FE_14_FIRST, AU_FE_13_FIRST, AU_FE_12_FIRST, AU_FE_11_FIRST, AU_FE_10_FIRST, AU_FE_9_FIRST, AU_FE_8_FIRST, AU_FE_7_FIRST, AU_FE_6_FIRST, AU_FE_5_FIRST, AU_FE_4_FIRST, AU_FE_3_FIRST, AU_FE_2_FIRST, AU_FE_1_FIRST, AU_FE_0_FIRST)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST(action, ...) AU_FE_EXPAND(AU_GET_MACRO(_whydoweneedthis, __VA_ARGS__, AU_FE_99_FIRST, AU_FE_98_FIRST, AU_FE_97_FIRST, AU_FE_96_FIRST, AU_FE_95_FIRST, AU_FE_94_FIRST, AU_FE_93_FIRST, AU_FE_92_FIRST, AU_FE_91_FIRST, AU_FE_90_FIRST, AU_FE_89_FIRST, AU_FE_88_FIRST, AU_FE_87_FIRST, AU_FE_86_FIRST, AU_FE_85_FIRST, AU_FE_84_FIRST, AU_FE_83_FIRST, AU_FE_82_FIRST, AU_FE_81_FIRST, AU_FE_80_FIRST, AU_FE_79_FIRST, AU_FE_78_FIRST, AU_FE_77_FIRST, AU_FE_76_FIRST, AU_FE_75_FIRST, AU_FE_74_FIRST, AU_FE_73_FIRST, AU_FE_72_FIRST, AU_FE_71_FIRST, AU_FE_70_FIRST, AU_FE_69_FIRST, AU_FE_68_FIRST, AU_FE_67_FIRST, AU_FE_66_FIRST, AU_FE_65_FIRST, AU_FE_64_FIRST, AU_FE_63_FIRST, AU_FE_62_FIRST, AU_FE_61_FIRST, AU_FE_60_FIRST, AU_FE_59_FIRST, AU_FE_58_FIRST, AU_FE_57_FIRST, AU_FE_56_FIRST, AU_FE_55_FIRST, AU_FE_54_FIRST, AU_FE_53_FIRST, AU_FE_52_FIRST, AU_FE_51_FIRST, AU_FE_50_FIRST, AU_FE_49_FIRST, AU_FE_48_FIRST, AU_FE_47_FIRST, AU_FE_46_FIRST, AU_FE_45_FIRST, AU_FE_44_FIRST, AU_FE_43_FIRST, AU_FE_42_FIRST, AU_FE_41_FIRST, AU_FE_40_FIRST, AU_FE_39_FIRST, AU_FE_38_FIRST, AU_FE_37_FIRST, AU_FE_36_FIRST, AU_FE_35_FIRST, AU_FE_34_FIRST, AU_FE_33_FIRST, AU_FE_32_FIRST, AU_FE_31_FIRST, AU_FE_30_FIRST, AU_FE_29_FIRST, AU_FE_28_FIRST, AU_FE_27_FIRST, AU_FE_26_FIRST, AU_FE_25_FIRST, AU_FE_24_FIRST, AU_FE_23_FIRST, AU_FE_22_FIRST, AU_FE_21_FIRST, AU_FE_20_FIRST, AU_FE_19_FIRST, AU_FE_18_FIRST, AU_FE_17_FIRST, AU_FE_16_FIRST, AU_FE_15_FIRST, AU_FE_14_FIRST, AU_FE_13_FIRST, AU_FE_12_FIRST, AU_FE_11_FIRST, AU_FE_10_FIRST, AU_FE_9_FIRST, AU_FE_8_FIRST, AU_FE_7_FIRST, AU_FE_6_FIRST, AU_FE_5_FIRST, AU_FE_4_FIRST, AU_FE_3_FIRST, AU_FE_2_FIRST, AU_FE_1_FIRST, AU_FE_ERROR)(action,__VA_ARGS__))
#define AU_FE_0_2(prefix)
#define AU_FE_2_2(prefix, X0, X1) prefix(X0, X1) AU_FE_EXPAND(AU_FE_0_2(prefix))
@ -333,354 +333,360 @@
#define AU_FE_123_FIRST_2(first, prefix, X0, X1, ...) first(X0, X1) AU_FE_EXPAND(AU_FE_120_2(prefix, __VA_ARGS__))
#define AU_GET_MACRO_2(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, NAME,...) NAME
#define AU_FOR_EACH_2(action, ...) AU_FE_EXPAND(AU_GET_MACRO_2(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_122_2, AU_FE_ERROR, AU_FE_120_2, AU_FE_ERROR, AU_FE_118_2, AU_FE_ERROR, AU_FE_116_2, AU_FE_ERROR, AU_FE_114_2, AU_FE_ERROR, AU_FE_112_2, AU_FE_ERROR, AU_FE_110_2, AU_FE_ERROR, AU_FE_108_2, AU_FE_ERROR, AU_FE_106_2, AU_FE_ERROR, AU_FE_104_2, AU_FE_ERROR, AU_FE_102_2, AU_FE_ERROR, AU_FE_100_2, AU_FE_ERROR, AU_FE_98_2, AU_FE_ERROR, AU_FE_96_2, AU_FE_ERROR, AU_FE_94_2, AU_FE_ERROR, AU_FE_92_2, AU_FE_ERROR, AU_FE_90_2, AU_FE_ERROR, AU_FE_88_2, AU_FE_ERROR, AU_FE_86_2, AU_FE_ERROR, AU_FE_84_2, AU_FE_ERROR, AU_FE_82_2, AU_FE_ERROR, AU_FE_80_2, AU_FE_ERROR, AU_FE_78_2, AU_FE_ERROR, AU_FE_76_2, AU_FE_ERROR, AU_FE_74_2, AU_FE_ERROR, AU_FE_72_2, AU_FE_ERROR, AU_FE_70_2, AU_FE_ERROR, AU_FE_68_2, AU_FE_ERROR, AU_FE_66_2, AU_FE_ERROR, AU_FE_64_2, AU_FE_ERROR, AU_FE_62_2, AU_FE_ERROR, AU_FE_60_2, AU_FE_ERROR, AU_FE_58_2, AU_FE_ERROR, AU_FE_56_2, AU_FE_ERROR, AU_FE_54_2, AU_FE_ERROR, AU_FE_52_2, AU_FE_ERROR, AU_FE_50_2, AU_FE_ERROR, AU_FE_48_2, AU_FE_ERROR, AU_FE_46_2, AU_FE_ERROR, AU_FE_44_2, AU_FE_ERROR, AU_FE_42_2, AU_FE_ERROR, AU_FE_40_2, AU_FE_ERROR, AU_FE_38_2, AU_FE_ERROR, AU_FE_36_2, AU_FE_ERROR, AU_FE_34_2, AU_FE_ERROR, AU_FE_32_2, AU_FE_ERROR, AU_FE_30_2, AU_FE_ERROR, AU_FE_28_2, AU_FE_ERROR, AU_FE_26_2, AU_FE_ERROR, AU_FE_24_2, AU_FE_ERROR, AU_FE_22_2, AU_FE_ERROR, AU_FE_20_2, AU_FE_ERROR, AU_FE_18_2, AU_FE_ERROR, AU_FE_16_2, AU_FE_ERROR, AU_FE_14_2, AU_FE_ERROR, AU_FE_12_2, AU_FE_ERROR, AU_FE_10_2, AU_FE_ERROR, AU_FE_8_2, AU_FE_ERROR, AU_FE_6_2, AU_FE_ERROR, AU_FE_4_2, AU_FE_ERROR, AU_FE_2_2, AU_FE_ERROR, AU_FE_0_2)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_2(action, ...) AU_FE_EXPAND(AU_GET_MACRO_2(_whydoweneedthis, __VA_ARGS__, AU_FE_123_FIRST_2, AU_FE_ERROR, AU_FE_121_FIRST_2, AU_FE_ERROR, AU_FE_119_FIRST_2, AU_FE_ERROR, AU_FE_117_FIRST_2, AU_FE_ERROR, AU_FE_115_FIRST_2, AU_FE_ERROR, AU_FE_113_FIRST_2, AU_FE_ERROR, AU_FE_111_FIRST_2, AU_FE_ERROR, AU_FE_109_FIRST_2, AU_FE_ERROR, AU_FE_107_FIRST_2, AU_FE_ERROR, AU_FE_105_FIRST_2, AU_FE_ERROR, AU_FE_103_FIRST_2, AU_FE_ERROR, AU_FE_101_FIRST_2, AU_FE_ERROR, AU_FE_99_FIRST_2, AU_FE_ERROR, AU_FE_97_FIRST_2, AU_FE_ERROR, AU_FE_95_FIRST_2, AU_FE_ERROR, AU_FE_93_FIRST_2, AU_FE_ERROR, AU_FE_91_FIRST_2, AU_FE_ERROR, AU_FE_89_FIRST_2, AU_FE_ERROR, AU_FE_87_FIRST_2, AU_FE_ERROR, AU_FE_85_FIRST_2, AU_FE_ERROR, AU_FE_83_FIRST_2, AU_FE_ERROR, AU_FE_81_FIRST_2, AU_FE_ERROR, AU_FE_79_FIRST_2, AU_FE_ERROR, AU_FE_77_FIRST_2, AU_FE_ERROR, AU_FE_75_FIRST_2, AU_FE_ERROR, AU_FE_73_FIRST_2, AU_FE_ERROR, AU_FE_71_FIRST_2, AU_FE_ERROR, AU_FE_69_FIRST_2, AU_FE_ERROR, AU_FE_67_FIRST_2, AU_FE_ERROR, AU_FE_65_FIRST_2, AU_FE_ERROR, AU_FE_63_FIRST_2, AU_FE_ERROR, AU_FE_61_FIRST_2, AU_FE_ERROR, AU_FE_59_FIRST_2, AU_FE_ERROR, AU_FE_57_FIRST_2, AU_FE_ERROR, AU_FE_55_FIRST_2, AU_FE_ERROR, AU_FE_53_FIRST_2, AU_FE_ERROR, AU_FE_51_FIRST_2, AU_FE_ERROR, AU_FE_49_FIRST_2, AU_FE_ERROR, AU_FE_47_FIRST_2, AU_FE_ERROR, AU_FE_45_FIRST_2, AU_FE_ERROR, AU_FE_43_FIRST_2, AU_FE_ERROR, AU_FE_41_FIRST_2, AU_FE_ERROR, AU_FE_39_FIRST_2, AU_FE_ERROR, AU_FE_37_FIRST_2, AU_FE_ERROR, AU_FE_35_FIRST_2, AU_FE_ERROR, AU_FE_33_FIRST_2, AU_FE_ERROR, AU_FE_31_FIRST_2, AU_FE_ERROR, AU_FE_29_FIRST_2, AU_FE_ERROR, AU_FE_27_FIRST_2, AU_FE_ERROR, AU_FE_25_FIRST_2, AU_FE_ERROR, AU_FE_23_FIRST_2, AU_FE_ERROR, AU_FE_21_FIRST_2, AU_FE_ERROR, AU_FE_19_FIRST_2, AU_FE_ERROR, AU_FE_17_FIRST_2, AU_FE_ERROR, AU_FE_15_FIRST_2, AU_FE_ERROR, AU_FE_13_FIRST_2, AU_FE_ERROR, AU_FE_11_FIRST_2, AU_FE_ERROR, AU_FE_9_FIRST_2, AU_FE_ERROR, AU_FE_7_FIRST_2, AU_FE_ERROR, AU_FE_5_FIRST_2, AU_FE_ERROR, AU_FE_3_FIRST_2, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_FIRST_2)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_2(action, ...) AU_FE_EXPAND(AU_GET_MACRO_2(_whydoweneedthis, __VA_ARGS__, AU_FE_123_FIRST_2, AU_FE_ERROR, AU_FE_121_FIRST_2, AU_FE_ERROR, AU_FE_119_FIRST_2, AU_FE_ERROR, AU_FE_117_FIRST_2, AU_FE_ERROR, AU_FE_115_FIRST_2, AU_FE_ERROR, AU_FE_113_FIRST_2, AU_FE_ERROR, AU_FE_111_FIRST_2, AU_FE_ERROR, AU_FE_109_FIRST_2, AU_FE_ERROR, AU_FE_107_FIRST_2, AU_FE_ERROR, AU_FE_105_FIRST_2, AU_FE_ERROR, AU_FE_103_FIRST_2, AU_FE_ERROR, AU_FE_101_FIRST_2, AU_FE_ERROR, AU_FE_99_FIRST_2, AU_FE_ERROR, AU_FE_97_FIRST_2, AU_FE_ERROR, AU_FE_95_FIRST_2, AU_FE_ERROR, AU_FE_93_FIRST_2, AU_FE_ERROR, AU_FE_91_FIRST_2, AU_FE_ERROR, AU_FE_89_FIRST_2, AU_FE_ERROR, AU_FE_87_FIRST_2, AU_FE_ERROR, AU_FE_85_FIRST_2, AU_FE_ERROR, AU_FE_83_FIRST_2, AU_FE_ERROR, AU_FE_81_FIRST_2, AU_FE_ERROR, AU_FE_79_FIRST_2, AU_FE_ERROR, AU_FE_77_FIRST_2, AU_FE_ERROR, AU_FE_75_FIRST_2, AU_FE_ERROR, AU_FE_73_FIRST_2, AU_FE_ERROR, AU_FE_71_FIRST_2, AU_FE_ERROR, AU_FE_69_FIRST_2, AU_FE_ERROR, AU_FE_67_FIRST_2, AU_FE_ERROR, AU_FE_65_FIRST_2, AU_FE_ERROR, AU_FE_63_FIRST_2, AU_FE_ERROR, AU_FE_61_FIRST_2, AU_FE_ERROR, AU_FE_59_FIRST_2, AU_FE_ERROR, AU_FE_57_FIRST_2, AU_FE_ERROR, AU_FE_55_FIRST_2, AU_FE_ERROR, AU_FE_53_FIRST_2, AU_FE_ERROR, AU_FE_51_FIRST_2, AU_FE_ERROR, AU_FE_49_FIRST_2, AU_FE_ERROR, AU_FE_47_FIRST_2, AU_FE_ERROR, AU_FE_45_FIRST_2, AU_FE_ERROR, AU_FE_43_FIRST_2, AU_FE_ERROR, AU_FE_41_FIRST_2, AU_FE_ERROR, AU_FE_39_FIRST_2, AU_FE_ERROR, AU_FE_37_FIRST_2, AU_FE_ERROR, AU_FE_35_FIRST_2, AU_FE_ERROR, AU_FE_33_FIRST_2, AU_FE_ERROR, AU_FE_31_FIRST_2, AU_FE_ERROR, AU_FE_29_FIRST_2, AU_FE_ERROR, AU_FE_27_FIRST_2, AU_FE_ERROR, AU_FE_25_FIRST_2, AU_FE_ERROR, AU_FE_23_FIRST_2, AU_FE_ERROR, AU_FE_21_FIRST_2, AU_FE_ERROR, AU_FE_19_FIRST_2, AU_FE_ERROR, AU_FE_17_FIRST_2, AU_FE_ERROR, AU_FE_15_FIRST_2, AU_FE_ERROR, AU_FE_13_FIRST_2, AU_FE_ERROR, AU_FE_11_FIRST_2, AU_FE_ERROR, AU_FE_9_FIRST_2, AU_FE_ERROR, AU_FE_7_FIRST_2, AU_FE_ERROR, AU_FE_5_FIRST_2, AU_FE_ERROR, AU_FE_3_FIRST_2, AU_FE_2_FIRST_2, AU_FE_ERROR, AU_FE_ERROR)(action,__VA_ARGS__))
#define AU_FE_0_3(prefix)
#define AU_FE_3_3(prefix, X0, X1, X2) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_0_3(prefix))
#define AU_FE_5_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_1_3(prefix, __VA_ARGS__))
#define AU_FE_4_FIRST_3(first, prefix, X0, X1, X2) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_0_3(prefix))
#define AU_FE_6_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_3_3(prefix, __VA_ARGS__))
#define AU_FE_8_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_4_3(prefix, __VA_ARGS__))
#define AU_FE_7_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_3_3(prefix, __VA_ARGS__))
#define AU_FE_9_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_6_3(prefix, __VA_ARGS__))
#define AU_FE_11_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_7_3(prefix, __VA_ARGS__))
#define AU_FE_10_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_6_3(prefix, __VA_ARGS__))
#define AU_FE_12_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_9_3(prefix, __VA_ARGS__))
#define AU_FE_14_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_10_3(prefix, __VA_ARGS__))
#define AU_FE_13_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_9_3(prefix, __VA_ARGS__))
#define AU_FE_15_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_12_3(prefix, __VA_ARGS__))
#define AU_FE_17_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_13_3(prefix, __VA_ARGS__))
#define AU_FE_16_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_12_3(prefix, __VA_ARGS__))
#define AU_FE_18_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_15_3(prefix, __VA_ARGS__))
#define AU_FE_20_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_16_3(prefix, __VA_ARGS__))
#define AU_FE_19_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_15_3(prefix, __VA_ARGS__))
#define AU_FE_21_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_18_3(prefix, __VA_ARGS__))
#define AU_FE_23_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_19_3(prefix, __VA_ARGS__))
#define AU_FE_22_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_18_3(prefix, __VA_ARGS__))
#define AU_FE_24_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_21_3(prefix, __VA_ARGS__))
#define AU_FE_26_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_22_3(prefix, __VA_ARGS__))
#define AU_FE_25_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_21_3(prefix, __VA_ARGS__))
#define AU_FE_27_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_24_3(prefix, __VA_ARGS__))
#define AU_FE_29_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_25_3(prefix, __VA_ARGS__))
#define AU_FE_28_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_24_3(prefix, __VA_ARGS__))
#define AU_FE_30_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_27_3(prefix, __VA_ARGS__))
#define AU_FE_32_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_28_3(prefix, __VA_ARGS__))
#define AU_FE_31_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_27_3(prefix, __VA_ARGS__))
#define AU_FE_33_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_30_3(prefix, __VA_ARGS__))
#define AU_FE_35_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_31_3(prefix, __VA_ARGS__))
#define AU_FE_34_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_30_3(prefix, __VA_ARGS__))
#define AU_FE_36_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_33_3(prefix, __VA_ARGS__))
#define AU_FE_38_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_34_3(prefix, __VA_ARGS__))
#define AU_FE_37_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_33_3(prefix, __VA_ARGS__))
#define AU_FE_39_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_36_3(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_37_3(prefix, __VA_ARGS__))
#define AU_FE_40_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_36_3(prefix, __VA_ARGS__))
#define AU_FE_42_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_39_3(prefix, __VA_ARGS__))
#define AU_FE_44_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_40_3(prefix, __VA_ARGS__))
#define AU_FE_43_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_39_3(prefix, __VA_ARGS__))
#define AU_FE_45_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_42_3(prefix, __VA_ARGS__))
#define AU_FE_47_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_43_3(prefix, __VA_ARGS__))
#define AU_FE_46_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_42_3(prefix, __VA_ARGS__))
#define AU_FE_48_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_45_3(prefix, __VA_ARGS__))
#define AU_FE_50_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_46_3(prefix, __VA_ARGS__))
#define AU_FE_49_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_45_3(prefix, __VA_ARGS__))
#define AU_FE_51_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_48_3(prefix, __VA_ARGS__))
#define AU_FE_53_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_49_3(prefix, __VA_ARGS__))
#define AU_FE_52_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_48_3(prefix, __VA_ARGS__))
#define AU_FE_54_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_51_3(prefix, __VA_ARGS__))
#define AU_FE_56_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_52_3(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_51_3(prefix, __VA_ARGS__))
#define AU_FE_57_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_54_3(prefix, __VA_ARGS__))
#define AU_FE_59_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_55_3(prefix, __VA_ARGS__))
#define AU_FE_58_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_54_3(prefix, __VA_ARGS__))
#define AU_FE_60_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_57_3(prefix, __VA_ARGS__))
#define AU_FE_62_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_58_3(prefix, __VA_ARGS__))
#define AU_FE_61_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_57_3(prefix, __VA_ARGS__))
#define AU_FE_63_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_60_3(prefix, __VA_ARGS__))
#define AU_FE_65_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_61_3(prefix, __VA_ARGS__))
#define AU_FE_64_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_60_3(prefix, __VA_ARGS__))
#define AU_FE_66_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_63_3(prefix, __VA_ARGS__))
#define AU_FE_68_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_64_3(prefix, __VA_ARGS__))
#define AU_FE_67_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_63_3(prefix, __VA_ARGS__))
#define AU_FE_69_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_66_3(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_67_3(prefix, __VA_ARGS__))
#define AU_FE_70_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_66_3(prefix, __VA_ARGS__))
#define AU_FE_72_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_69_3(prefix, __VA_ARGS__))
#define AU_FE_74_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_70_3(prefix, __VA_ARGS__))
#define AU_FE_73_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_69_3(prefix, __VA_ARGS__))
#define AU_FE_75_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_72_3(prefix, __VA_ARGS__))
#define AU_FE_77_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_73_3(prefix, __VA_ARGS__))
#define AU_FE_76_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_72_3(prefix, __VA_ARGS__))
#define AU_FE_78_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_75_3(prefix, __VA_ARGS__))
#define AU_FE_80_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_76_3(prefix, __VA_ARGS__))
#define AU_FE_79_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_75_3(prefix, __VA_ARGS__))
#define AU_FE_81_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_78_3(prefix, __VA_ARGS__))
#define AU_FE_83_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_79_3(prefix, __VA_ARGS__))
#define AU_FE_82_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_78_3(prefix, __VA_ARGS__))
#define AU_FE_84_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_81_3(prefix, __VA_ARGS__))
#define AU_FE_86_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_82_3(prefix, __VA_ARGS__))
#define AU_FE_85_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_81_3(prefix, __VA_ARGS__))
#define AU_FE_87_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_84_3(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_85_3(prefix, __VA_ARGS__))
#define AU_FE_88_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_84_3(prefix, __VA_ARGS__))
#define AU_FE_90_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_87_3(prefix, __VA_ARGS__))
#define AU_FE_92_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_88_3(prefix, __VA_ARGS__))
#define AU_FE_91_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_87_3(prefix, __VA_ARGS__))
#define AU_FE_93_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_90_3(prefix, __VA_ARGS__))
#define AU_FE_95_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_91_3(prefix, __VA_ARGS__))
#define AU_FE_94_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_90_3(prefix, __VA_ARGS__))
#define AU_FE_96_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_93_3(prefix, __VA_ARGS__))
#define AU_FE_98_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_94_3(prefix, __VA_ARGS__))
#define AU_FE_97_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_93_3(prefix, __VA_ARGS__))
#define AU_FE_99_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_96_3(prefix, __VA_ARGS__))
#define AU_FE_101_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_97_3(prefix, __VA_ARGS__))
#define AU_FE_100_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_96_3(prefix, __VA_ARGS__))
#define AU_FE_102_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_99_3(prefix, __VA_ARGS__))
#define AU_FE_104_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_100_3(prefix, __VA_ARGS__))
#define AU_FE_103_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_99_3(prefix, __VA_ARGS__))
#define AU_FE_105_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_102_3(prefix, __VA_ARGS__))
#define AU_FE_107_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_103_3(prefix, __VA_ARGS__))
#define AU_FE_106_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_102_3(prefix, __VA_ARGS__))
#define AU_FE_108_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_105_3(prefix, __VA_ARGS__))
#define AU_FE_110_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_106_3(prefix, __VA_ARGS__))
#define AU_FE_109_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_105_3(prefix, __VA_ARGS__))
#define AU_FE_111_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_108_3(prefix, __VA_ARGS__))
#define AU_FE_113_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_109_3(prefix, __VA_ARGS__))
#define AU_FE_112_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_108_3(prefix, __VA_ARGS__))
#define AU_FE_114_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_111_3(prefix, __VA_ARGS__))
#define AU_FE_116_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_112_3(prefix, __VA_ARGS__))
#define AU_FE_115_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_111_3(prefix, __VA_ARGS__))
#define AU_FE_117_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_114_3(prefix, __VA_ARGS__))
#define AU_FE_119_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_115_3(prefix, __VA_ARGS__))
#define AU_FE_118_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_114_3(prefix, __VA_ARGS__))
#define AU_FE_120_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_117_3(prefix, __VA_ARGS__))
#define AU_FE_122_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_118_3(prefix, __VA_ARGS__))
#define AU_FE_121_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_117_3(prefix, __VA_ARGS__))
#define AU_FE_123_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_120_3(prefix, __VA_ARGS__))
#define AU_FE_124_FIRST_3(first, prefix, X0, X1, X2, ...) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_120_3(prefix, __VA_ARGS__))
#define AU_GET_MACRO_3(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, NAME,...) NAME
#define AU_FOR_EACH_3(action, ...) AU_FE_EXPAND(AU_GET_MACRO_3(_whydoweneedthis, __VA_ARGS__, AU_FE_123_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_120_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_117_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_114_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_111_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_108_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_105_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_102_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_99_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_96_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_93_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_90_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_87_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_84_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_81_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_78_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_75_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_72_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_69_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_66_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_63_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_60_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_57_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_54_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_51_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_48_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_45_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_42_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_39_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_36_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_33_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_30_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_27_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_24_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_21_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_18_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_15_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_12_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_9_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_6_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_3_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_3)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_3(action, ...) AU_FE_EXPAND(AU_GET_MACRO_3(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_122_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_119_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_116_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_113_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_110_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_107_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_104_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_101_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_98_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_95_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_92_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_89_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_86_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_83_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_80_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_77_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_74_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_71_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_68_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_65_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_62_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_59_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_56_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_53_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_50_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_47_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_44_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_41_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_38_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_35_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_32_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_29_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_26_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_23_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_20_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_17_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_14_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_11_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_8_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_5_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_FIRST_3)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_3(action, ...) AU_FE_EXPAND(AU_GET_MACRO_3(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_121_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_118_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_115_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_112_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_109_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_106_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_103_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_100_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_97_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_94_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_91_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_88_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_85_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_82_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_79_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_76_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_73_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_70_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_67_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_64_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_61_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_58_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_55_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_52_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_49_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_46_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_43_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_40_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_37_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_34_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_31_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_28_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_25_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_22_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_19_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_16_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_13_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_10_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_7_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_4_FIRST_3, AU_FE_3_FIRST_3, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR)(action,__VA_ARGS__))
#define AU_FE_0_4(prefix)
#define AU_FE_4_4(prefix, X0, X1, X2, X3) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_0_4(prefix))
#define AU_FE_7_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_2_4(prefix, __VA_ARGS__))
#define AU_FE_5_FIRST_4(first, prefix, X0, X1, X2, X3) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_0_4(prefix))
#define AU_FE_8_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_4_4(prefix, __VA_ARGS__))
#define AU_FE_11_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_6_4(prefix, __VA_ARGS__))
#define AU_FE_9_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_4_4(prefix, __VA_ARGS__))
#define AU_FE_12_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_8_4(prefix, __VA_ARGS__))
#define AU_FE_15_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_10_4(prefix, __VA_ARGS__))
#define AU_FE_13_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_8_4(prefix, __VA_ARGS__))
#define AU_FE_16_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_12_4(prefix, __VA_ARGS__))
#define AU_FE_19_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_14_4(prefix, __VA_ARGS__))
#define AU_FE_17_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_12_4(prefix, __VA_ARGS__))
#define AU_FE_20_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_16_4(prefix, __VA_ARGS__))
#define AU_FE_23_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_18_4(prefix, __VA_ARGS__))
#define AU_FE_21_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_16_4(prefix, __VA_ARGS__))
#define AU_FE_24_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_20_4(prefix, __VA_ARGS__))
#define AU_FE_27_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_22_4(prefix, __VA_ARGS__))
#define AU_FE_25_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_20_4(prefix, __VA_ARGS__))
#define AU_FE_28_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_24_4(prefix, __VA_ARGS__))
#define AU_FE_31_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_26_4(prefix, __VA_ARGS__))
#define AU_FE_29_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_24_4(prefix, __VA_ARGS__))
#define AU_FE_32_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_28_4(prefix, __VA_ARGS__))
#define AU_FE_35_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_30_4(prefix, __VA_ARGS__))
#define AU_FE_33_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_28_4(prefix, __VA_ARGS__))
#define AU_FE_36_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_32_4(prefix, __VA_ARGS__))
#define AU_FE_39_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_34_4(prefix, __VA_ARGS__))
#define AU_FE_37_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_32_4(prefix, __VA_ARGS__))
#define AU_FE_40_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_36_4(prefix, __VA_ARGS__))
#define AU_FE_43_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_38_4(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_36_4(prefix, __VA_ARGS__))
#define AU_FE_44_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_40_4(prefix, __VA_ARGS__))
#define AU_FE_47_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_42_4(prefix, __VA_ARGS__))
#define AU_FE_45_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_40_4(prefix, __VA_ARGS__))
#define AU_FE_48_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_44_4(prefix, __VA_ARGS__))
#define AU_FE_51_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_46_4(prefix, __VA_ARGS__))
#define AU_FE_49_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_44_4(prefix, __VA_ARGS__))
#define AU_FE_52_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_48_4(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_50_4(prefix, __VA_ARGS__))
#define AU_FE_53_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_48_4(prefix, __VA_ARGS__))
#define AU_FE_56_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_52_4(prefix, __VA_ARGS__))
#define AU_FE_59_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_54_4(prefix, __VA_ARGS__))
#define AU_FE_57_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_52_4(prefix, __VA_ARGS__))
#define AU_FE_60_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_56_4(prefix, __VA_ARGS__))
#define AU_FE_63_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_58_4(prefix, __VA_ARGS__))
#define AU_FE_61_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_56_4(prefix, __VA_ARGS__))
#define AU_FE_64_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_60_4(prefix, __VA_ARGS__))
#define AU_FE_67_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_62_4(prefix, __VA_ARGS__))
#define AU_FE_65_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_60_4(prefix, __VA_ARGS__))
#define AU_FE_68_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_64_4(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_66_4(prefix, __VA_ARGS__))
#define AU_FE_69_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_64_4(prefix, __VA_ARGS__))
#define AU_FE_72_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_68_4(prefix, __VA_ARGS__))
#define AU_FE_75_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_70_4(prefix, __VA_ARGS__))
#define AU_FE_73_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_68_4(prefix, __VA_ARGS__))
#define AU_FE_76_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_72_4(prefix, __VA_ARGS__))
#define AU_FE_79_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_74_4(prefix, __VA_ARGS__))
#define AU_FE_77_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_72_4(prefix, __VA_ARGS__))
#define AU_FE_80_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_76_4(prefix, __VA_ARGS__))
#define AU_FE_83_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_78_4(prefix, __VA_ARGS__))
#define AU_FE_81_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_76_4(prefix, __VA_ARGS__))
#define AU_FE_84_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_80_4(prefix, __VA_ARGS__))
#define AU_FE_87_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_82_4(prefix, __VA_ARGS__))
#define AU_FE_85_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_80_4(prefix, __VA_ARGS__))
#define AU_FE_88_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_84_4(prefix, __VA_ARGS__))
#define AU_FE_91_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_86_4(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_84_4(prefix, __VA_ARGS__))
#define AU_FE_92_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_88_4(prefix, __VA_ARGS__))
#define AU_FE_95_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_90_4(prefix, __VA_ARGS__))
#define AU_FE_93_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_88_4(prefix, __VA_ARGS__))
#define AU_FE_96_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_92_4(prefix, __VA_ARGS__))
#define AU_FE_99_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_94_4(prefix, __VA_ARGS__))
#define AU_FE_97_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_92_4(prefix, __VA_ARGS__))
#define AU_FE_100_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_96_4(prefix, __VA_ARGS__))
#define AU_FE_103_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_98_4(prefix, __VA_ARGS__))
#define AU_FE_101_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_96_4(prefix, __VA_ARGS__))
#define AU_FE_104_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_100_4(prefix, __VA_ARGS__))
#define AU_FE_107_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_102_4(prefix, __VA_ARGS__))
#define AU_FE_105_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_100_4(prefix, __VA_ARGS__))
#define AU_FE_108_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_104_4(prefix, __VA_ARGS__))
#define AU_FE_111_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_106_4(prefix, __VA_ARGS__))
#define AU_FE_109_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_104_4(prefix, __VA_ARGS__))
#define AU_FE_112_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_108_4(prefix, __VA_ARGS__))
#define AU_FE_115_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_110_4(prefix, __VA_ARGS__))
#define AU_FE_113_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_108_4(prefix, __VA_ARGS__))
#define AU_FE_116_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_112_4(prefix, __VA_ARGS__))
#define AU_FE_119_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_114_4(prefix, __VA_ARGS__))
#define AU_FE_117_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_112_4(prefix, __VA_ARGS__))
#define AU_FE_120_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_116_4(prefix, __VA_ARGS__))
#define AU_FE_123_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_118_4(prefix, __VA_ARGS__))
#define AU_FE_121_FIRST_4(first, prefix, X0, X1, X2, X3, ...) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_116_4(prefix, __VA_ARGS__))
#define AU_GET_MACRO_4(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, NAME,...) NAME
#define AU_FOR_EACH_4(action, ...) AU_FE_EXPAND(AU_GET_MACRO_4(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_120_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_116_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_112_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_108_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_104_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_100_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_96_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_92_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_88_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_84_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_80_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_76_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_72_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_68_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_64_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_60_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_56_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_52_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_48_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_44_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_40_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_36_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_32_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_28_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_24_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_20_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_16_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_12_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_8_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_4_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_4)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_4(action, ...) AU_FE_EXPAND(AU_GET_MACRO_4(_whydoweneedthis, __VA_ARGS__, AU_FE_123_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_119_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_115_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_111_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_107_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_103_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_99_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_95_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_91_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_87_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_83_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_79_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_75_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_71_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_67_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_63_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_59_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_55_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_51_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_47_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_43_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_39_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_35_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_31_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_27_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_23_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_19_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_15_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_11_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_7_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_FIRST_4)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_4(action, ...) AU_FE_EXPAND(AU_GET_MACRO_4(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_121_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_117_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_113_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_109_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_105_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_101_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_97_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_93_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_89_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_85_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_81_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_77_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_73_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_69_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_65_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_61_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_57_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_53_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_49_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_45_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_41_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_37_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_33_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_29_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_25_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_21_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_17_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_13_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_9_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_5_FIRST_4, AU_FE_4_FIRST_4, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR)(action,__VA_ARGS__))
#define AU_FE_0_5(prefix)
#define AU_FE_5_5(prefix, X0, X1, X2, X3, X4) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_0_5(prefix))
#define AU_FE_9_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_3_5(prefix, __VA_ARGS__))
#define AU_FE_6_FIRST_5(first, prefix, X0, X1, X2, X3, X4) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_0_5(prefix))
#define AU_FE_10_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_5_5(prefix, __VA_ARGS__))
#define AU_FE_14_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_8_5(prefix, __VA_ARGS__))
#define AU_FE_11_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_5_5(prefix, __VA_ARGS__))
#define AU_FE_15_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_10_5(prefix, __VA_ARGS__))
#define AU_FE_19_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_13_5(prefix, __VA_ARGS__))
#define AU_FE_16_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_10_5(prefix, __VA_ARGS__))
#define AU_FE_20_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_15_5(prefix, __VA_ARGS__))
#define AU_FE_24_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_18_5(prefix, __VA_ARGS__))
#define AU_FE_21_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_15_5(prefix, __VA_ARGS__))
#define AU_FE_25_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_20_5(prefix, __VA_ARGS__))
#define AU_FE_29_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_23_5(prefix, __VA_ARGS__))
#define AU_FE_26_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_20_5(prefix, __VA_ARGS__))
#define AU_FE_30_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_25_5(prefix, __VA_ARGS__))
#define AU_FE_34_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_28_5(prefix, __VA_ARGS__))
#define AU_FE_31_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_25_5(prefix, __VA_ARGS__))
#define AU_FE_35_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_30_5(prefix, __VA_ARGS__))
#define AU_FE_39_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_33_5(prefix, __VA_ARGS__))
#define AU_FE_36_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_30_5(prefix, __VA_ARGS__))
#define AU_FE_40_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_35_5(prefix, __VA_ARGS__))
#define AU_FE_44_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_38_5(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_35_5(prefix, __VA_ARGS__))
#define AU_FE_45_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_40_5(prefix, __VA_ARGS__))
#define AU_FE_49_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_43_5(prefix, __VA_ARGS__))
#define AU_FE_46_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_40_5(prefix, __VA_ARGS__))
#define AU_FE_50_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_45_5(prefix, __VA_ARGS__))
#define AU_FE_54_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_48_5(prefix, __VA_ARGS__))
#define AU_FE_51_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_45_5(prefix, __VA_ARGS__))
#define AU_FE_55_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_50_5(prefix, __VA_ARGS__))
#define AU_FE_59_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_53_5(prefix, __VA_ARGS__))
#define AU_FE_56_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_50_5(prefix, __VA_ARGS__))
#define AU_FE_60_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_55_5(prefix, __VA_ARGS__))
#define AU_FE_64_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_58_5(prefix, __VA_ARGS__))
#define AU_FE_61_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_55_5(prefix, __VA_ARGS__))
#define AU_FE_65_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_60_5(prefix, __VA_ARGS__))
#define AU_FE_69_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_63_5(prefix, __VA_ARGS__))
#define AU_FE_66_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_60_5(prefix, __VA_ARGS__))
#define AU_FE_70_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_65_5(prefix, __VA_ARGS__))
#define AU_FE_74_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_68_5(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_65_5(prefix, __VA_ARGS__))
#define AU_FE_75_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_70_5(prefix, __VA_ARGS__))
#define AU_FE_79_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_73_5(prefix, __VA_ARGS__))
#define AU_FE_76_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_70_5(prefix, __VA_ARGS__))
#define AU_FE_80_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_75_5(prefix, __VA_ARGS__))
#define AU_FE_84_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_78_5(prefix, __VA_ARGS__))
#define AU_FE_81_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_75_5(prefix, __VA_ARGS__))
#define AU_FE_85_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_80_5(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_83_5(prefix, __VA_ARGS__))
#define AU_FE_86_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_80_5(prefix, __VA_ARGS__))
#define AU_FE_90_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_85_5(prefix, __VA_ARGS__))
#define AU_FE_94_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_88_5(prefix, __VA_ARGS__))
#define AU_FE_91_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_85_5(prefix, __VA_ARGS__))
#define AU_FE_95_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_90_5(prefix, __VA_ARGS__))
#define AU_FE_99_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_93_5(prefix, __VA_ARGS__))
#define AU_FE_96_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_90_5(prefix, __VA_ARGS__))
#define AU_FE_100_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_95_5(prefix, __VA_ARGS__))
#define AU_FE_104_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_98_5(prefix, __VA_ARGS__))
#define AU_FE_101_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_95_5(prefix, __VA_ARGS__))
#define AU_FE_105_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_100_5(prefix, __VA_ARGS__))
#define AU_FE_109_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_103_5(prefix, __VA_ARGS__))
#define AU_FE_106_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_100_5(prefix, __VA_ARGS__))
#define AU_FE_110_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_105_5(prefix, __VA_ARGS__))
#define AU_FE_114_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_108_5(prefix, __VA_ARGS__))
#define AU_FE_111_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_105_5(prefix, __VA_ARGS__))
#define AU_FE_115_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_110_5(prefix, __VA_ARGS__))
#define AU_FE_119_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_113_5(prefix, __VA_ARGS__))
#define AU_FE_116_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_110_5(prefix, __VA_ARGS__))
#define AU_FE_120_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_115_5(prefix, __VA_ARGS__))
#define AU_FE_121_FIRST_5(first, prefix, X0, X1, X2, X3, X4, ...) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_115_5(prefix, __VA_ARGS__))
#define AU_GET_MACRO_5(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, NAME,...) NAME
#define AU_FOR_EACH_5(action, ...) AU_FE_EXPAND(AU_GET_MACRO_5(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_120_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_115_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_110_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_105_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_100_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_95_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_90_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_85_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_80_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_75_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_70_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_65_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_60_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_55_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_50_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_45_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_40_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_35_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_30_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_25_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_20_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_15_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_10_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_5_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_5)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_5(action, ...) AU_FE_EXPAND(AU_GET_MACRO_5(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_119_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_114_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_109_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_104_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_99_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_94_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_89_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_84_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_79_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_74_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_69_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_64_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_59_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_54_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_49_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_44_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_39_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_34_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_29_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_24_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_19_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_14_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_9_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_FIRST_5)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_5(action, ...) AU_FE_EXPAND(AU_GET_MACRO_5(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_121_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_116_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_111_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_106_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_101_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_96_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_91_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_86_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_81_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_76_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_71_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_66_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_61_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_56_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_51_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_46_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_41_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_36_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_31_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_26_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_21_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_16_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_11_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_6_FIRST_5, AU_FE_5_FIRST_5, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR)(action,__VA_ARGS__))
#define AU_FE_0_6(prefix)
#define AU_FE_6_6(prefix, X0, X1, X2, X3, X4, X5) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_0_6(prefix))
#define AU_FE_11_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_4_6(prefix, __VA_ARGS__))
#define AU_FE_7_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_0_6(prefix))
#define AU_FE_12_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_6_6(prefix, __VA_ARGS__))
#define AU_FE_17_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_10_6(prefix, __VA_ARGS__))
#define AU_FE_13_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_6_6(prefix, __VA_ARGS__))
#define AU_FE_18_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_12_6(prefix, __VA_ARGS__))
#define AU_FE_23_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_16_6(prefix, __VA_ARGS__))
#define AU_FE_19_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_12_6(prefix, __VA_ARGS__))
#define AU_FE_24_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_18_6(prefix, __VA_ARGS__))
#define AU_FE_29_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_22_6(prefix, __VA_ARGS__))
#define AU_FE_25_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_18_6(prefix, __VA_ARGS__))
#define AU_FE_30_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_24_6(prefix, __VA_ARGS__))
#define AU_FE_35_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_28_6(prefix, __VA_ARGS__))
#define AU_FE_31_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_24_6(prefix, __VA_ARGS__))
#define AU_FE_36_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_30_6(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_34_6(prefix, __VA_ARGS__))
#define AU_FE_37_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_30_6(prefix, __VA_ARGS__))
#define AU_FE_42_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_36_6(prefix, __VA_ARGS__))
#define AU_FE_47_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_40_6(prefix, __VA_ARGS__))
#define AU_FE_43_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_36_6(prefix, __VA_ARGS__))
#define AU_FE_48_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_42_6(prefix, __VA_ARGS__))
#define AU_FE_53_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_46_6(prefix, __VA_ARGS__))
#define AU_FE_49_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_42_6(prefix, __VA_ARGS__))
#define AU_FE_54_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_48_6(prefix, __VA_ARGS__))
#define AU_FE_59_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_52_6(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_48_6(prefix, __VA_ARGS__))
#define AU_FE_60_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_54_6(prefix, __VA_ARGS__))
#define AU_FE_65_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_58_6(prefix, __VA_ARGS__))
#define AU_FE_61_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_54_6(prefix, __VA_ARGS__))
#define AU_FE_66_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_60_6(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_64_6(prefix, __VA_ARGS__))
#define AU_FE_67_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_60_6(prefix, __VA_ARGS__))
#define AU_FE_72_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_66_6(prefix, __VA_ARGS__))
#define AU_FE_77_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_70_6(prefix, __VA_ARGS__))
#define AU_FE_73_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_66_6(prefix, __VA_ARGS__))
#define AU_FE_78_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_72_6(prefix, __VA_ARGS__))
#define AU_FE_83_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_76_6(prefix, __VA_ARGS__))
#define AU_FE_79_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_72_6(prefix, __VA_ARGS__))
#define AU_FE_84_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_78_6(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_82_6(prefix, __VA_ARGS__))
#define AU_FE_85_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_78_6(prefix, __VA_ARGS__))
#define AU_FE_90_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_84_6(prefix, __VA_ARGS__))
#define AU_FE_95_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_88_6(prefix, __VA_ARGS__))
#define AU_FE_91_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_84_6(prefix, __VA_ARGS__))
#define AU_FE_96_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_90_6(prefix, __VA_ARGS__))
#define AU_FE_101_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_94_6(prefix, __VA_ARGS__))
#define AU_FE_97_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_90_6(prefix, __VA_ARGS__))
#define AU_FE_102_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_96_6(prefix, __VA_ARGS__))
#define AU_FE_107_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_100_6(prefix, __VA_ARGS__))
#define AU_FE_103_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_96_6(prefix, __VA_ARGS__))
#define AU_FE_108_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_102_6(prefix, __VA_ARGS__))
#define AU_FE_113_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_106_6(prefix, __VA_ARGS__))
#define AU_FE_109_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_102_6(prefix, __VA_ARGS__))
#define AU_FE_114_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_108_6(prefix, __VA_ARGS__))
#define AU_FE_119_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_112_6(prefix, __VA_ARGS__))
#define AU_FE_115_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_108_6(prefix, __VA_ARGS__))
#define AU_FE_120_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_114_6(prefix, __VA_ARGS__))
#define AU_FE_121_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5, ...) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_114_6(prefix, __VA_ARGS__))
#define AU_GET_MACRO_6(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, NAME,...) NAME
#define AU_FOR_EACH_6(action, ...) AU_FE_EXPAND(AU_GET_MACRO_6(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_120_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_114_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_108_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_102_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_96_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_90_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_84_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_78_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_72_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_66_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_60_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_54_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_48_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_42_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_36_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_30_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_24_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_18_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_12_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_6_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_6)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_6(action, ...) AU_FE_EXPAND(AU_GET_MACRO_6(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_119_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_113_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_107_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_101_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_95_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_89_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_83_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_77_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_71_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_65_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_59_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_53_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_47_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_41_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_35_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_29_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_23_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_17_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_11_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_FIRST_6)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_6(action, ...) AU_FE_EXPAND(AU_GET_MACRO_6(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_121_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_115_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_109_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_103_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_97_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_91_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_85_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_79_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_73_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_67_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_61_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_55_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_49_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_43_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_37_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_31_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_25_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_19_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_13_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_7_FIRST_6, AU_FE_6_FIRST_6, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR)(action,__VA_ARGS__))
#define AU_FE_0_7(prefix)
#define AU_FE_7_7(prefix, X0, X1, X2, X3, X4, X5, X6) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_0_7(prefix))
#define AU_FE_13_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_5_7(prefix, __VA_ARGS__))
#define AU_FE_8_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_0_7(prefix))
#define AU_FE_14_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_7_7(prefix, __VA_ARGS__))
#define AU_FE_20_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_12_7(prefix, __VA_ARGS__))
#define AU_FE_15_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_7_7(prefix, __VA_ARGS__))
#define AU_FE_21_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_14_7(prefix, __VA_ARGS__))
#define AU_FE_27_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_19_7(prefix, __VA_ARGS__))
#define AU_FE_22_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_14_7(prefix, __VA_ARGS__))
#define AU_FE_28_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_21_7(prefix, __VA_ARGS__))
#define AU_FE_34_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_26_7(prefix, __VA_ARGS__))
#define AU_FE_29_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_21_7(prefix, __VA_ARGS__))
#define AU_FE_35_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_28_7(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_33_7(prefix, __VA_ARGS__))
#define AU_FE_36_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_28_7(prefix, __VA_ARGS__))
#define AU_FE_42_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_35_7(prefix, __VA_ARGS__))
#define AU_FE_48_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_40_7(prefix, __VA_ARGS__))
#define AU_FE_43_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_35_7(prefix, __VA_ARGS__))
#define AU_FE_49_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_42_7(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_47_7(prefix, __VA_ARGS__))
#define AU_FE_50_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_42_7(prefix, __VA_ARGS__))
#define AU_FE_56_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_49_7(prefix, __VA_ARGS__))
#define AU_FE_62_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_54_7(prefix, __VA_ARGS__))
#define AU_FE_57_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_49_7(prefix, __VA_ARGS__))
#define AU_FE_63_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_56_7(prefix, __VA_ARGS__))
#define AU_FE_69_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_61_7(prefix, __VA_ARGS__))
#define AU_FE_64_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_56_7(prefix, __VA_ARGS__))
#define AU_FE_70_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_63_7(prefix, __VA_ARGS__))
#define AU_FE_76_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_68_7(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_63_7(prefix, __VA_ARGS__))
#define AU_FE_77_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_70_7(prefix, __VA_ARGS__))
#define AU_FE_83_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_75_7(prefix, __VA_ARGS__))
#define AU_FE_78_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_70_7(prefix, __VA_ARGS__))
#define AU_FE_84_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_77_7(prefix, __VA_ARGS__))
#define AU_FE_90_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_82_7(prefix, __VA_ARGS__))
#define AU_FE_85_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_77_7(prefix, __VA_ARGS__))
#define AU_FE_91_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_84_7(prefix, __VA_ARGS__))
#define AU_FE_97_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_89_7(prefix, __VA_ARGS__))
#define AU_FE_92_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_84_7(prefix, __VA_ARGS__))
#define AU_FE_98_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_91_7(prefix, __VA_ARGS__))
#define AU_FE_104_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_96_7(prefix, __VA_ARGS__))
#define AU_FE_99_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_91_7(prefix, __VA_ARGS__))
#define AU_FE_105_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_98_7(prefix, __VA_ARGS__))
#define AU_FE_111_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_103_7(prefix, __VA_ARGS__))
#define AU_FE_106_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_98_7(prefix, __VA_ARGS__))
#define AU_FE_112_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_105_7(prefix, __VA_ARGS__))
#define AU_FE_118_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_110_7(prefix, __VA_ARGS__))
#define AU_FE_113_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_105_7(prefix, __VA_ARGS__))
#define AU_FE_119_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_112_7(prefix, __VA_ARGS__))
#define AU_FE_120_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6, ...) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_112_7(prefix, __VA_ARGS__))
#define AU_GET_MACRO_7(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, NAME,...) NAME
#define AU_FOR_EACH_7(action, ...) AU_FE_EXPAND(AU_GET_MACRO_7(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_119_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_112_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_105_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_98_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_91_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_84_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_77_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_70_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_63_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_56_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_49_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_42_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_35_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_28_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_21_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_14_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_7_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_7)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_7(action, ...) AU_FE_EXPAND(AU_GET_MACRO_7(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_118_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_111_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_104_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_97_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_90_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_83_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_76_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_69_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_62_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_55_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_48_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_41_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_34_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_27_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_20_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_13_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_FIRST_7)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_7(action, ...) AU_FE_EXPAND(AU_GET_MACRO_7(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_120_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_113_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_106_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_99_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_92_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_85_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_78_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_71_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_64_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_57_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_50_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_43_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_36_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_29_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_22_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_15_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_8_FIRST_7, AU_FE_7_FIRST_7, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR)(action,__VA_ARGS__))
#define AU_FE_0_8(prefix)
#define AU_FE_8_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_0_8(prefix))
#define AU_FE_15_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_6_8(prefix, __VA_ARGS__))
#define AU_FE_9_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_0_8(prefix))
#define AU_FE_16_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_8_8(prefix, __VA_ARGS__))
#define AU_FE_23_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_14_8(prefix, __VA_ARGS__))
#define AU_FE_17_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_8_8(prefix, __VA_ARGS__))
#define AU_FE_24_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_16_8(prefix, __VA_ARGS__))
#define AU_FE_31_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_22_8(prefix, __VA_ARGS__))
#define AU_FE_25_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_16_8(prefix, __VA_ARGS__))
#define AU_FE_32_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_24_8(prefix, __VA_ARGS__))
#define AU_FE_39_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_30_8(prefix, __VA_ARGS__))
#define AU_FE_33_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_24_8(prefix, __VA_ARGS__))
#define AU_FE_40_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_32_8(prefix, __VA_ARGS__))
#define AU_FE_47_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_38_8(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_32_8(prefix, __VA_ARGS__))
#define AU_FE_48_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_40_8(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_46_8(prefix, __VA_ARGS__))
#define AU_FE_49_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_40_8(prefix, __VA_ARGS__))
#define AU_FE_56_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_48_8(prefix, __VA_ARGS__))
#define AU_FE_63_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_54_8(prefix, __VA_ARGS__))
#define AU_FE_57_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_48_8(prefix, __VA_ARGS__))
#define AU_FE_64_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_56_8(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_62_8(prefix, __VA_ARGS__))
#define AU_FE_65_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_56_8(prefix, __VA_ARGS__))
#define AU_FE_72_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_64_8(prefix, __VA_ARGS__))
#define AU_FE_79_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_70_8(prefix, __VA_ARGS__))
#define AU_FE_73_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_64_8(prefix, __VA_ARGS__))
#define AU_FE_80_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_72_8(prefix, __VA_ARGS__))
#define AU_FE_87_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_78_8(prefix, __VA_ARGS__))
#define AU_FE_81_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_72_8(prefix, __VA_ARGS__))
#define AU_FE_88_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_80_8(prefix, __VA_ARGS__))
#define AU_FE_95_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_86_8(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_80_8(prefix, __VA_ARGS__))
#define AU_FE_96_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_88_8(prefix, __VA_ARGS__))
#define AU_FE_103_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_94_8(prefix, __VA_ARGS__))
#define AU_FE_97_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_88_8(prefix, __VA_ARGS__))
#define AU_FE_104_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_96_8(prefix, __VA_ARGS__))
#define AU_FE_111_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_102_8(prefix, __VA_ARGS__))
#define AU_FE_105_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_96_8(prefix, __VA_ARGS__))
#define AU_FE_112_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_104_8(prefix, __VA_ARGS__))
#define AU_FE_119_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_110_8(prefix, __VA_ARGS__))
#define AU_FE_113_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_104_8(prefix, __VA_ARGS__))
#define AU_FE_120_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_112_8(prefix, __VA_ARGS__))
#define AU_FE_121_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_112_8(prefix, __VA_ARGS__))
#define AU_GET_MACRO_8(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, NAME,...) NAME
#define AU_FOR_EACH_8(action, ...) AU_FE_EXPAND(AU_GET_MACRO_8(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_120_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_112_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_104_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_96_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_88_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_80_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_72_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_64_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_56_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_48_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_40_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_32_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_24_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_16_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_8_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_8)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_8(action, ...) AU_FE_EXPAND(AU_GET_MACRO_8(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_119_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_111_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_103_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_95_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_87_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_79_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_71_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_63_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_55_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_47_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_39_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_31_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_23_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_15_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_FIRST_8)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_8(action, ...) AU_FE_EXPAND(AU_GET_MACRO_8(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_121_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_113_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_105_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_97_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_89_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_81_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_73_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_65_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_57_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_49_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_41_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_33_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_25_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_17_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_9_FIRST_8, AU_FE_8_FIRST_8, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR)(action,__VA_ARGS__))
#define AU_FE_0_9(prefix)
#define AU_FE_9_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_0_9(prefix))
#define AU_FE_17_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_7_9(prefix, __VA_ARGS__))
#define AU_FE_10_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_0_9(prefix))
#define AU_FE_18_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_9_9(prefix, __VA_ARGS__))
#define AU_FE_26_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_16_9(prefix, __VA_ARGS__))
#define AU_FE_19_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_9_9(prefix, __VA_ARGS__))
#define AU_FE_27_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_18_9(prefix, __VA_ARGS__))
#define AU_FE_35_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_25_9(prefix, __VA_ARGS__))
#define AU_FE_28_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_18_9(prefix, __VA_ARGS__))
#define AU_FE_36_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_27_9(prefix, __VA_ARGS__))
#define AU_FE_44_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_34_9(prefix, __VA_ARGS__))
#define AU_FE_37_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_27_9(prefix, __VA_ARGS__))
#define AU_FE_45_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_36_9(prefix, __VA_ARGS__))
#define AU_FE_53_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_43_9(prefix, __VA_ARGS__))
#define AU_FE_46_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_36_9(prefix, __VA_ARGS__))
#define AU_FE_54_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_45_9(prefix, __VA_ARGS__))
#define AU_FE_62_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_52_9(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_45_9(prefix, __VA_ARGS__))
#define AU_FE_63_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_54_9(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_61_9(prefix, __VA_ARGS__))
#define AU_FE_64_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_54_9(prefix, __VA_ARGS__))
#define AU_FE_72_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_63_9(prefix, __VA_ARGS__))
#define AU_FE_80_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_70_9(prefix, __VA_ARGS__))
#define AU_FE_73_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_63_9(prefix, __VA_ARGS__))
#define AU_FE_81_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_72_9(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_79_9(prefix, __VA_ARGS__))
#define AU_FE_82_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_72_9(prefix, __VA_ARGS__))
#define AU_FE_90_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_81_9(prefix, __VA_ARGS__))
#define AU_FE_98_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_88_9(prefix, __VA_ARGS__))
#define AU_FE_91_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_81_9(prefix, __VA_ARGS__))
#define AU_FE_99_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_90_9(prefix, __VA_ARGS__))
#define AU_FE_107_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_97_9(prefix, __VA_ARGS__))
#define AU_FE_100_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_90_9(prefix, __VA_ARGS__))
#define AU_FE_108_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_99_9(prefix, __VA_ARGS__))
#define AU_FE_116_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_106_9(prefix, __VA_ARGS__))
#define AU_FE_109_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_99_9(prefix, __VA_ARGS__))
#define AU_FE_117_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_108_9(prefix, __VA_ARGS__))
#define AU_FE_118_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_108_9(prefix, __VA_ARGS__))
#define AU_GET_MACRO_9(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, NAME,...) NAME
#define AU_FOR_EACH_9(action, ...) AU_FE_EXPAND(AU_GET_MACRO_9(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_117_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_108_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_99_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_90_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_81_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_72_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_63_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_54_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_45_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_36_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_27_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_18_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_9_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_9)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_9(action, ...) AU_FE_EXPAND(AU_GET_MACRO_9(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_116_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_107_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_98_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_89_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_80_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_71_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_62_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_53_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_44_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_35_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_26_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_17_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_0_FIRST_9)(action,__VA_ARGS__))
#define AU_FOR_EACH_FIRST_9(action, ...) AU_FE_EXPAND(AU_GET_MACRO_9(_whydoweneedthis, __VA_ARGS__, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_118_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_109_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_100_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_91_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_82_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_73_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_64_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_55_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_46_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_37_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_28_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_19_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_10_FIRST_9, AU_FE_9_FIRST_9, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR, AU_FE_ERROR)(action,__VA_ARGS__))

View File

@ -1,6 +1,7 @@
var fs = require("fs")
var n = 100
var subn = 10
const fs = require("fs")
const n = 100
const subn = 10
const kMacroParamLimit = 127
function forN(n, cb) {
for (var i = 0; i < n; i++) {
@ -53,14 +54,15 @@ textBuffer +=
forN(subn, function(subN) {
if (!subN) return
var suffix = subN != 1 ? "_" + (subN): ""
var suffix2 = subN != 1 ? "_" + (subN): ""
var re = Math.min(127 - 3, n * subN)
var re = Math.min(kMacroParamLimit - 3, n * subN)
var ignoreList = {}
var ignoreList2 = {}
forN(re, function(i) {
if (i == 0) textBuffer += `#define AU_FE_0${suffix}(prefix) \n`
else {
if (i == 0) {
textBuffer += `#define AU_FE_0${suffix}(prefix) \n`
ignoreList2[`AU_FE_0_FIRST${suffix}`] = true
} else {
var X = formatNParamPattern(subN, "X")
var iM1 = i - 1
var iM1Translated = i - subN
@ -79,20 +81,22 @@ forN(subn, function(subN) {
}
var I2 = i + 1
if ((I2 % (subN) == 0) && (i >= subN)) {
if ((i - 1) == subN) {
textBuffer += `#define AU_FE_${i}_FIRST${suffix2}(first, prefix, ${X}) first(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated2}${suffix}(prefix))\n`
if (i < subN) {
ignoreList2[`AU_FE_${i}_FIRST${suffix}`] = true
} else if ((i % (subN) == 0)) {
if (i == subN) {
textBuffer += `#define AU_FE_${I2}_FIRST${suffix}(first, prefix, ${X}) first(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated}${suffix}(prefix))\n`
} else {
textBuffer += `#define AU_FE_${i}_FIRST${suffix2}(first, prefix, ${X}, ...) first(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated2}${suffix}(prefix, __VA_ARGS__))\n`
textBuffer += `#define AU_FE_${I2}_FIRST${suffix}(first, prefix, ${X}, ...) first(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated}${suffix}(prefix, __VA_ARGS__))\n`
}
} else {
ignoreList2[`AU_FE_${i}_FIRST${suffix2}`] = true
ignoreList2[`AU_FE_${I2}_FIRST${suffix}`] = true
}
}
})
var GET_MACRO_PARAMS = formatNParamPattern(re, "_")
textBuffer += `#define AU_GET_MACRO${suffix}(${GET_MACRO_PARAMS}, NAME,...) NAME\n`
var getMacroParams = formatNParamPattern(re, "_")
textBuffer += `#define AU_GET_MACRO${suffix}(${getMacroParams}, NAME,...) NAME\n`
var params = formatNParamPatternReverseSuffix(re, "AU_FE_", suffix)
var params2 = formatNParamPatternReverseSuffix(re, "AU_FE_", "_FIRST" + suffix)