@bool-ts/guard-sdk 1.0.2-beta.5 → 1.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/decorators/actionGuard.decorator.d.ts +3 -1
  2. package/dist/decorators/controllerGuard.decorator.d.ts +2 -1
  3. package/dist/decorators/index.d.ts +0 -2
  4. package/dist/definers/index.d.ts +1 -0
  5. package/dist/definers/policies.d.ts +5 -0
  6. package/dist/definers/resources.d.ts +8 -0
  7. package/dist/entities/loader.d.ts +7 -2
  8. package/dist/index.js +12 -12
  9. package/dist/index.js.map +9 -11
  10. package/dist/instances/client.d.ts +7 -4
  11. package/dist/interfaces/client.interface.d.ts +9 -4
  12. package/dist/interfaces/index.d.ts +1 -1
  13. package/dist/types/actionGuard.d.ts +8 -0
  14. package/dist/types/controllerGuard.d.ts +6 -0
  15. package/dist/types/index.d.ts +3 -0
  16. package/dist/types/policies.d.ts +11 -0
  17. package/dist/types/resources.d.ts +6 -0
  18. package/dist/ultils/functions/deepFreeze.d.ts +7 -0
  19. package/dist/ultils/functions/index.d.ts +1 -0
  20. package/dist/ultils/types/constructor.d.ts +1 -0
  21. package/dist/ultils/types/enforceUnique.d.ts +8 -0
  22. package/dist/ultils/types/error.d.ts +3 -0
  23. package/dist/ultils/types/extractTuple.d.ts +1 -0
  24. package/dist/ultils/types/inArray.d.ts +1 -0
  25. package/dist/ultils/types/index.d.ts +14 -0
  26. package/dist/ultils/types/mergeTuple.d.ts +3 -0
  27. package/dist/ultils/types/noneEmptyArray.d.ts +1 -0
  28. package/dist/ultils/types/partialTuple.d.ts +1 -0
  29. package/dist/ultils/types/partialTupleUnordered.d.ts +3 -0
  30. package/dist/ultils/types/partialTupleUnorderedNonEmpty.d.ts +3 -0
  31. package/dist/ultils/types/partialTurpleNonEmpty.d.ts +5 -0
  32. package/dist/ultils/types/permutationTuple.d.ts +1 -0
  33. package/dist/ultils/types/shuffleTuple.d.ts +5 -0
  34. package/dist/ultils/types/strictPartial.d.ts +5 -0
  35. package/package.json +4 -4
  36. package/src/decorators/actionGuard.decorator.ts +18 -3
  37. package/src/decorators/controllerGuard.decorator.ts +7 -3
  38. package/src/decorators/index.ts +0 -2
  39. package/src/definers/index.ts +1 -0
  40. package/src/definers/policies.ts +24 -0
  41. package/src/definers/resources.ts +47 -0
  42. package/src/entities/loader.ts +17 -3
  43. package/src/instances/client.ts +135 -57
  44. package/src/interfaces/client.interface.ts +18 -6
  45. package/src/interfaces/index.ts +2 -1
  46. package/src/types/actionGuard.ts +11 -0
  47. package/src/types/controllerGuard.ts +8 -0
  48. package/src/types/index.ts +3 -0
  49. package/src/types/policies.ts +36 -0
  50. package/src/types/resources.ts +10 -0
  51. package/src/ultils/functions/deepFreeze.ts +19 -0
  52. package/src/ultils/functions/index.ts +1 -0
  53. package/src/ultils/types/constructor.ts +1 -0
  54. package/src/ultils/types/enforceUnique.ts +30 -0
  55. package/src/ultils/types/error.ts +1 -0
  56. package/src/ultils/types/extractTuple.ts +1 -0
  57. package/src/ultils/types/inArray.ts +7 -0
  58. package/src/ultils/types/index.ts +14 -0
  59. package/src/ultils/types/mergeTuple.ts +3 -0
  60. package/src/ultils/types/noneEmptyArray.ts +1 -0
  61. package/src/ultils/types/partialTuple.ts +3 -0
  62. package/src/ultils/types/partialTupleUnordered.ts +8 -0
  63. package/src/ultils/types/partialTupleUnorderedNonEmpty.ts +9 -0
  64. package/src/ultils/types/partialTurpleNonEmpty.ts +8 -0
  65. package/src/ultils/types/permutationTuple.ts +5 -0
  66. package/src/ultils/types/shuffleTuple.ts +7 -0
  67. package/src/ultils/types/strictPartial.ts +5 -0
