@satoshibits/functional 1.0.3 → 1.1.2

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 (134) hide show
  1. package/README.md +28 -145
  2. package/dist/array-utils.d.mts +13 -0
  3. package/dist/array-utils.d.mts.map +1 -1
  4. package/dist/array-utils.mjs +19 -3
  5. package/dist/array-utils.mjs.map +1 -1
  6. package/dist/array-utils.test.d.ts +2 -0
  7. package/dist/array-utils.test.d.ts.map +1 -0
  8. package/dist/array-utils.test.js +256 -0
  9. package/dist/array-utils.test.js.map +1 -0
  10. package/dist/composition.d.mts +53 -6
  11. package/dist/composition.d.mts.map +1 -1
  12. package/dist/composition.mjs +111 -22
  13. package/dist/composition.mjs.map +1 -1
  14. package/dist/composition.test.d.ts +2 -0
  15. package/dist/composition.test.d.ts.map +1 -0
  16. package/dist/composition.test.js +409 -0
  17. package/dist/composition.test.js.map +1 -0
  18. package/dist/index.d.mts +10 -5
  19. package/dist/index.d.mts.map +1 -1
  20. package/dist/index.mjs +10 -5
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/integration.test.d.mts +2 -0
  23. package/dist/integration.test.d.mts.map +1 -0
  24. package/dist/integration.test.mjs +486 -0
  25. package/dist/integration.test.mjs.map +1 -0
  26. package/dist/io.d.mts +338 -0
  27. package/dist/io.d.mts.map +1 -0
  28. package/dist/io.mjs +389 -0
  29. package/dist/io.mjs.map +1 -0
  30. package/dist/io.test.d.mts +2 -0
  31. package/dist/io.test.d.mts.map +1 -0
  32. package/dist/io.test.mjs +373 -0
  33. package/dist/io.test.mjs.map +1 -0
  34. package/dist/laws.test.d.mts +2 -0
  35. package/dist/laws.test.d.mts.map +1 -0
  36. package/dist/laws.test.mjs +614 -0
  37. package/dist/laws.test.mjs.map +1 -0
  38. package/dist/object-utils.d.mts +11 -0
  39. package/dist/object-utils.d.mts.map +1 -1
  40. package/dist/object-utils.mjs +11 -0
  41. package/dist/object-utils.mjs.map +1 -1
  42. package/dist/object-utils.test.d.ts +2 -0
  43. package/dist/object-utils.test.d.ts.map +1 -0
  44. package/dist/object-utils.test.js +286 -0
  45. package/dist/object-utils.test.js.map +1 -0
  46. package/dist/option-additions.test.d.mts +2 -0
  47. package/dist/option-additions.test.d.mts.map +1 -0
  48. package/dist/option-additions.test.mjs +325 -0
  49. package/dist/option-additions.test.mjs.map +1 -0
  50. package/dist/option.d.mts +202 -58
  51. package/dist/option.d.mts.map +1 -1
  52. package/dist/option.mjs +271 -63
  53. package/dist/option.mjs.map +1 -1
  54. package/dist/option.test.d.ts +6 -0
  55. package/dist/option.test.d.ts.map +1 -0
  56. package/dist/option.test.js +606 -0
  57. package/dist/option.test.js.map +1 -0
  58. package/dist/performance.d.mts +27 -10
  59. package/dist/performance.d.mts.map +1 -1
  60. package/dist/performance.mjs +42 -20
  61. package/dist/performance.mjs.map +1 -1
  62. package/dist/performance.test.d.ts +2 -0
  63. package/dist/performance.test.d.ts.map +1 -0
  64. package/dist/performance.test.js +424 -0
  65. package/dist/performance.test.js.map +1 -0
  66. package/dist/pipeline.d.mts +12 -0
  67. package/dist/pipeline.d.mts.map +1 -1
  68. package/dist/pipeline.mjs +12 -0
  69. package/dist/pipeline.mjs.map +1 -1
  70. package/dist/pipeline.test.d.ts +2 -0
  71. package/dist/pipeline.test.d.ts.map +1 -0
  72. package/dist/pipeline.test.js +445 -0
  73. package/dist/pipeline.test.js.map +1 -0
  74. package/dist/predicates.d.mts +12 -0
  75. package/dist/predicates.d.mts.map +1 -1
  76. package/dist/predicates.mjs +12 -0
  77. package/dist/predicates.mjs.map +1 -1
  78. package/dist/predicates.test.d.ts +2 -0
  79. package/dist/predicates.test.d.ts.map +1 -0
  80. package/dist/predicates.test.js +375 -0
  81. package/dist/predicates.test.js.map +1 -0
  82. package/dist/reader-result.d.mts +37 -16
  83. package/dist/reader-result.d.mts.map +1 -1
  84. package/dist/reader-result.mjs +37 -16
  85. package/dist/reader-result.mjs.map +1 -1
  86. package/dist/reader-result.test.d.ts +2 -0
  87. package/dist/reader-result.test.d.ts.map +1 -0
  88. package/dist/reader-result.test.js +1259 -0
  89. package/dist/reader-result.test.js.map +1 -0
  90. package/dist/reader.d.mts +443 -0
  91. package/dist/reader.d.mts.map +1 -0
  92. package/dist/reader.mjs +456 -0
  93. package/dist/reader.mjs.map +1 -0
  94. package/dist/reader.test.d.mts +2 -0
  95. package/dist/reader.test.d.mts.map +1 -0
  96. package/dist/reader.test.mjs +288 -0
  97. package/dist/reader.test.mjs.map +1 -0
  98. package/dist/result-additions.test.d.mts +2 -0
  99. package/dist/result-additions.test.d.mts.map +1 -0
  100. package/dist/result-additions.test.mjs +325 -0
  101. package/dist/result-additions.test.mjs.map +1 -0
  102. package/dist/result.d.mts +208 -0
  103. package/dist/result.d.mts.map +1 -1
  104. package/dist/result.mjs +287 -0
  105. package/dist/result.mjs.map +1 -1
  106. package/dist/result.test.d.ts +2 -0
  107. package/dist/result.test.d.ts.map +1 -0
  108. package/dist/result.test.js +453 -0
  109. package/dist/result.test.js.map +1 -0
  110. package/dist/task.d.mts +374 -0
  111. package/dist/task.d.mts.map +1 -0
  112. package/dist/task.mjs +386 -0
  113. package/dist/task.mjs.map +1 -0
  114. package/dist/task.test.d.mts +2 -0
  115. package/dist/task.test.d.mts.map +1 -0
  116. package/dist/task.test.mjs +1006 -0
  117. package/dist/task.test.mjs.map +1 -0
  118. package/dist/types.d.mts +12 -0
  119. package/dist/types.d.mts.map +1 -1
  120. package/dist/types.mjs +12 -0
  121. package/dist/types.mjs.map +1 -1
  122. package/dist/types.test.d.ts +6 -0
  123. package/dist/types.test.d.ts.map +1 -0
  124. package/dist/types.test.js +447 -0
  125. package/dist/types.test.js.map +1 -0
  126. package/dist/validation.d.mts +12 -0
  127. package/dist/validation.d.mts.map +1 -1
  128. package/dist/validation.mjs +22 -4
  129. package/dist/validation.mjs.map +1 -1
  130. package/dist/validation.test.d.ts +2 -0
  131. package/dist/validation.test.d.ts.map +1 -0
  132. package/dist/validation.test.js +518 -0
  133. package/dist/validation.test.js.map +1 -0
  134. package/package.json +77 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader-result.test.js","sourceRoot":"","sources":["../src/reader-result.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAyE;AACzE,yDAA0E;AAC1E,2CAAsC;AAEtC,IAAA,iBAAQ,EAAC,cAAc,EAAE;IAWvB,IAAM,QAAQ,GAAa;QACzB,EAAE,EAAE;YACF,QAAQ,EAAE,WAAE,CAAC,EAAE,EAAE;YACjB,QAAQ,EAAE,WAAE,CAAC,EAAE,EAAE;SAClB;QACD,MAAM,EAAE;YACN,GAAG,EAAE,WAAE,CAAC,EAAE,EAAE;SACb;KACF,CAAC;IAEF,IAAA,mBAAU,EAAC;QACT,WAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,IAAI,EAAE;QACb,IAAA,WAAE,EAAC,mCAAmC,EAAE;;;;;wBAChC,EAAE,GAAG,gCAAY,CAAC,EAAE,CAA2B,EAAE,CAAC,CAAC;wBAC1C,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,MAAM,EAAE;QACf,IAAA,WAAE,EAAC,+BAA+B,EAAE;;;;;wBAC5B,EAAE,GAAG,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC,CAAC;wBACjD,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,OAAO,EAAE;QAChB,IAAA,WAAE,EAAC,8BAA8B,EAAE;;;;;wBAC3B,EAAE,GAAG,gCAAY,CAAC,KAAK,CAAC,UAAC,CAAS;4BACtC,OAAA,gCAAY,CAAC,EAAE,CAA2B,CAAC,GAAG,CAAC,CAAC;wBAAhD,CAAgD,CACjD,CAAC,gCAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBAEP,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,yBAAyB,EAAE;;;;;wBACtB,EAAE,GAAG,gCAAY,CAAC,KAAK,CAAC,UAAC,CAAS;4BACtC,OAAA,gCAAY,CAAC,EAAE,CAA2B,CAAC,GAAG,CAAC,CAAC;wBAAhD,CAAgD,CACjD,CAAC,gCAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;wBAEf,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,yCAAyC,EAAE;;;;;wBACtC,EAAE,GAAG,gCAAY,CAAC,KAAK,CAAC;4BAC5B,OAAA,gCAAY,CAAC,IAAI,CAA2B,eAAe,CAAC;wBAA5D,CAA4D,CAC7D,CAAC,gCAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBAEP,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;;;;aACpE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,KAAK,EAAE;QACd,IAAA,WAAE,EAAC,8BAA8B,EAAE;;;;;wBAC3B,EAAE,GAAG,gCAAY,CAAC,GAAG,CAAmC,UAAC,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC,CACjF,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC,CAC7C,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,uBAAuB,EAAE;;;;;wBACpB,EAAE,GAAG,gCAAY,CAAC,GAAG,CAAmC,UAAC,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC,CACjF,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC,CACrD,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,UAAU,EAAE;QACnB,IAAA,WAAE,EAAC,yBAAyB,EAAE;;;;;wBACtB,EAAE,GAAG,gCAAY,CAAC,QAAQ,CAAmC,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAChG,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC,CACrD,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,kCAAkC,EAAE;;;;;wBAC/B,EAAE,GAAG,gCAAY,CAAC,QAAQ,CAAmC,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAChG,gCAAY,CAAC,EAAE,CAA2B,EAAE,CAAC,CAC9C,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,KAAK,EAAE;QACd,IAAA,WAAE,EAAC,0BAA0B,EAAE;;;;;wBACvB,EAAE,GAAG,gCAAY,CAAC,GAAG,EAAoB,CAAC;wBACjC,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;;;;aAC3D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,MAAM,EAAE;QACf,IAAA,WAAE,EAAC,oCAAoC,EAAE;;;;;wBACjC,EAAE,GAAG,gCAAY,CAAC,IAAI,CAC1B,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,EAAP,CAAO,CAChB,CAAC;wBACa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;;;;aAC9D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,YAAY,EAAE;QACrB,IAAA,WAAE,EAAC,2BAA2B,EAAE;;;;;wBACxB,EAAE,GAAG,gCAAY,CAAC,UAAU,CAChC,mBAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CACd,CAAC;wBACa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,uBAAuB,EAAE;;;;;wBACpB,EAAE,GAAG,gCAAY,CAAC,UAAU,CAChC,mBAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CACpB,CAAC;wBACa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,UAAU,EAAE;QACnB,IAAA,WAAE,EAAC,mCAAmC,EAAE;;;;;wBAChC,EAAE,GAAG,gCAAY,CAAC,QAAQ,CAC9B,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAnB,CAAmB,EACzB,UAAC,KAAK,IAAK,OAAA,MAAM,CAAC,KAAK,CAAC,EAAb,CAAa,CACzB,CAAC;wBACa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,2CAA2C,EAAE;;;;;wBACxC,EAAE,GAAG,gCAAY,CAAC,QAAQ,CAC9B,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,EAAxC,CAAwC,EAC9C,UAAC,KAAK,IAAK,OAAA,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAlD,CAAkD,CAC9D,CAAC;wBACa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;;;;aAClE,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE;;;;;wBAC3B,EAAE,GAAG,gCAAY,CAAC,QAAQ,CAC9B,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAA3C,CAA2C,EACjD,UAAC,KAAK,IAAK,OAAA,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAtD,CAAsD,CAClE,CAAC;wBACa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;;;;aACrE,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,4BAA4B,EAAE;;;;;wBAC/B,WAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;wBAEvE,EAAE,GAAG,gCAAY,CAAC,QAAQ,CAC9B,UAAO,IAAI;;;;4CACI,qBAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAA;;wCAAlC,IAAI,GAAG,SAA2B;wCACxC,IAAI,CAAC,IAAI;4CAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;wCAC7C,sBAAO,IAAI,EAAC;;;6BACb,EACD,UAAC,KAAK,IAAK,OAAA,MAAM,CAAC,KAAK,CAAC,EAAb,CAAa,CACzB,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;wBAC3E,IAAA,eAAM,EAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;;;;aACxD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,KAAK,EAAE;QACd,IAAA,mBAAU,EAAC;YACT,WAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAA,kBAAS,EAAC;YACR,WAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,uCAAuC,EAAE;;;;;wBACpC,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC,CAAC;wBACnD,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA2B,OAAO,CAAC,CAAC;wBACzD,MAAM,GAAG,gCAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBAE3B,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAA;;wBAAjD,MAAM,GAAG,SAAwC;wBACvD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;;;;aAC/D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,sCAAsC,EAAE;;;;;wBACnC,GAAG,GAAG,gCAAY,CAAC,IAAI,CAA2B,QAAQ,CAAC,CAAC;wBAC5D,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA2B,OAAO,CAAC,CAAC;wBACzD,MAAM,GAAG,gCAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBAE3B,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAA;;wBAAjD,MAAM,GAAG,SAAwC;wBACvD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;;;;aAC7D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE;;;;;wBACrC,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC,CAAC;wBACnD,GAAG,GAAG,gCAAY,CAAC,IAAI,CAA2B,QAAQ,CAAC,CAAC;wBAC5D,MAAM,GAAG,gCAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBAE3B,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAA;;wBAAjD,MAAM,GAAG,SAAwC;wBACvD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;;;;aAC7D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,kBAAkB,EAAE;;;;;wBACf,GAAG,GAAG,gCAAY,CAAC,QAAQ,CAC/B;;;4CACE,qBAAM,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,EAAA;;wCAArD,SAAqD,CAAC;wCACtD,sBAAO,CAAC,EAAC;;;6BACV,EACD,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBACI,GAAG,GAAG,gCAAY,CAAC,QAAQ,CAC/B;;;4CACE,qBAAM,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,EAAA;;wCAArD,SAAqD,CAAC;wCACtD,sBAAO,CAAC,EAAC;;;6BACV,EACD,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBAEI,MAAM,GAAG,gCAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBACpC,OAAO,GAAG,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;wBAEnD,8DAA8D;wBAC9D,qBAAM,WAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAAA;;wBADrC,8DAA8D;wBAC9D,SAAqC,CAAC;wBAEvB,qBAAM,OAAO,EAAA;;wBAAtB,MAAM,GAAG,SAAa;wBAE5B,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;;;;aACzD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,UAAU,EAAE;QACnB,IAAA,mBAAU,EAAC;YACT,WAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAA,kBAAS,EAAC;YACR,WAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE;;;;;wBACrC,GAAG,GAAG;4BACV,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;4BAC5C,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;4BAC5C,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;yBAC7C,CAAC;wBACI,SAAS,GAAG,gCAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAE9B,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAA;;wBAApD,MAAM,GAAG,SAA2C;wBAC1D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,gCAAgC,EAAE;;;;;wBAC7B,GAAG,GAAG;4BACV,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;4BAC5C,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC;4BACpD,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;yBAC7C,CAAC;wBACI,SAAS,GAAG,gCAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAE9B,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAA;;wBAApD,MAAM,GAAG,SAA2C;wBAC1D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,wBAAwB,EAAE;;;;;wBACrB,GAAG,GAAsD,EAAE,CAAC;wBAC5D,SAAS,GAAG,gCAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAE9B,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAA;;wBAApD,MAAM,GAAG,SAA2C;wBAC1D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE;;;;;wBAChC,cAAc,GAAa,EAAE,CAAC;wBAC9B,GAAG,GAAG;4BACV,gCAAY,CAAC,QAAQ,CAA2B;;;gDAC9C,qBAAM,IAAI,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAnB,CAAmB,CAAC,EAAA;;4CAA7C,SAA6C,CAAC;4CAC9C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4CACvB,sBAAO,CAAC,EAAC;;;iCACV,EAAE,cAAM,OAAA,OAAO,EAAP,CAAO,CAAC;4BACjB,gCAAY,CAAC,QAAQ,CAA2B;;;gDAC9C,qBAAM,IAAI,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAnB,CAAmB,CAAC,EAAA;;4CAA7C,SAA6C,CAAC;4CAC9C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4CACvB,sBAAO,CAAC,EAAC;;;iCACV,EAAE,cAAM,OAAA,OAAO,EAAP,CAAO,CAAC;yBAClB,CAAC;wBAEI,SAAS,GAAG,gCAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACvC,OAAO,GAAG,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;wBAEtD,6BAA6B;wBAC7B,qBAAM,WAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAAA;;wBADrC,6BAA6B;wBAC7B,SAAqC,CAAC;wBACtC,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;wBAEjE,8BAA8B;wBAC9B,qBAAM,WAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAAA;;wBADrC,8BAA8B;wBAC9B,SAAqC,CAAC;wBACtC,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;wBAEnD,qBAAM,OAAO,EAAA;;wBAAtB,MAAM,GAAG,SAAa;wBAE5B,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;aACnC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,aAAa,EAAE;QACtB,IAAA,WAAE,EAAC,sCAAsC,EAAE;;;;;wBACnC,WAAW,GAAG,gCAAY,CAAC,GAAG,CAAiG,UAAC,EAAoD;gCAAlD,CAAC,OAAA,EAAE,CAAC,OAAA,EAAE,GAAG,SAAA;4BAA8C,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,GAAG,KAAA,EAAE,CAAC;wBAAf,CAAe,CAAC,CAC7M,gCAAY,CAAC,GAAG,CAA4D,KAAK,EAAE,UAAC,EAAkC;gCAAhC,CAAC,OAAA,EAAE,CAAC,OAAA;4BAAiC,OAAA,CAAC,GAAG,CAAC;wBAAL,CAAK,CAAC,CAC/H,gCAAY,CAAC,IAAI,CAA+C,GAAG,EAAE,UAAC,EAAoB;gCAAlB,CAAC,OAAA;4BAAsB,OAAA,gCAAY,CAAC,EAAE,CAA2B,CAAC,GAAG,CAAC,CAAC;wBAAhD,CAAgD,CAAC,CAC9I,gCAAY,CAAC,IAAI,CAAuD,GAAG,EAAE,cAAM,OAAA,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC,EAA5C,CAA4C,CAAC,CAC9H,gCAAY,CAAC,EAAE,EAAoB,CACpC,CACF,CACF,CACF,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAA;;wBAAtD,MAAM,GAAG,SAA6C;wBAC5D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aAC3E,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE;;;;;wBACrC,WAAW,GAAG,gCAAY,CAAC,IAAI,CAA0D,GAAG,EAAE,UAAC,EAAkC;gCAAhC,CAAC,OAAA,EAAE,CAAC,OAAA;4BAAiC,OAAA,gCAAY,CAAC,EAAE,CAA2B,CAAC,GAAG,CAAC,CAAC;wBAAhD,CAAgD,CAAC,CAC3L,gCAAY,CAAC,IAAI,CAA+C,GAAG,EAAE,cAAM,OAAA,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC,EAApD,CAAoD,CAAC,CAC9H,gCAAY,CAAC,IAAI,CAAuD,GAAG,EAAE,cAAM,OAAA,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC,EAA5C,CAA4C,CAAC,CAC9H,gCAAY,CAAC,EAAE,EAAoB,CACpC,CACF,CACF,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAA;;wBAAtD,MAAM,GAAG,SAA6C;wBAC5D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,QAAQ,EAAE;QACjB,IAAA,WAAE,EAAC,wCAAwC,EAAE;;;;;wBACrC,EAAE,GAAG,gCAAY,CAAC,MAAM,CAAC,cAAM,OAAA,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC,EAA5C,CAA4C,CAAC,CAChF,gCAAY,CAAC,EAAE,CAA2B,EAAE,CAAC,CAC9C,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE;;;;;wBAChC,EAAE,GAAG,gCAAY,CAAC,MAAM,CAAC,cAAM,OAAA,gCAAY,CAAC,EAAE,CAA2B,EAAE,CAAC,EAA7C,CAA6C,CAAC,CACjF,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC,CACrD,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE;;;;;wBACvB,EAAE,GAAG,gCAAY,CAAC,MAAM,CAAC,UAAC,KAAa;4BAC3C,OAAA,gCAAY,CAAC,IAAI,CAA0B,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;wBAA5D,CAA4D,CAC7D,CACC,gCAAY,CAAC,IAAI,CAA2B,cAAc,CAAC,CAC5D,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BACpB,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;4BAC3C,IAAA,eAAM,EAAE,MAAM,CAAC,KAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC/D,CAAC;;;;aACF,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,qCAAqC,EAAE;;;;;wBAClC,EAAE,GAAG,gCAAY,CAAC,MAAM,CAAC;4BAC7B,OAAA,gCAAY,CAAC,IAAI,CAA2B,UAAA,IAAI;gCAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gCAClC,OAAO,EAAE,CAAC;4BACZ,CAAC,CAAC;wBAHF,CAGE,CACH,CACC,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC,CACrD,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpD,IAAA,eAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;;;;aACpE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,SAAS,EAAE;QAClB,IAAA,WAAE,EAAC,mDAAmD,EAAE;;;;;wBAChD,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC;;;4CACE,qBAAM,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,EAAA;;wCAArD,SAAqD,CAAC;wCACtD,sBAAO,EAAE,EAAC;;;6BACX,EACD,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,OAAO,CAA2B,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEjE,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,uDAAuD,EAAE;;;;;wBACpD,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC;;;4CACE,qBAAM,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,EAAxB,CAAwB,CAAC,EAAA;;wCAAtD,SAAsD,CAAC;wCACvD,sBAAO,EAAE,EAAC;;;6BACX,EACD,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,OAAO,CAA2B,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEhE,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;;;;aAC9D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE;;;;;wBAC7C,IAAI,GAAG,gCAAY,CAAC,IAAI,CAA2B,iBAAiB,CAAC,CAAC;wBACtE,EAAE,GAAG,gCAAY,CAAC,OAAO,CAA2B,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEjE,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;;;;aACtE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,OAAO,EAAE;QAChB,IAAA,WAAE,EAAC,yCAAyC,EAAE;;;;;wBACxC,QAAQ,GAAG,CAAC,CAAC;wBACX,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC3B,QAAQ,EAAE,CAAC;4BACX,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC,EAHI,CAGJ,EACF,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,KAAK,CAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAElD,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;aAC1B,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,4CAA4C,EAAE;;;;;wBAC3C,QAAQ,GAAG,CAAC,CAAC;wBACX,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC3B,QAAQ,EAAE,CAAC;4BACX,IAAI,QAAQ,GAAG,CAAC;gCAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;4BAC1C,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC,EAJI,CAIJ,EACF,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,KAAK,CAA2B,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEtD,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;aAC1B,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE;;;;;wBACzB,QAAQ,GAAG,CAAC,CAAC;wBACX,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC3B,QAAQ,EAAE,CAAC;4BACX,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC1B,CAAC,CAAC,EAHI,CAGJ,EACF,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,KAAK,CAA2B,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEtD,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC3D,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;aAC1B,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE;;;;;wBAC5C,QAAQ,GAAG,CAAC,CAAC;wBACX,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC3B,QAAQ,EAAE,CAAC;4BACX,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;wBAC9B,CAAC,CAAC,EAHI,CAGJ,EACF,UAAC,CAAC,IAAK,OAAC,CAAW,CAAC,OAAO,EAApB,CAAoB,CAC5B,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,KAAK,CAA2B,CAAC,EAAE,EAAE,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,UAAU,EAApB,CAAoB,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEtG,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAApC,SAAoC,CAAC;wBACrC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;aAC1B,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,+CAA+C,EAAE;;;;;wBAC9C,QAAQ,GAAG,CAAC,CAAC;wBACX,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC3B,QAAQ,EAAE,CAAC;4BACX,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;wBAClC,CAAC,CAAC,EAHI,CAGJ,EACF,UAAC,CAAC,IAAK,OAAC,CAAW,CAAC,OAAO,EAApB,CAAoB,CAC5B,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,KAAK,CAA2B,CAAC,EAAE,EAAE,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,UAAU,EAApB,CAAoB,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEtG,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAApC,SAAoC,CAAC;wBACrC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;aAC1B,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE;;;;;wBAC7B,WAAE,CAAC,aAAa,EAAE,CAAC;wBAEf,QAAQ,GAAG,CAAC,CAAC;wBAEX,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC3B,QAAQ,EAAE,CAAC;4BACX,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC1B,CAAC,CAAC,EAHI,CAGJ,EACF,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,KAAK,CAA2B,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAE/D,OAAO,GAAG,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;wBAE/C,qCAAqC;wBACrC,qBAAM,WAAE,CAAC,OAAO,CAAC,cAAM,OAAA,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAxB,CAAwB,CAAC,EAAA;;wBADhD,qCAAqC;wBACrC,SAAgD,CAAC;wBAEjD,6CAA6C;wBAC7C,qBAAM,WAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAAA;;wBADrC,6CAA6C;wBAC7C,SAAqC,CAAC;wBACtC,qBAAM,WAAE,CAAC,OAAO,CAAC,cAAM,OAAA,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAxB,CAAwB,CAAC,EAAA;;wBAAhD,SAAgD,CAAC;wBAEjD,8CAA8C;wBAC9C,qBAAM,WAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAAA;;wBADrC,8CAA8C;wBAC9C,SAAqC,CAAC;wBACtC,qBAAM,WAAE,CAAC,OAAO,CAAC,cAAM,OAAA,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAxB,CAAwB,CAAC,EAAA;;wBAAhD,SAAgD,CAAC;wBAEjD,qBAAM,OAAO,EAAA;;wBAAb,SAAa,CAAC;wBAEd,WAAE,CAAC,aAAa,EAAE,CAAC;;;;aACpB,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,kDAAkD,EAAE;;;;;wBACjD,QAAQ,GAAG,CAAC,CAAC;wBACX,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC3B,QAAQ,EAAE,CAAC;4BACX,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC1B,CAAC,CAAC,EAHI,CAGJ,EACF,cAAM,OAAA,OAAO,EAAP,CAAO,CACd,CAAC;wBACI,EAAE,GAAG,gCAAY,CAAC,KAAK,CAA2B,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEtD,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC3D,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;aAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,aAAa,EAAE;QACtB,IAAA,mBAAU,EAAC;YACT,WAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAA,kBAAS,EAAC;YACR,WAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,oDAAoD,EAAE;;;;;wBACjD,GAAG,GAAG;4BACV,gCAAY,CAAC,QAAQ,CACnB;;;gDACE,qBAAM,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,EAAA;;4CAArD,SAAqD,CAAC;4CACtD,sBAAO,CAAC,EAAC;;;iCACV,EACD,cAAM,OAAA,OAAO,EAAP,CAAO,CACd;4BACD,gCAAY,CAAC,QAAQ,CACnB;;;gDACE,qBAAM,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,EAAA;;4CAArD,SAAqD,CAAC;4CACtD,sBAAO,CAAC,EAAC;;;iCACV,EACD,cAAM,OAAA,OAAO,EAAP,CAAO,CACd;4BACD,gCAAY,CAAC,QAAQ,CACnB;;;gDACE,qBAAM,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,EAAA;;4CAArD,SAAqD,CAAC;4CACtD,sBAAO,CAAC,EAAC;;;iCACV,EACD,cAAM,OAAA,OAAO,EAAP,CAAO,CACd;yBACF,CAAC;wBAEI,SAAS,GAAG,gCAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBAC1C,OAAO,GAAG,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;wBAEtD,mEAAmE;wBACnE,qBAAM,WAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAAA;;wBADrC,mEAAmE;wBACnE,SAAqC,CAAC;wBAEvB,qBAAM,OAAO,EAAA;;wBAAtB,MAAM,GAAG,SAAa;wBAE5B,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,gCAAgC,EAAE;;;;;wBAC7B,GAAG,GAAG;4BACV,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;4BAC5C,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC;4BACpD,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;yBAC7C,CAAC;wBACI,SAAS,GAAG,gCAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBAEjC,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAA;;wBAApD,MAAM,GAAG,SAA2C;wBAC1D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,2BAA2B,EAAE;;;;;wBACxB,GAAG,GAAsD,EAAE,CAAC;wBAC5D,SAAS,GAAG,gCAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBAEjC,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAA;;wBAApD,MAAM,GAAG,SAA2C;wBAC1D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,QAAQ,EAAE;QACjB,IAAA,WAAE,EAAC,4CAA4C,EAAE;;;;;wBACzC,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC,CAAC;wBACnD,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA2B,OAAO,CAAC,CAAC;wBACzD,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA4B,IAAI,CAAC,CAAC;wBACvD,MAAM,GAAG,gCAAY,CAAC,MAAM,CAI/B,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;wBAEH,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAA;;wBAAjD,MAAM,GAAG,SAAwC;wBACvD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;;;;aACrE,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,oCAAoC,EAAE;;;;;wBACjC,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC,CAAC;wBACnD,GAAG,GAAG,gCAAY,CAAC,IAAI,CAA2B,OAAO,CAAC,CAAC;wBAC3D,GAAG,GAAG,gCAAY,CAAC,EAAE,CAA4B,IAAI,CAAC,CAAC;wBACvD,MAAM,GAAG,gCAAY,CAAC,MAAM,CAI/B,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;wBAEH,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAA;;wBAAjD,MAAM,GAAG,SAAwC;wBACvD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;;;aAC5D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,UAAU,EAAE;QACnB,IAAA,WAAE,EAAC,kEAAkE,EAAE;;;;;wBAC/D,GAAG,GAAG;4BACV,CAAC,EAAE,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;4BAC/C,CAAC,EAAE,gCAAY,CAAC,EAAE,CAA2B,OAAO,CAAC;4BACrD,CAAC,EAAE,gCAAY,CAAC,EAAE,CAA4B,IAAI,CAAC;yBACpD,CAAC;wBAEI,QAAQ,GAAG,gCAAY,CAAC,QAAQ,CAA+B,GAAG,CAAC,CAAC;wBAC3D,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAA;;wBAAnD,MAAM,GAAG,SAA0C;wBAEzD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;4BACrB,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE;yBACpC,CAAC,CAAC;;;;aACJ,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,iDAAiD,EAAE;;;;;wBAC9C,GAAG,GAAG;4BACV,CAAC,EAAE,gCAAY,CAAC,EAAE,CAA2B,CAAC,CAAC;4BAC/C,CAAC,EAAE,gCAAY,CAAC,IAAI,CAA2B,QAAQ,CAAC;4BACxD,CAAC,EAAE,gCAAY,CAAC,IAAI,CAA4B,QAAQ,CAAC;yBAC1D,CAAC;wBAEI,QAAQ,GAAG,gCAAY,CAAC,QAAQ,CAA+B,GAAG,CAAC,CAAC;wBAC3D,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAA;;wBAAnD,MAAM,GAAG,SAA0C;wBAEzD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;4BACrB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE;gCACL,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;gCAC7B,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;6BAC9B;yBACF,CAAC,CAAC;;;;aACJ,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,sCAAsC,EAAE;;;;;wBACnC,GAAG,GAAG,EAAE,CAAC;wBAET,QAAQ,GAAG,gCAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC7B,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAA;;wBAAnD,MAAM,GAAG,SAA0C;wBAEzD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;;;;aACrD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,YAAY,EAAE;QACrB,IAAA,WAAE,EAAC,0CAA0C,EAAE;;;;;wBACvC,QAAQ,GAAG,UAAC,CAAS;4BACzB,OAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAM,CAAC,GAAG,CAAC,UAAU,CAAC;wBAAjD,CAAiD,CAAC;wBAE9C,MAAM,GAAG,IAAA,8BAAU,EAAqC,QAAQ,CAAC,CAAC;wBAElE,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBACN,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAA;;wBAA/C,OAAO,GAAG,SAAqC;wBACrD,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;wBAE/C,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACP,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAA;;wBAA/C,OAAO,GAAG,SAAqC;wBACrD,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;;;;aAChE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,WAAW,EAAE;QACpB,IAAA,WAAE,EAAC,gDAAgD,EAAE;;;;;wBACnD,WAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;wBAEvE,YAAY,GAAG,IAAA,6BAAS,EAC5B,UAAO,IAAI,EAAE,MAAM;;;;4CACJ,qBAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wCAArC,IAAI,GAAG,SAA8B;wCAC3C,IAAI,CAAC,IAAI;4CAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;wCAC7C,sBAAO,IAAI,CAAC,IAAI,EAAC;;;6BAClB,EACD,UAAC,KAAK,IAAK,OAAA,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAlD,CAAkD,CAC9D,CAAC;wBAEI,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;wBACd,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBAEnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;wBACxD,IAAA,eAAM,EAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;;;;aACxD,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,oCAAoC,EAAE;;;;;wBACvC,WAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBAElD,YAAY,GAAG,IAAA,6BAAS,EAC5B,UAAO,IAAI,EAAE,MAAM;;;;4CACJ,qBAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wCAArC,IAAI,GAAG,SAA8B;wCAC3C,IAAI,CAAC,IAAI;4CAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;wCAC7C,sBAAO,IAAI,CAAC,IAAI,EAAC;;;6BAClB,EACD,UAAC,KAAK,IAAK,OAAA,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAlD,CAAkD,CAC9D,CAAC;wBAEI,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;wBACd,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBAEnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;;;;aACrE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,sBAAsB,EAAE;QAC/B,IAAA,WAAE,EAAC,yDAAyD,EAAE;;;;;wBAC5D,WAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC7E,WAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;wBAEvD,cAAc,GAAG,UAAC,MAAc,EAAE,OAAe;4BACrD,IAAM,QAAQ,GAAG,gCAAY,CAAC,QAAQ,CACpC,UAAO,IAAI;;;;gDACI,qBAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;4CAArC,IAAI,GAAG,SAA8B;4CAC3C,IAAI,CAAC,IAAI;gDAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;4CAC7C,sBAAO,IAAI,EAAC;;;iCACb,EACD,UAAC,KAAK,IAAK,OAAA,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAlD,CAAkD,CAC9D,CAAC;4BAEF,OAAO,gCAAY,CAAC,KAAK,CAAC,UAAC,IAAkC;gCAC3D,IAAM,MAAM,GAAG,gCAAY,CAAC,QAAQ,CAClC,UAAO,IAAI;;;;gDACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAiB,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC;gDAC5C,qBAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,uBAAM,IAAI,KAAE,IAAI,EAAE,OAAO,IAAG,EAAA;;gDAAlD,SAAkD,CAAC;;;;qCACpD,EACD,UAAC,KAAK,IAAK,OAAA,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAlD,CAAkD,CAC9D,CAAC;gCACF,OAAO,gCAAY,CAAC,GAAG,CAAuD,cAAM,OAAA,uBAAM,IAAI,KAAE,IAAI,EAAE,OAAO,IAAG,EAA5B,CAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;4BAC5H,CAAC,CAAC,CAAC,QAAQ,CAAiE,CAAC;wBAC/E,CAAC,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAA;;wBAAtE,MAAM,GAAG,SAA6D;wBAE5E,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;wBAC3E,IAAA,eAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;wBACpE,IAAA,eAAM,EAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;;;;aAC9E,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,kDAAkD,EAAE;;;;;wBACjD,QAAQ,GAAG,CAAC,CAAC;wBACjB,WAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC9E,QAAQ,EAAE,CAAC;4BACX,IAAI,QAAQ,GAAG,CAAC;gCAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;4BACtD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wBACnC,CAAC,CAAC,EAJuD,CAIvD,CAAC,CAAC;wBAEE,iBAAiB,GAAG,UAAC,MAAc;4BACvC,IAAM,IAAI,GAAG,gCAAY,CAAC,QAAQ,CAChC,UAAO,IAAI;;;;gDACI,qBAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;4CAArC,IAAI,GAAG,SAA8B;4CAC3C,IAAI,CAAC,IAAI;gDAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;4CAC7C,sBAAO,IAAI,EAAC;;;iCACb,EACD,UAAC,KAAK,IAAK,OAAA,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAlD,CAAkD,CAC9D,CAAC;4BACF,IAAM,SAAS,GAAG,gCAAY,CAAC,KAAK,CAAiD,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;4BAClG,IAAM,WAAW,GAAG,gCAAY,CAAC,OAAO,CAAiD,IAAI,EAAE,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC;4BACjI,OAAO,WAAW,CAAC;wBACrB,CAAC,CAAC;wBAEa,qBAAM,gCAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAA;;wBAAjE,MAAM,GAAG,SAAwD;wBAEvE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;wBAC3E,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;aAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,443 @@
1
+ /**
2
+ * @module reader
3
+ * @description Reader represents a computation with access to a shared environment/context.
4
+ * The Reader monad provides a way to compose functions that all depend on some shared
5
+ * configuration or dependency injection context, without having to pass it explicitly
6
+ * through every function call.
7
+ *
8
+ * ### For Dummies
9
+ * - A Reader is just a function that expects a bag of dependencies and gives you a result.
10
+ * - You describe what to do with the bag now and hand the bag in later, keeping tests simple.
11
+ * - No async, no error handling—think "grab config once you finally call me".
12
+ *
13
+ * ### Decision Tree
14
+ * - Need a starting value that ignores the environment? Use `Reader.of(value)`.
15
+ * - Want the full environment? `Reader.ask()` gives it to you; need a slice? Use `Reader.asks(selector)`.
16
+ * - Transforming a computed value without changing dependencies? Use `Reader.map(fn)`.
17
+ * - Need the next step to access the environment again? Use `Reader.chain(nextReader)`.
18
+ * - Done describing the program? Call `Reader.run(env)(program)` when you finally have the dependencies.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { Reader } from './reader.mts';
23
+ *
24
+ * // basic usage
25
+ * type Config = { apiUrl: string; timeout: number };
26
+ *
27
+ * const getApiUrl: Reader<Config, string> = config => config.apiUrl;
28
+ * const getTimeout: Reader<Config, number> = config => config.timeout;
29
+ *
30
+ * // composing readers
31
+ * const buildRequest = Reader.chain((url: string) =>
32
+ * Reader.map((timeout: number) => ({ url, timeout }))(getTimeout)
33
+ * )(getApiUrl);
34
+ *
35
+ * // running readers
36
+ * const config: Config = { apiUrl: 'https://api.example.com', timeout: 5000 };
37
+ * const request = Reader.run(config)(buildRequest);
38
+ * // => { url: 'https://api.example.com', timeout: 5000 }
39
+ * ```
40
+ *
41
+ * @category Core
42
+ * @since 2025-09-18
43
+ */
44
+ /**
45
+ * Reader type representing a function from environment to a value.
46
+ * @description A Reader is a function that takes an environment/dependency
47
+ * and returns a value. This allows for dependency injection and configuration
48
+ * passing through a computation pipeline.
49
+ *
50
+ * @template R - The type of the environment/dependencies
51
+ * @template A - The type of the value the reader produces
52
+ *
53
+ * @category Types
54
+ * @example
55
+ * ```typescript
56
+ * // Simple reader
57
+ * type Config = { apiKey: string };
58
+ * const getApiKey: Reader<Config, string> = config => config.apiKey;
59
+ *
60
+ * // Reader with computation
61
+ * type Env = { multiplier: number };
62
+ * const double: Reader<Env, number> = env => 10 * env.multiplier;
63
+ * ```
64
+ *
65
+ * @since 2025-09-18
66
+ */
67
+ export type Reader<R, A> = (deps: R) => A;
68
+ /**
69
+ * Reader utility functions for working with Reader types.
70
+ * @description Provides a functional API for creating, transforming, and composing Readers.
71
+ * All functions are curried to support functional composition and partial application.
72
+ *
73
+ * @category Utilities
74
+ * @since 2025-09-18
75
+ */
76
+ export declare const Reader: {
77
+ /**
78
+ * Creates a Reader that returns the given value, ignoring the environment.
79
+ * @description Factory function for creating Readers from values. The resulting
80
+ * Reader will always return the provided value regardless of the environment.
81
+ *
82
+ * @template R - The type of the environment
83
+ * @template A - The type of the value
84
+ * @param {A} value - The value to wrap in a Reader
85
+ * @returns {Reader<R, A>} A Reader that returns the value
86
+ *
87
+ * @category Constructors
88
+ * @example
89
+ * ```typescript
90
+ * const reader = Reader.of<Config, number>(42);
91
+ * Reader.run(config)(reader); // => 42
92
+ *
93
+ * // Useful for starting chains
94
+ * const result = Reader.run(config)(
95
+ * Reader.chain((n: number) => Reader.of<Config, number>(n * 2))(
96
+ * Reader.of<Config, number>(21)
97
+ * )
98
+ * ); // => 42
99
+ * ```
100
+ *
101
+ * @since 2025-09-18
102
+ */
103
+ of: <R, A>(value: A) => Reader<R, A>;
104
+ /**
105
+ * Gets the current environment.
106
+ * @description Returns a Reader that provides access to the entire environment.
107
+ * This is the identity Reader for the environment type.
108
+ *
109
+ * @template R - The type of the environment
110
+ * @returns {Reader<R, R>} A Reader that returns the environment
111
+ *
112
+ * @category Environment
113
+ * @example
114
+ * ```typescript
115
+ * type Config = { port: number; host: string };
116
+ * const config: Config = { port: 3000, host: 'localhost' };
117
+ *
118
+ * const getConfig = Reader.ask<Config>();
119
+ * Reader.run(config)(getConfig); // => { port: 3000, host: 'localhost' }
120
+ * ```
121
+ *
122
+ * @since 2025-09-18
123
+ */
124
+ ask: <R>() => Reader<R, R>;
125
+ /**
126
+ * Gets a value derived from the environment.
127
+ * @description Projects a value from the environment using a selector function.
128
+ * Useful for extracting specific parts of the environment.
129
+ *
130
+ * @template R - The type of the environment
131
+ * @template A - The type of the extracted value
132
+ * @param {function(R): A} f - Function to extract value from environment
133
+ * @returns {Reader<R, A>} A Reader that returns the extracted value
134
+ *
135
+ * @category Environment
136
+ * @example
137
+ * ```typescript
138
+ * type Config = { db: { host: string; port: number } };
139
+ *
140
+ * const getDbHost = Reader.asks<Config, string>(config => config.db.host);
141
+ * const config: Config = { db: { host: 'localhost', port: 5432 } };
142
+ * Reader.run(config)(getDbHost); // => 'localhost'
143
+ * ```
144
+ *
145
+ * @since 2025-09-18
146
+ */
147
+ asks: <R, A>(f: (deps: R) => A) => Reader<R, A>;
148
+ /**
149
+ * Transforms the value inside a Reader using the given function.
150
+ * @description Applies a pure function to the value produced by a Reader,
151
+ * creating a new Reader with the transformed value. This is the functor
152
+ * map operation for Reader types.
153
+ *
154
+ * @template R - The environment type
155
+ * @template A - The input type
156
+ * @template B - The output type
157
+ * @param {function(A): B} f - Function to transform the value
158
+ * @returns {function(Reader<R, A>): Reader<R, B>} A function that transforms Readers
159
+ *
160
+ * @category Transformations
161
+ * @example
162
+ * ```typescript
163
+ * type Config = { multiplier: number };
164
+ * const getValue: Reader<Config, number> = config => 10 * config.multiplier;
165
+ *
166
+ * const double = Reader.map((n: number) => n * 2);
167
+ * const doubled = double(getValue);
168
+ *
169
+ * const config: Config = { multiplier: 3 };
170
+ * Reader.run(config)(doubled); // => 60
171
+ * ```
172
+ *
173
+ * @since 2025-09-18
174
+ */
175
+ map: <R, A, B>(f: (value: A) => B) => (reader: Reader<R, A>) => Reader<R, B>;
176
+ /**
177
+ * Chains Reader-returning operations.
178
+ * @description Sequences two Readers where the second depends on the result
179
+ * of the first. This is the monadic bind operation for Reader types.
180
+ *
181
+ * @template R - The environment type
182
+ * @template A - The input type
183
+ * @template B - The output type
184
+ * @param {function(A): Reader<R, B>} f - Function that returns a new Reader
185
+ * @returns {function(Reader<R, A>): Reader<R, B>} A function that chains Readers
186
+ *
187
+ * @category Combinators
188
+ * @example
189
+ * ```typescript
190
+ * type Config = { baseUrl: string; apiKey: string };
191
+ *
192
+ * const getBaseUrl: Reader<Config, string> = config => config.baseUrl;
193
+ * const buildEndpoint = (base: string): Reader<Config, string> =>
194
+ * config => `${base}/api?key=${config.apiKey}`;
195
+ *
196
+ * const getEndpoint = Reader.chain(buildEndpoint)(getBaseUrl);
197
+ *
198
+ * const config: Config = { baseUrl: 'https://api.com', apiKey: 'secret' };
199
+ * Reader.run(config)(getEndpoint); // => 'https://api.com/api?key=secret'
200
+ * ```
201
+ *
202
+ * @since 2025-09-18
203
+ */
204
+ chain: <R, A, B>(f: (value: A) => Reader<R, B>) => (reader: Reader<R, A>) => Reader<R, B>;
205
+ /**
206
+ * Alias for chain to match fp-ts naming.
207
+ * @description See {@link chain} for details.
208
+ *
209
+ * @category Combinators
210
+ * @since 2025-09-18
211
+ */
212
+ flatMap: <R, A, B>(f: (value: A) => Reader<R, B>) => (reader: Reader<R, A>) => Reader<R, B>;
213
+ /**
214
+ * Applies a Reader of a function to a Reader of a value.
215
+ * @description Enables applying functions wrapped in Readers to values wrapped
216
+ * in Readers. This is the applicative apply operation for Reader types.
217
+ *
218
+ * @template R - The environment type
219
+ * @template A - The input type
220
+ * @template B - The output type
221
+ * @param {Reader<R, A>} readerValue - Reader containing a value
222
+ * @returns {function(Reader<R, function(A): B>): Reader<R, B>} A function that applies Reader functions
223
+ *
224
+ * @category Combinators
225
+ * @example
226
+ * ```typescript
227
+ * type Config = { x: number; y: number };
228
+ *
229
+ * const add = (a: number) => (b: number) => a + b;
230
+ * const getX: Reader<Config, number> = config => config.x;
231
+ * const getY: Reader<Config, number> = config => config.y;
232
+ *
233
+ * const sum = Reader.ap(getY)(
234
+ * Reader.map(add)(getX)
235
+ * );
236
+ *
237
+ * const config: Config = { x: 5, y: 3 };
238
+ * Reader.run(config)(sum); // => 8
239
+ * ```
240
+ *
241
+ * @since 2025-09-18
242
+ */
243
+ ap: <R, A, B>(readerValue: Reader<R, A>) => (readerFn: Reader<R, (a: A) => B>) => Reader<R, B>;
244
+ /**
245
+ * Runs a Reader with the given environment.
246
+ * @description Executes a Reader by providing it with the required environment,
247
+ * returning the computed value.
248
+ *
249
+ * @template R - The type of the environment
250
+ * @template A - The type of the value
251
+ * @param {R} deps - The environment to provide
252
+ * @returns {function(Reader<R, A>): A} A function that runs Readers
253
+ *
254
+ * @category Execution
255
+ * @example
256
+ * ```typescript
257
+ * type Config = { name: string };
258
+ * const getName: Reader<Config, string> = config => config.name;
259
+ *
260
+ * const config: Config = { name: 'Alice' };
261
+ * const name = Reader.run(config)(getName); // => 'Alice'
262
+ * ```
263
+ *
264
+ * @since 2025-09-18
265
+ */
266
+ run: <R>(deps: R) => <A>(reader: Reader<R, A>) => A;
267
+ /**
268
+ * Modifies the environment before running a Reader.
269
+ * @description Transforms the environment using a function before passing it
270
+ * to the Reader. This is contravariant mapping on the environment.
271
+ *
272
+ * @template R - The new environment type
273
+ * @template S - The original environment type
274
+ * @param {function(R): S} f - Function to transform the environment
275
+ * @returns {function(Reader<S, A>): Reader<R, A>} A function that adapts Readers
276
+ *
277
+ * @category Transformations
278
+ * @example
279
+ * ```typescript
280
+ * type AppConfig = { db: DbConfig; api: ApiConfig };
281
+ * type DbConfig = { host: string; port: number };
282
+ *
283
+ * const getDbHost: Reader<DbConfig, string> = config => config.host;
284
+ * const getAppDbHost = Reader.local<AppConfig, DbConfig>(
285
+ * app => app.db
286
+ * )(getDbHost);
287
+ *
288
+ * const appConfig: AppConfig = {
289
+ * db: { host: 'localhost', port: 5432 },
290
+ * api: { url: 'https://api.com' }
291
+ * };
292
+ * Reader.run(appConfig)(getAppDbHost); // => 'localhost'
293
+ * ```
294
+ *
295
+ * @since 2025-09-18
296
+ */
297
+ local: <R, S>(f: (deps: R) => S) => <A>(reader: Reader<S, A>) => Reader<R, A>;
298
+ /**
299
+ * Converts an array of Readers into a Reader of an array.
300
+ * @description Sequences multiple Readers, collecting their results into an array.
301
+ *
302
+ * @template R - The environment type
303
+ * @template A - The type of values in the Readers
304
+ * @param {Reader<R, A>[]} readers - Array of Readers to sequence
305
+ * @returns {Reader<R, A[]>} A Reader containing an array of results
306
+ *
307
+ * @category Combinators
308
+ * @example
309
+ * ```typescript
310
+ * type Config = { x: number; y: number; z: number };
311
+ *
312
+ * const readers = [
313
+ * (c: Config) => c.x,
314
+ * (c: Config) => c.y,
315
+ * (c: Config) => c.z
316
+ * ];
317
+ * const combined = Reader.sequence(readers);
318
+ *
319
+ * const config: Config = { x: 1, y: 2, z: 3 };
320
+ * Reader.run(config)(combined); // => [1, 2, 3]
321
+ * ```
322
+ *
323
+ * @since 2025-09-18
324
+ */
325
+ sequence: <R, A>(readers: Reader<R, A>[]) => Reader<R, A[]>;
326
+ /**
327
+ * Maps a function returning a Reader over an array and sequences the results.
328
+ * @description Applies a Reader-returning function to each element of an array
329
+ * and collects all results.
330
+ *
331
+ * @template R - The environment type
332
+ * @template A - The input type
333
+ * @template B - The output type
334
+ * @param {function(A): Reader<R, B>} f - Function that returns a Reader
335
+ * @returns {function(A[]): Reader<R, B[]>} A function that traverses arrays with Readers
336
+ *
337
+ * @category Combinators
338
+ * @example
339
+ * ```typescript
340
+ * type Config = { multiplier: number };
341
+ *
342
+ * const multiplyBy = (n: number): Reader<Config, number> =>
343
+ * config => n * config.multiplier;
344
+ *
345
+ * const multiplyAll = Reader.traverse(multiplyBy);
346
+ * const results = multiplyAll([1, 2, 3]);
347
+ *
348
+ * const config: Config = { multiplier: 10 };
349
+ * Reader.run(config)(results); // => [10, 20, 30]
350
+ * ```
351
+ *
352
+ * @since 2025-09-18
353
+ */
354
+ traverse: <R, A, B>(f: (a: A) => Reader<R, B>) => (as: A[]) => Reader<R, B[]>;
355
+ /**
356
+ * Combines the results of a tuple of Readers into a Reader of a tuple.
357
+ * @description Takes multiple Readers and returns a Reader containing a tuple
358
+ * of their results.
359
+ *
360
+ * @template R - The environment type
361
+ * @template T - Tuple type of Readers
362
+ * @param {...T} readers - Readers to combine
363
+ * @returns {Reader<R, { [K in keyof T]: T[K] extends Reader<R, infer U> ? U : never }>} Reader of tuple
364
+ *
365
+ * @category Combinators
366
+ * @example
367
+ * ```typescript
368
+ * type Config = { name: string; age: number; active: boolean };
369
+ *
370
+ * const getName: Reader<Config, string> = c => c.name;
371
+ * const getAge: Reader<Config, number> = c => c.age;
372
+ * const getActive: Reader<Config, boolean> = c => c.active;
373
+ *
374
+ * const combined = Reader.sequenceT(getName, getAge, getActive);
375
+ *
376
+ * const config: Config = { name: 'Alice', age: 30, active: true };
377
+ * Reader.run(config)(combined); // => ['Alice', 30, true]
378
+ * ```
379
+ *
380
+ * @since 2025-09-18
381
+ */
382
+ sequenceT: <R, T extends readonly unknown[]>(...readers: { [K in keyof T]: Reader<R, T[K]>; }) => Reader<R, T>;
383
+ /**
384
+ * Combines the results of a record of Readers into a Reader of a record.
385
+ * @description Takes an object with Reader values and returns a Reader containing
386
+ * an object with the results.
387
+ *
388
+ * @template R - The environment type
389
+ * @template S - Record type with Reader values
390
+ * @param {S} readers - Record of Readers to combine
391
+ * @returns {Reader<R, { [K in keyof S]: S[K] extends Reader<R, infer U> ? U : never }>} Reader of record
392
+ *
393
+ * @category Combinators
394
+ * @example
395
+ * ```typescript
396
+ * type Config = { user: string; host: string; port: number };
397
+ *
398
+ * const readers = {
399
+ * username: (c: Config) => c.user,
400
+ * server: (c: Config) => c.host,
401
+ * portNumber: (c: Config) => c.port
402
+ * };
403
+ *
404
+ * const combined = Reader.sequenceS(readers);
405
+ *
406
+ * const config: Config = { user: 'admin', host: 'localhost', port: 3000 };
407
+ * Reader.run(config)(combined);
408
+ * // => { username: 'admin', server: 'localhost', portNumber: 3000 }
409
+ * ```
410
+ *
411
+ * @since 2025-09-18
412
+ */
413
+ sequenceS: <R, S>(readers: { [K in keyof S]: Reader<R, S[K]>; }) => Reader<R, S>;
414
+ /**
415
+ * Executes a Reader for its side effects, discarding the result.
416
+ * @description Runs a Reader-returning function but preserves the original value.
417
+ * Useful for logging or other side effects where the result isn't needed.
418
+ *
419
+ * @template R - The environment type
420
+ * @template A - The type of the value
421
+ * @param {function(A): Reader<R, any>} f - Function that returns a Reader (result discarded)
422
+ * @returns {function(Reader<R, A>): Reader<R, A>} A function that executes side effects
423
+ *
424
+ * @category Combinators
425
+ * @example
426
+ * ```typescript
427
+ * type Config = { logger: (msg: string) => void };
428
+ *
429
+ * const log = (msg: string): Reader<Config, void> =>
430
+ * config => config.logger(msg);
431
+ *
432
+ * const getValue: Reader<Config, number> = () => 42;
433
+ * const logged = Reader.chainFirst((n: number) => log(`Got: ${n}`))(getValue);
434
+ *
435
+ * const config: Config = { logger: console.log };
436
+ * Reader.run(config)(logged); // logs "Got: 42", returns 42
437
+ * ```
438
+ *
439
+ * @since 2025-09-18
440
+ */
441
+ chainFirst: <R, A>(f: (a: A) => Reader<R, unknown>) => (reader: Reader<R, A>) => Reader<R, A>;
442
+ };
443
+ //# sourceMappingURL=reader.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader.d.mts","sourceRoot":"","sources":["../src/reader.mts"],"names":[],"mappings":"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"}