@@ -0,0 +1,8 @@
1
+ import type { TPolicyDefinition, TResourceDefinition } from "../types";
2
+ import type { TEnforceUnique } from "../ultils/types";
3
+ export declare const defineResources: <const T extends readonly TResourceDefinition[]>(resources: TEnforceUnique<T, "type">) => Readonly<{
4
+ resources: TEnforceUnique<T, "type"> extends infer T_1 ? T_1 extends TEnforceUnique<T, "type"> ? T_1 extends (...args: any[]) => any ? T_1 : T_1 extends readonly any[] ? { readonly [K in keyof T_1]: T_1[K] extends infer T_2 ? T_2 extends T_1[K] ? T_2 extends (...args: any[]) => any ? T_2 : T_2 extends readonly any[] ? { readonly [K_2 in keyof T_2]: T_2[K_2] extends infer T_3 ? T_3 extends T_2[K_2] ? T_3 extends (...args: any[]) => any ? T_3 : T_3 extends readonly any[] ? { readonly [K_3 in keyof T_3]: T_3[K_3] extends infer T_4 ? T_4 extends T_3[K_3] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_4 in keyof T_4]: T_4[K_4] extends infer T_5 ? T_5 extends T_4[K_4] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_5 in keyof T_5]: T_5[K_5] extends infer T_6 ? T_6 extends T_5[K_5] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_6 in keyof T_6]: T_6[K_6] extends infer T_7 ? T_7 extends T_6[K_6] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_7 in keyof T_7]: T_7[K_7] extends infer T_8 ? T_8 extends T_7[K_7] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_8 in keyof T_8]: T_8[K_8] extends infer T_9 ? T_9 extends T_8[K_8] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_9 in keyof T_9]: T_9[K_9] extends infer T_10 ? T_10 extends T_9[K_9] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_10 in keyof T_10]: T_10[K_10] extends infer T_11 ? T_11 extends T_10[K_10] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_11 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_12 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_11 in keyof T_10]: T_10[K_11] extends infer T_11 ? T_11 extends T_10[K_11] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_10 in keyof T_9]: T_9[K_10] extends infer T_10 ? T_10 extends T_9[K_10] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_9 in keyof T_8]: T_8[K_9] extends infer T_9 ? T_9 extends T_8[K_9] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_8 in keyof T_7]: T_7[K_8] extends infer T_8 ? T_8 extends T_7[K_8] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_10 in keyof T_8]: T_8[K_10] extends infer T_9 ? T_9 extends T_8[K_10] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_7 in keyof T_6]: T_6[K_7] extends infer T_7 ? T_7 extends T_6[K_7] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_10 in keyof T_8]: T_8[K_10] extends infer T_9 ? T_9 extends T_8[K_10] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_6 in keyof T_5]: T_5[K_6] extends infer T_6 ? T_6 extends T_5[K_6] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_10 in keyof T_8]: T_8[K_10] extends infer T_9 ? T_9 extends T_8[K_10] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_5 in keyof T_4]: T_4[K_5] extends infer T_5 ? T_5 extends T_4[K_5] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_10 in keyof T_8]: T_8[K_10] extends infer T_9 ? T_9 extends T_8[K_10] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 extends object ? { readonly [K_4 in keyof T_3]: T_3[K_4] extends infer T_4 ? T_4 extends T_3[K_4] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_10 in keyof T_8]: T_8[K_10] extends infer T_9 ? T_9 extends T_8[K_10] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 extends object ? { readonly [K_3 in keyof T_2]: T_2[K_3] extends infer T_3 ? T_3 extends T_2[K_3] ? T_3 extends (...args: any[]) => any ? T_3 : T_3 extends readonly any[] ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_10 in keyof T_8]: T_8[K_10] extends infer T_9 ? T_9 extends T_8[K_10] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 extends object ? { readonly [K_1 in keyof T_1]: T_1[K_1] extends infer T_2 ? T_2 extends T_1[K_1] ? T_2 extends (...args: any[]) => any ? T_2 : T_2 extends readonly any[] ? { readonly [K_3 in keyof T_2]: T_2[K_3] extends infer T_3 ? T_3 extends T_2[K_3] ? T_3 extends (...args: any[]) => any ? T_3 : T_3 extends readonly any[] ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_10 in keyof T_8]: T_8[K_10] extends infer T_9 ? T_9 extends T_8[K_10] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (...args: any[]) => any ? T_3 : T_3 extends readonly any[] ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_14 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: /*elided*/ any; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: /*elided*/ any; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never;
5
+ definePolicies: <const K_2 extends readonly TPolicyDefinition<T>[]>(policies: TEnforceUnique<K_2, "alias">) => Readonly<{
6
+ policies: TEnforceUnique<K_2, "alias"> extends infer T_2 ? T_2 extends TEnforceUnique<K_2, "alias"> ? T_2 extends (...args: any[]) => any ? T_2 : T_2 extends readonly any[] ? { readonly [K_3 in keyof T_2]: T_2[K_3] extends infer T_3 ? T_3 extends T_2[K_3] ? T_3 extends (...args: any[]) => any ? T_3 : T_3 extends readonly any[] ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_10 in keyof T_8]: T_8[K_10] extends infer T_9 ? T_9 extends T_8[K_10] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_11 in keyof T_9]: T_9[K_11] extends infer T_10 ? T_10 extends T_9[K_11] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_12 in keyof T_10]: T_10[K_12] extends infer T_11 ? T_11 extends T_10[K_12] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_13 in keyof T_11]: T_11[K_13] extends infer T_12 ? T_12 extends T_11[K_13] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_14 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_15 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_14 in keyof T_11]: T_11[K_14] extends infer T_12 ? T_12 extends T_11[K_14] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_13 in keyof T_10]: T_10[K_13] extends infer T_11 ? T_11 extends T_10[K_13] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_12 in keyof T_9]: T_9[K_12] extends infer T_10 ? T_10 extends T_9[K_12] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_9 in keyof T_4]: T_4[K_9] extends infer T_5 ? T_5 extends T_4[K_9] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_11 in keyof T_5]: T_5[K_11] extends infer T_6 ? T_6 extends T_5[K_11] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_13 in keyof T_6]: T_6[K_13] extends infer T_7 ? T_7 extends T_6[K_13] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_15 in keyof T_7]: T_7[K_15] extends infer T_8 ? T_8 extends T_7[K_15] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_17 in keyof T_8]: T_8[K_17] extends infer T_9 ? T_9 extends T_8[K_17] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_19 in keyof T_9]: T_9[K_19] extends infer T_10 ? T_10 extends T_9[K_19] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (...args: any[]) => any ? T_3 : T_3 extends readonly any[] ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_12 in keyof T_8]: T_8[K_12] extends infer T_9 ? T_9 extends T_8[K_12] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_13 in keyof T_9]: T_9[K_13] extends infer T_10 ? T_10 extends T_9[K_13] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_14 in keyof T_10]: T_10[K_14] extends infer T_11 ? T_11 extends T_10[K_14] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_15 in keyof T_11]: T_11[K_15] extends infer T_12 ? T_12 extends T_11[K_15] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_16 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_9 in keyof T_4]: T_4[K_9] extends infer T_5 ? T_5 extends T_4[K_9] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_11 in keyof T_5]: T_5[K_11] extends infer T_6 ? T_6 extends T_5[K_11] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_13 in keyof T_6]: T_6[K_13] extends infer T_7 ? T_7 extends T_6[K_13] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_15 in keyof T_7]: T_7[K_15] extends infer T_8 ? T_8 extends T_7[K_15] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_17 in keyof T_8]: T_8[K_17] extends infer T_9 ? T_9 extends T_8[K_17] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_19 in keyof T_9]: T_9[K_19] extends infer T_10 ? T_10 extends T_9[K_19] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 extends object ? { readonly [K_7 in keyof T_3]: T_3[K_7] extends infer T_4 ? T_4 extends T_3[K_7] ? T_4 extends (...args: any[]) => any ? T_4 : T_4 extends readonly any[] ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_11 in keyof T_6]: T_6[K_11] extends infer T_7 ? T_7 extends T_6[K_11] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_12 in keyof T_7]: T_7[K_12] extends infer T_8 ? T_8 extends T_7[K_12] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_13 in keyof T_8]: T_8[K_13] extends infer T_9 ? T_9 extends T_8[K_13] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_14 in keyof T_9]: T_9[K_14] extends infer T_10 ? T_10 extends T_9[K_14] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_15 in keyof T_10]: T_10[K_15] extends infer T_11 ? T_11 extends T_10[K_15] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_16 in keyof T_11]: T_11[K_16] extends infer T_12 ? T_12 extends T_11[K_16] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_17 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_11 in keyof T_5]: T_5[K_11] extends infer T_6 ? T_6 extends T_5[K_11] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_13 in keyof T_6]: T_6[K_13] extends infer T_7 ? T_7 extends T_6[K_13] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_15 in keyof T_7]: T_7[K_15] extends infer T_8 ? T_8 extends T_7[K_15] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_17 in keyof T_8]: T_8[K_17] extends infer T_9 ? T_9 extends T_8[K_17] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_19 in keyof T_9]: T_9[K_19] extends infer T_10 ? T_10 extends T_9[K_19] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 extends object ? { readonly [K_9 in keyof T_4]: T_4[K_9] extends infer T_5 ? T_5 extends T_4[K_9] ? T_5 extends (...args: any[]) => any ? T_5 : T_5 extends readonly any[] ? { readonly [K_10 in keyof T_5]: T_5[K_10] extends infer T_6 ? T_6 extends T_5[K_10] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_13 in keyof T_7]: T_7[K_13] extends infer T_8 ? T_8 extends T_7[K_13] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_14 in keyof T_8]: T_8[K_14] extends infer T_9 ? T_9 extends T_8[K_14] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_15 in keyof T_9]: T_9[K_15] extends infer T_10 ? T_10 extends T_9[K_15] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_16 in keyof T_10]: T_10[K_16] extends infer T_11 ? T_11 extends T_10[K_16] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_17 in keyof T_11]: T_11[K_17] extends infer T_12 ? T_12 extends T_11[K_17] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_18 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_13 in keyof T_6]: T_6[K_13] extends infer T_7 ? T_7 extends T_6[K_13] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_15 in keyof T_7]: T_7[K_15] extends infer T_8 ? T_8 extends T_7[K_15] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_17 in keyof T_8]: T_8[K_17] extends infer T_9 ? T_9 extends T_8[K_17] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_19 in keyof T_9]: T_9[K_19] extends infer T_10 ? T_10 extends T_9[K_19] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 extends object ? { readonly [K_11 in keyof T_5]: T_5[K_11] extends infer T_6 ? T_6 extends T_5[K_11] ? T_6 extends (...args: any[]) => any ? T_6 : T_6 extends readonly any[] ? { readonly [K_12 in keyof T_6]: T_6[K_12] extends infer T_7 ? T_7 extends T_6[K_12] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_15 in keyof T_8]: T_8[K_15] extends infer T_9 ? T_9 extends T_8[K_15] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_16 in keyof T_9]: T_9[K_16] extends infer T_10 ? T_10 extends T_9[K_16] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_17 in keyof T_10]: T_10[K_17] extends infer T_11 ? T_11 extends T_10[K_17] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_18 in keyof T_11]: T_11[K_18] extends infer T_12 ? T_12 extends T_11[K_18] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_19 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_15 in keyof T_7]: T_7[K_15] extends infer T_8 ? T_8 extends T_7[K_15] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_17 in keyof T_8]: T_8[K_17] extends infer T_9 ? T_9 extends T_8[K_17] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_19 in keyof T_9]: T_9[K_19] extends infer T_10 ? T_10 extends T_9[K_19] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 extends object ? { readonly [K_13 in keyof T_6]: T_6[K_13] extends infer T_7 ? T_7 extends T_6[K_13] ? T_7 extends (...args: any[]) => any ? T_7 : T_7 extends readonly any[] ? { readonly [K_14 in keyof T_7]: T_7[K_14] extends infer T_8 ? T_8 extends T_7[K_14] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_17 in keyof T_9]: T_9[K_17] extends infer T_10 ? T_10 extends T_9[K_17] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_18 in keyof T_10]: T_10[K_18] extends infer T_11 ? T_11 extends T_10[K_18] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_19 in keyof T_11]: T_11[K_19] extends infer T_12 ? T_12 extends T_11[K_19] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_20 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_17 in keyof T_8]: T_8[K_17] extends infer T_9 ? T_9 extends T_8[K_17] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_19 in keyof T_9]: T_9[K_19] extends infer T_10 ? T_10 extends T_9[K_19] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 extends object ? { readonly [K_15 in keyof T_7]: T_7[K_15] extends infer T_8 ? T_8 extends T_7[K_15] ? T_8 extends (...args: any[]) => any ? T_8 : T_8 extends readonly any[] ? { readonly [K_16 in keyof T_8]: T_8[K_16] extends infer T_9 ? T_9 extends T_8[K_16] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_19 in keyof T_10]: T_10[K_19] extends infer T_11 ? T_11 extends T_10[K_19] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_20 in keyof T_11]: T_11[K_20] extends infer T_12 ? T_12 extends T_11[K_20] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_21 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_19 in keyof T_9]: T_9[K_19] extends infer T_10 ? T_10 extends T_9[K_19] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 extends object ? { readonly [K_17 in keyof T_8]: T_8[K_17] extends infer T_9 ? T_9 extends T_8[K_17] ? T_9 extends (...args: any[]) => any ? T_9 : T_9 extends readonly any[] ? { readonly [K_18 in keyof T_9]: T_9[K_18] extends infer T_10 ? T_10 extends T_9[K_18] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_21 in keyof T_11]: T_11[K_21] extends infer T_12 ? T_12 extends T_11[K_21] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_22 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 extends object ? { readonly [K_19 in keyof T_9]: T_9[K_19] extends infer T_10 ? T_10 extends T_9[K_19] ? T_10 extends (...args: any[]) => any ? T_10 : T_10 extends readonly any[] ? { readonly [K_20 in keyof T_10]: T_10[K_20] extends infer T_11 ? T_11 extends T_10[K_20] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_23 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 extends object ? { readonly [K_21 in keyof T_10]: T_10[K_21] extends infer T_11 ? T_11 extends T_10[K_21] ? T_11 extends (...args: any[]) => any ? T_11 : T_11 extends readonly any[] ? { readonly [K_22 in keyof T_11]: T_11[K_22] extends infer T_12 ? T_12 extends T_11[K_22] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 extends object ? { readonly [K_23 in keyof T_11]: T_11[K_23] extends infer T_12 ? T_12 extends T_11[K_23] ? T_12 extends (...args: any[]) => any ? T_12 : T_12 extends readonly any[] ? { readonly [K_24 in keyof T_12]: /*elided*/ any; } : T_12 extends object ? { readonly [K_25 in keyof T_12]: /*elided*/ any; } : T_12 : never : never; } : T_11 : never : never; } : T_10 : never : never; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never;
7
+ }>;
8
+ }>;