goscript 0.0.13 → 0.0.16

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 (186) hide show
  1. package/LICENSE +2 -1
  2. package/README.md +163 -45
  3. package/builtin/builtin.ts +1169 -178
  4. package/cmd/goscript/cmd_compile.go +2 -2
  5. package/compiler/analysis.go +726 -0
  6. package/compiler/compiler.go +5701 -4
  7. package/compiler/compiler_test.go +104 -0
  8. package/compiler/config.go +3 -3
  9. package/compiler/config_test.go +89 -0
  10. package/compiler/index.ts +1 -1
  11. package/compiler/output.go +26 -0
  12. package/compiler/write-type-spec.go +506 -0
  13. package/compiler/writer.go +11 -0
  14. package/dist/builtin/builtin.d.ts +204 -67
  15. package/dist/builtin/builtin.js +846 -144
  16. package/dist/builtin/builtin.js.map +1 -1
  17. package/dist/compiler/index.d.ts +1 -1
  18. package/go.mod +5 -6
  19. package/go.sum +6 -11
  20. package/package.json +21 -5
  21. package/compiler/compile.go +0 -190
  22. package/compiler/compile_comment.go +0 -41
  23. package/compiler/compile_decls.go +0 -84
  24. package/compiler/compile_expr.go +0 -1022
  25. package/compiler/compile_field.go +0 -110
  26. package/compiler/compile_spec.go +0 -566
  27. package/compiler/compile_stmt.go +0 -1616
  28. package/compiler/context.go +0 -9
  29. package/compiler/file_compiler.go +0 -80
  30. package/compiler/output_path.go +0 -31
  31. package/compiler/pkg_compiler.go +0 -72
  32. package/compiler/types/tokens.go +0 -66
  33. package/compiler/types/types.go +0 -46
  34. package/dist/compliance/tests/array_literal/array_literal.gs.d.ts +0 -1
  35. package/dist/compliance/tests/array_literal/array_literal.gs.js +0 -15
  36. package/dist/compliance/tests/array_literal/array_literal.gs.js.map +0 -1
  37. package/dist/compliance/tests/async_basic/async_basic.gs.d.ts +0 -1
  38. package/dist/compliance/tests/async_basic/async_basic.gs.js +0 -24
  39. package/dist/compliance/tests/async_basic/async_basic.gs.js.map +0 -1
  40. package/dist/compliance/tests/async_defer_statement/async_defer_statement.gs.d.ts +0 -1
  41. package/dist/compliance/tests/async_defer_statement/async_defer_statement.gs.js +0 -82
  42. package/dist/compliance/tests/async_defer_statement/async_defer_statement.gs.js.map +0 -1
  43. package/dist/compliance/tests/basic_arithmetic/basic_arithmetic.gs.d.ts +0 -1
  44. package/dist/compliance/tests/basic_arithmetic/basic_arithmetic.gs.js +0 -16
  45. package/dist/compliance/tests/basic_arithmetic/basic_arithmetic.gs.js.map +0 -1
  46. package/dist/compliance/tests/boolean_logic/boolean_logic.gs.d.ts +0 -1
  47. package/dist/compliance/tests/boolean_logic/boolean_logic.gs.js +0 -14
  48. package/dist/compliance/tests/boolean_logic/boolean_logic.gs.js.map +0 -1
  49. package/dist/compliance/tests/channel_basic/channel_basic.gs.d.ts +0 -1
  50. package/dist/compliance/tests/channel_basic/channel_basic.gs.js +0 -14
  51. package/dist/compliance/tests/channel_basic/channel_basic.gs.js.map +0 -1
  52. package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.d.ts +0 -1
  53. package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.js +0 -27
  54. package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.js.map +0 -1
  55. package/dist/compliance/tests/constants/constants.gs.d.ts +0 -1
  56. package/dist/compliance/tests/constants/constants.gs.js +0 -16
  57. package/dist/compliance/tests/constants/constants.gs.js.map +0 -1
  58. package/dist/compliance/tests/copy_independence/copy_independence.gs.d.ts +0 -1
  59. package/dist/compliance/tests/copy_independence/copy_independence.gs.js +0 -33
  60. package/dist/compliance/tests/copy_independence/copy_independence.gs.js.map +0 -1
  61. package/dist/compliance/tests/defer_statement/defer_statement.gs.d.ts +0 -1
  62. package/dist/compliance/tests/defer_statement/defer_statement.gs.js +0 -75
  63. package/dist/compliance/tests/defer_statement/defer_statement.gs.js.map +0 -1
  64. package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.d.ts +0 -1
  65. package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.js +0 -37
  66. package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.js.map +0 -1
  67. package/dist/compliance/tests/flag_bitwise_op/flag_bitwise_op.gs.d.ts +0 -1
  68. package/dist/compliance/tests/flag_bitwise_op/flag_bitwise_op.gs.js +0 -29
  69. package/dist/compliance/tests/flag_bitwise_op/flag_bitwise_op.gs.js.map +0 -1
  70. package/dist/compliance/tests/float64/float64.gs.d.ts +0 -1
  71. package/dist/compliance/tests/float64/float64.gs.js +0 -24
  72. package/dist/compliance/tests/float64/float64.gs.js.map +0 -1
  73. package/dist/compliance/tests/for_loop_basic/for_loop_basic.gs.d.ts +0 -1
  74. package/dist/compliance/tests/for_loop_basic/for_loop_basic.gs.js +0 -10
  75. package/dist/compliance/tests/for_loop_basic/for_loop_basic.gs.js.map +0 -1
  76. package/dist/compliance/tests/for_loop_condition_only/for_loop_condition_only.gs.d.ts +0 -1
  77. package/dist/compliance/tests/for_loop_condition_only/for_loop_condition_only.gs.js +0 -11
  78. package/dist/compliance/tests/for_loop_condition_only/for_loop_condition_only.gs.js.map +0 -1
  79. package/dist/compliance/tests/for_loop_condition_only/main.gs.d.ts +0 -1
  80. package/dist/compliance/tests/for_loop_condition_only/main.gs.js +0 -10
  81. package/dist/compliance/tests/for_loop_condition_only/main.gs.js.map +0 -1
  82. package/dist/compliance/tests/for_loop_infinite/for_loop_infinite.gs.d.ts +0 -1
  83. package/dist/compliance/tests/for_loop_infinite/for_loop_infinite.gs.js +0 -14
  84. package/dist/compliance/tests/for_loop_infinite/for_loop_infinite.gs.js.map +0 -1
  85. package/dist/compliance/tests/for_range/for_range.gs.d.ts +0 -1
  86. package/dist/compliance/tests/for_range/for_range.gs.js +0 -39
  87. package/dist/compliance/tests/for_range/for_range.gs.js.map +0 -1
  88. package/dist/compliance/tests/for_range_index_use/for_range_index_use.gs.d.ts +0 -1
  89. package/dist/compliance/tests/for_range_index_use/for_range_index_use.gs.js +0 -15
  90. package/dist/compliance/tests/for_range_index_use/for_range_index_use.gs.js.map +0 -1
  91. package/dist/compliance/tests/func_literal/func_literal.gs.d.ts +0 -1
  92. package/dist/compliance/tests/func_literal/func_literal.gs.js +0 -10
  93. package/dist/compliance/tests/func_literal/func_literal.gs.js.map +0 -1
  94. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.d.ts +0 -12
  95. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js +0 -30
  96. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js.map +0 -1
  97. package/dist/compliance/tests/if_statement/if_statement.gs.d.ts +0 -1
  98. package/dist/compliance/tests/if_statement/if_statement.gs.js +0 -13
  99. package/dist/compliance/tests/if_statement/if_statement.gs.js.map +0 -1
  100. package/dist/compliance/tests/interface_method_comments/interface_method_comments.gs.d.ts +0 -1
  101. package/dist/compliance/tests/interface_method_comments/interface_method_comments.gs.js +0 -12
  102. package/dist/compliance/tests/interface_method_comments/interface_method_comments.gs.js.map +0 -1
  103. package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.d.ts +0 -1
  104. package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.js +0 -34
  105. package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.js.map +0 -1
  106. package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.d.ts +0 -1
  107. package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.js +0 -32
  108. package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.js.map +0 -1
  109. package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.d.ts +0 -1
  110. package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.js +0 -40
  111. package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.js.map +0 -1
  112. package/dist/compliance/tests/interface_type_assertion_signature_mismatch/interface_type_assertion_signature_mismatch.gs.d.ts +0 -1
  113. package/dist/compliance/tests/interface_type_assertion_signature_mismatch/interface_type_assertion_signature_mismatch.gs.js +0 -51
  114. package/dist/compliance/tests/interface_type_assertion_signature_mismatch/interface_type_assertion_signature_mismatch.gs.js.map +0 -1
  115. package/dist/compliance/tests/map_support/map_support.gs.d.ts +0 -1
  116. package/dist/compliance/tests/map_support/map_support.gs.js +0 -88
  117. package/dist/compliance/tests/map_support/map_support.gs.js.map +0 -1
  118. package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.d.ts +0 -1
  119. package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js +0 -24
  120. package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js.map +0 -1
  121. package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.d.ts +0 -1
  122. package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.js +0 -33
  123. package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.js.map +0 -1
  124. package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.d.ts +0 -1
  125. package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js +0 -22
  126. package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js.map +0 -1
  127. package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.d.ts +0 -1
  128. package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.js +0 -33
  129. package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.js.map +0 -1
  130. package/dist/compliance/tests/multiple_return_values/multiple_return_values.gs.d.ts +0 -1
  131. package/dist/compliance/tests/multiple_return_values/multiple_return_values.gs.js +0 -17
  132. package/dist/compliance/tests/multiple_return_values/multiple_return_values.gs.js.map +0 -1
  133. package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.d.ts +0 -1
  134. package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js +0 -29
  135. package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js.map +0 -1
  136. package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.d.ts +0 -1
  137. package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.js +0 -27
  138. package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.js.map +0 -1
  139. package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.d.ts +0 -1
  140. package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.js +0 -22
  141. package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.js.map +0 -1
  142. package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.d.ts +0 -1
  143. package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.js +0 -20
  144. package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.js.map +0 -1
  145. package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.d.ts +0 -1
  146. package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.js +0 -28
  147. package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.js.map +0 -1
  148. package/dist/compliance/tests/select_send_on_full_buffered_channel_with_default/select_send_on_full_buffered_channel_with_default.gs.d.ts +0 -1
  149. package/dist/compliance/tests/select_send_on_full_buffered_channel_with_default/select_send_on_full_buffered_channel_with_default.gs.js +0 -30
  150. package/dist/compliance/tests/select_send_on_full_buffered_channel_with_default/select_send_on_full_buffered_channel_with_default.gs.js.map +0 -1
  151. package/dist/compliance/tests/select_statement/select_statement.gs.d.ts +0 -1
  152. package/dist/compliance/tests/select_statement/select_statement.gs.js +0 -207
  153. package/dist/compliance/tests/select_statement/select_statement.gs.js.map +0 -1
  154. package/dist/compliance/tests/simple/simple.gs.d.ts +0 -1
  155. package/dist/compliance/tests/simple/simple.gs.js +0 -6
  156. package/dist/compliance/tests/simple/simple.gs.js.map +0 -1
  157. package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.d.ts +0 -1
  158. package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.js +0 -24
  159. package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.js.map +0 -1
  160. package/dist/compliance/tests/slices/slices.gs.d.ts +0 -1
  161. package/dist/compliance/tests/slices/slices.gs.js +0 -294
  162. package/dist/compliance/tests/slices/slices.gs.js.map +0 -1
  163. package/dist/compliance/tests/string_conversion/string_conversion.gs.d.ts +0 -1
  164. package/dist/compliance/tests/string_conversion/string_conversion.gs.js +0 -41
  165. package/dist/compliance/tests/string_conversion/string_conversion.gs.js.map +0 -1
  166. package/dist/compliance/tests/string_rune_conversion/string_rune_conversion.gs.d.ts +0 -1
  167. package/dist/compliance/tests/string_rune_conversion/string_rune_conversion.gs.js +0 -17
  168. package/dist/compliance/tests/string_rune_conversion/string_rune_conversion.gs.js.map +0 -1
  169. package/dist/compliance/tests/struct_embedding/struct_embedding.gs.d.ts +0 -1
  170. package/dist/compliance/tests/struct_embedding/struct_embedding.gs.js +0 -48
  171. package/dist/compliance/tests/struct_embedding/struct_embedding.gs.js.map +0 -1
  172. package/dist/compliance/tests/struct_field_access/struct_field_access.gs.d.ts +0 -1
  173. package/dist/compliance/tests/struct_field_access/struct_field_access.gs.js +0 -19
  174. package/dist/compliance/tests/struct_field_access/struct_field_access.gs.js.map +0 -1
  175. package/dist/compliance/tests/struct_pointer_interface_fields/struct_pointer_interface_fields.gs.d.ts +0 -1
  176. package/dist/compliance/tests/struct_pointer_interface_fields/struct_pointer_interface_fields.gs.js +0 -26
  177. package/dist/compliance/tests/struct_pointer_interface_fields/struct_pointer_interface_fields.gs.js.map +0 -1
  178. package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.d.ts +0 -1
  179. package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.js +0 -30
  180. package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.js.map +0 -1
  181. package/dist/compliance/tests/switch_statement/switch_statement.gs.d.ts +0 -1
  182. package/dist/compliance/tests/switch_statement/switch_statement.gs.js +0 -76
  183. package/dist/compliance/tests/switch_statement/switch_statement.gs.js.map +0 -1
  184. package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.d.ts +0 -1
  185. package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.js +0 -31
  186. package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../builtin/builtin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../builtin/builtin.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,OAAO,CAAI,KAAe;IACxC,OAAO,KAAY,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAI,KAAe;IACxC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,SAAS;QACnB,UAAU,IAAI,KAAK;QACnB,KAAK,CAAC,QAAQ,KAAK,SAAS,CAC7B,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,MAAc,EAAE,QAAiB,EAAY,EAAE;IAC1E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,GAAG,MAAM,CAAA;IACnB,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,kBAAkB,QAAQ,GAAG,CAC7D,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,KAAK,CAAI,MAAM,CAAC,CAAA;IAEhC,+EAA+E;IAC/E,MAAM,KAAK,GAAG,GAAoB,CAAA;IAClC,KAAK,CAAC,QAAQ,GAAG;QACf,OAAO,EAAE,IAAI,KAAK,CAAI,QAAQ,CAAC;QAC/B,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;KACnB,CAAA;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,CAAW,EACX,GAAY,EACZ,IAAa,EACb,GAAY,EACF,EAAE;IACZ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACnB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAA;IACd,IAAI,GAAG,IAAI,IAAI,IAAI,CAAA;IAEnB,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,IAAI,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,qDAAqD;IACrD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACnB,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,MAAM,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAChB,CAAC,cAAc,CAAC,CAAC,CAAC;QAClB,GAAG,KAAK,CAAC;QACT,IAAI,KAAK,CAAC,CAAC,MAAM;QACjB,GAAG,KAAK,SAAS,EACjB,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,OAAY,CAAA;IAChB,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,mCAAmC;IACnC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAA;QAC5B,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC7B,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAA;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAQ,CAAA;IACpB,CAAC;IAED,IAAI,MAAM,CAAA;IACV,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,MAAM,SAAS,GAAG,MAAM,EAAE,CAC3D,CAAA;QACH,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QACnE,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,GAAG,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,kGAAkG;QAClG,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QACzB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,GAAG,CAAA;IAC5B,MAAM,SAAS,GAAG,SAAS,GAAG,GAAG,CAAA;IAEjC,MAAM,MAAM,GAAG;QACb,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,MAAM;SACjB;KACF,CAAA;IAED,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,MAAW,EAAE,IAAqB;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC1B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACjD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;gBAChE,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAClE,CAAA;YACH,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;YAC/B,CAAC;YAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,QAAQ,CAAA;YACxB,CAAC;YAED,IACE,IAAI,KAAK,OAAO;gBAChB,IAAI,KAAK,KAAK;gBACd,IAAI,KAAK,QAAQ;gBACjB,IAAI,KAAK,QAAQ;gBACjB,IAAI,KAAK,SAAS;gBAClB,IAAI,KAAK,MAAM,CAAC,QAAQ,EACxB,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,EACtB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAChD,CAAA;gBACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC9C,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;QAED,GAAG,CAAC,MAAW,EAAE,IAAqB,EAAE,KAAU;YAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC1B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACjD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;oBAC/D,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,IACE,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM;oBAChC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACjD,CAAC;oBACD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;oBAC/D,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;oBACxB,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAClE,CAAA;YACH,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC;KACF,CAAA;IAED,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAA6B,CAAA;AAC/D,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAoB,EAAE;IAC3C,OAAO,IAAI,GAAG,EAAQ,CAAA;AACxB,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAA2B,EAC3B,QAAgB,CAAC,EACZ,EAAE;IACP,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,EAAS,CAAA;IAEjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IAEhC,MAAM,MAAM,GAAG;QACb,QAAQ,EAAE;YACR,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,MAAM;SACrB;KACF,CAAA;IAED,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,MAAW,EAAE,IAAqB;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC1B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACjD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;gBAChE,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAClE,CAAA;YACH,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;YAC/B,CAAC;YAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,QAAQ,CAAA;YACxB,CAAC;YAED,IACE,IAAI,KAAK,OAAO;gBAChB,IAAI,KAAK,KAAK;gBACd,IAAI,KAAK,QAAQ;gBACjB,IAAI,KAAK,QAAQ;gBACjB,IAAI,KAAK,SAAS;gBAClB,IAAI,KAAK,MAAM,CAAC,QAAQ,EACxB,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,EACtB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAChD,CAAA;gBACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC9C,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;QAED,GAAG,CAAC,MAAW,EAAE,IAAqB,EAAE,KAAU;YAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC1B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACjD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;oBAC/D,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,IACE,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM;oBAChC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACjD,CAAC;oBACD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;oBAC/D,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;oBACxB,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAClE,CAAA;YACH,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC;KACF,CAAA;IAED,iDAAiD;IACjD,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACnB,IAAI,cAAc,CAAC,IAAW,CAAC,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAa,EAAE,KAAK,GAAG,CAAC,CAAQ,CAAA;YACxD,CAAC;iBAAM,IACL,IAAI;gBACJ,OAAO,IAAI,KAAK,QAAQ;gBACxB,cAAc,CAAC,IAAW,CAAC,EAC3B,CAAC;gBACD,mDAAmD;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAA6B,CAAA;AAC/D,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,GAAyE,EACjE,EAAE;IACV,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,IAAI,GAAG,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAED,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,OAAO,CAAC,CAAA,CAAC,mBAAmB;AAC9B,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,GAAa,EAAU,EAAE;IAC9C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,KAAe,EAAE,GAAG,QAAa,EAAO,EAAE;IAClE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAS,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAQ,CAAA;QACjC,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAEvC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAA;YAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAkB,CAAA;YAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACjC,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAClC,CAAC;YAED,MAAM,CAAC,QAAQ,GAAG;gBAChB,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,MAAM;aACjB,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAkB,CAAA;YAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAEhC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACjC,CAAC;YACH,CAAC;YAED,MAAM,CAAC,QAAQ,GAAG;gBAChB,OAAO,EAAE,KAAY;gBACrB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,MAAM;aACjB,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,GAAG,MAAM,CAAA;QACnB,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,CAAA;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,MAAM,GAAG,CAAC,CAAA;YACtB,CAAC;YAED,gDAAgD;YAChD,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;gBACpB,MAAM,GAAG,MAAM,CAAA;YACjB,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,KAAK,CAAI,MAAM,CAAC,CAAA;QAEvC,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAA;YAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAQ,CAAA;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAkB,CAAA;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3B,CAAC;QAED,MAAM,CAAC,QAAQ,GAAG;YAChB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,MAAM;SACjB,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAI,GAAa,EAAE,GAAa,EAAU,EAAE;IAC9D,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IACvB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEtC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;QACrC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAA;QAEvC,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;YACrC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAA;YAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;gBACrD,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA,CAAC,yBAAyB;YAC9D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBAClC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA,CAAC,yBAAyB;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;YACrC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAA;YAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AASD;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAY,EAAE;IACrD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAU,EAAE;IAC5D,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3D,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;IACxC,OAAO,CAAC,GAAG,IAAI,CAAA,CAAC,iEAAiE;AACnF,CAAC,CAAA;AAUD,0CAA0C;AAC1C,MAAM,UAAU,GAAG,CAAI,CAAI;IACzB,8DAA8D;IAC9D,yEAAyE;IACzE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AACrB,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,KAAK,CAAI,CAAS;IAChC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;IACH,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAA;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,GAAc,EACd,GAAM,EACN,eAAyB,IAAI,EACnB,EAAE;IACZ,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,YAAY,CAAA;AACpD,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAO,GAAc,EAAE,GAAM,EAAE,KAAQ,EAAQ,EAAE;IACrE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACrB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,GAAc,EAAE,GAAM,EAAQ,EAAE;IACnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAO,GAAc,EAAE,GAAM,EAAW,EAAE;IAC9D,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACrB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,mCAAuB,CAAA;IACvB,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;AACrB,CAAC,EAVW,QAAQ,KAAR,QAAQ,QAUnB;AA6GD,6CAA6C;AAC7C,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAc;IAChD,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAA;AACvC,CAAC;AAED,6CAA6C;AAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAA;AAEhD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAY,EACZ,SAAc,EACd,OAAoB,EACpB,IAAiC,EACjB,EAAE;IAClB,MAAM,QAAQ,GAAmB;QAC/B,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,SAAS;QACT,OAAO;QACP,IAAI,EAAE,IAAI;KACX,CAAA;IACD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAChC,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAY,EACZ,SAAc,EACd,OAAoB,EACD,EAAE;IACrB,MAAM,QAAQ,GAAsB;QAClC,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,SAAS;QACxB,SAAS;QACT,OAAO;KACR,CAAA;IACD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAChC,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAUD;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAuB;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,KAAK;YACpB,IAAI,EAAE,IAAI;SACX,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,GAAQ,EAAE,WAAqB;IACrD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxC,kBAAkB;QAClB,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAA;QAChC,CAAC;aAAM,IACL,WAAW,CAAC,IAAI,KAAK,KAAK;YAC1B,WAAW,CAAC,IAAI,KAAK,SAAS;YAC9B,WAAW,CAAC,IAAI,KAAK,QAAQ,EAC7B,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAA;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAU,EAAE,IAAc;IAClD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;IAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAC1E,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;IAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QACjD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAA;IACnC,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,KAAU,EAAE,IAAc;IACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAEzC,mDAAmD;IACnD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7C,0EAA0E;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAqB,CAAC,CAAA;QACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEtC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,CAAA;QAC9D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAA;QAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAE3E,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE;YAC1C,UAAU;YACV,WAAW;YACX,oBAAoB,EAAE,UAAU;YAChC,cAAc,EAAE,UAAU;YAC1B,oBAAoB,EAAE,UAAU;SACjC,CAAC,CAAA;QAEF,OAAO,UAAU,IAAI,UAAU,IAAI,UAAU,CAAA;IAC/C,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,KAAU,EAAE,IAAc;IACtD,kEAAkE;IAClE,IACE,mBAAmB,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO;QACZ,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI,EACd,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CACnC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAQ,KAAa,CAAC,MAAM,CAAC,KAAK,UAAU,CACzD,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAU,EAAE,IAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAEtC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,OAAO,GAAiB,EAAE,CAAA;QAE9B,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;YACzB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA,CAAC,iCAAiC;QAEvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAEzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IACE,CAAC,cAAc,CACb,CAAC,EACD,iBAAiB,CAAC,IAAI,CAAC,OAA4B,CAAC,CACrD,EACD,CAAC;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;YAED,IACE,IAAI,CAAC,QAAQ;gBACb,CAAC,WAAW,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAA6B,CAAC,CAAC,EACtE,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,KAAU,EAAE,IAAc;IACzD,iFAAiF;IACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAElE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,KAAc,CAAA;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA,CAAC,qCAAqC;QAEvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IACE,CAAC,WAAW,CACV,GAAG,CAAC,CAAC,CAAC,EACN,iBAAiB,CAAC,IAAI,CAAC,QAA6B,CAAC,CACtD,EACD,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,KAAU,EAAE,IAAc;IACpD,iEAAiE;IACjE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAE1C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAA6B,CAAC,CAAA;QAC1E,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,KAAU,EAAE,IAAc;IACrD,kDAAkD;IAClD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAA;AACpC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,KAAU,EAAE,IAAc;IACpD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,SAAS,IAAI,KAAK;QAClB,OAAO,IAAI,KAAK;QAChB,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;QAChC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;QACnC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAClC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,KAAU,EAAE,IAAc;IAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAEtC,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAEvC,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAE1C,KAAK,QAAQ,CAAC,GAAG;YACf,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAEpC,KAAK,QAAQ,CAAC,KAAK,CAAC;QACpB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAE7C,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAExC,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAEzC,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAExC;YACE,OAAO,CAAC,IAAI,CACV,2BAA4B,IAAiB,CAAC,IAAI,oBAAoB,CACvE,CAAA;YACD,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAU,EACV,QAA2B;IAE3B,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAElD,IACE,gBAAgB,CAAC,cAAc,CAAC;QAChC,cAAc,CAAC,MAAM;QACrB,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI,EACd,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAqB,CAAC,CAAA;QACnE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEtC,2DAA2D;QAC3D,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;YACxC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC;YACnD,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAE1D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,KAAK,EAAE,IAAoB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QACnD,CAAC;IACH,CAAC;IAED,IACE,aAAa,CAAC,cAAc,CAAC;QAC7B,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI,EACd,CAAC;QACD,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YACtD,IAAI,OAAO,GAAiB,EAAE,CAAA;YAE9B,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;gBACzB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACjC,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;YACxC,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;gBAEzB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC3B,IACE,CAAC,cAAc,CACb,CAAC,EACD,iBAAiB,CAAC,cAAc,CAAC,OAA4B,CAAC,CAC/D,EACD,CAAC;wBACD,OAAO,EAAE,KAAK,EAAE,IAAoB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;oBACnD,CAAC;gBACH,CAAC;gBAED,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,YAAY,GAAG,iBAAiB,CACpC,cAAc,CAAC,QAA6B,CAC7C,CAAA;oBACD,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;wBAClC,OAAO,EAAE,KAAK,EAAE,IAAoB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACxC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IAElD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACxC,CAAC;IAED,uCAAuC;IACvC,6DAA6D;IAC7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjD,IAAI,cAAc,IAAI,cAAc,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,SAAc,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QAC5D,CAAC;IACH,CAAC;SAAM,IAAI,cAAc,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,SAAc,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;IAC5D,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAoB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;AACnD,CAAC;AAmFD,+CAA+C;AAC/C,MAAM,eAAe;IACX,MAAM,GAAQ,EAAE,CAAA;IAChB,MAAM,GAAY,KAAK,CAAA;IACvB,QAAQ,CAAQ;IAChB,OAAO,GAAoC,EAAE,CAAA,CAAC,gCAAgC;IAC9E,SAAS,GAA8B,EAAE,CAAA,CAAC,kCAAkC;IAC5E,eAAe,GAAqD,EAAE,CAAA,CAAC,sBAAsB;IAC7F,SAAS,CAAG,CAAC,4CAA4C;IAEjE,YAAY,QAAgB,EAAE,SAAY;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAQ;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QAED,0DAA0D;QAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAA;YACxC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACf,OAAM;QACR,CAAC;QAED,8EAA8E;QAC9E,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAG,CAAA;YAC9C,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvB,OAAM;QACR,CAAC;QAED,mCAAmC;QACnC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;gBACrC,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACvB,OAAO,EAAE,CAAA;gBACX,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;gBAC7C,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACX,2CAA2C;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,CAAA;YAElC,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAG,CAAA;gBACpC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,uBAAuB;YACtC,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,6EAA6E;QAC7E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;QAED,sCAAsC;QACtC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,wDAAwD;QACxD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,CAAA;YAElC,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAG,CAAA;gBACpC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,uBAAuB;YACtC,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QAC5B,CAAC;QAED,4EAA4E;QAC5E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA,CAAC,mBAAmB;QACjE,CAAC;QAED,8CAA8C;QAC9C,OAAO,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,EAAE;YACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,wDAAwD;QACxD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,CAAA;YAElC,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAG,CAAA;gBACpC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,uBAAuB;YACtC,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QAChC,CAAC;QAED,4EAA4E;QAC5E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA,CAAC,mBAAmB;QACrE,CAAC;QAED,oFAAoF;QACpF,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,EAAE;YAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;YAC5B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAQ,EAAE,EAAU;QACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QACxC,CAAC;QAED,0DAA0D;QAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAA;YACxC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACf,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QACtC,CAAC;QAED,8EAA8E;QAC9E,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAG,CAAA;YAC9C,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QACtC,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QACtC,CAAC;QAED,wFAAwF;QACxF,OAAO,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE;YACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;gBACrC,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACvB,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;gBACxC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAElB,2CAA2C;QAC3C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,CAAA;QACf,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QAEjB,oDAAoD;QACpD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,6GAA6G;YAC7G,oEAAoE;YACpE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAEnB,6DAA6D;QAC7D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC3D,CAAC;CACF;AAcD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAsB,EACtB,aAAsB,KAAK;IAE3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,uEAAuE;QACvE,+DAA+D;QAC/D,OAAO,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA,CAAC,yBAAyB;IAC9D,CAAC;IAED,+CAA+C;IAC/C,MAAM,UAAU,GAAoB,EAAE,CAAA;IACtC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,kCAAkC;YAClC,SAAQ;QACV,CAAC;QACD,kCAAkC;QAClC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBAC3D,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC;iBAAM,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBACtE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,6DAA6D;QAC7D,MAAM,YAAY,GAChB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QAE3D,4DAA4D;QAC5D,kCAAkC;QAClC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,CAClD,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,EAAE,CAChB,CAAA;gBACD,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC5B,MAAM,YAAY,CAAC,UAAU,CAAC,MAAyB,CAAC,CAAA,CAAC,oBAAoB;gBAC/E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;gBACxE,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC5B,MAAM,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,CAAC,oBAAoB;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mFAAmF;YACnF,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,YAAY,CAAC,CAAA;QACjE,CAAC;QACD,OAAM,CAAC,sCAAsC;IAC/C,CAAC;IAED,2EAA2E;IAC3E,IAAI,UAAU,EAAE,CAAC;QACf,6CAA6C;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;YAC1C,sDAAsD;YACtD,MAAM,WAAW,CAAC,UAAU,CAAC;gBAC3B,KAAK,EAAE,SAAS;gBAChB,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,CAAC,CAAC;aACY,CAAC,CAAA,CAAC,oBAAoB;QAC5C,CAAC;QACD,OAAM,CAAC,0CAA0C;IACnD,CAAC;IAED,8EAA8E;IAC9E,4CAA4C;IAC5C,MAAM,gBAAgB,GAAG,KAAK;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SAC1B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,uBAAuB;QACvB,uEAAuE;QACvE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,OAAO,IAAI,OAAO,CAAoB,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACnD,mDAAmD;IACnD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1D,IAAI,YAAY,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,CAAC,oBAAoB;IAC5D,CAAC;IACD,yFAAyF;AAC3F,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,UAAkB,EAClB,SAAY,EACA,EAAE;IACd,OAAO,IAAI,eAAe,CAAI,UAAU,EAAE,SAAS,CAAC,CAAA;AACtD,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAClB,KAAK,GAAmB,EAAE,CAAA;IAElC;;;OAGG;IACH,KAAK,CAAC,EAAc;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;IAED;;;;;OAKG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,qDAAqD;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAG,CAAA;YAC5B,EAAE,EAAE,CAAA;QACN,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACvB,KAAK,GAAmC,EAAE,CAAA;IAElD;;;OAGG;IACH,KAAK,CAAC,EAA8B;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,kEAAkE;QAClE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAG,IAAW;IACpC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;AACtB,CAAC"}
@@ -8,7 +8,7 @@ export interface CompileConfig {
8
8
  output?: string;
9
9
  /** The working directory for the compiler. Defaults to the current working directory. */
10
10
  dir?: string;
11
- /** The path to the goscript executable. Defaults to 'go run github.com/paralin/goscript/cmd/goscript'. */
11
+ /** The path to the goscript executable. Defaults to 'go run github.com/aperturerobotics/goscript/cmd/goscript'. */
12
12
  goscriptPath?: string;
13
13
  }
14
14
  /**
package/go.mod CHANGED
@@ -1,15 +1,14 @@
1
- module github.com/paralin/goscript
1
+ module github.com/aperturerobotics/goscript
2
2
 
3
3
  go 1.24
4
4
 
5
- toolchain go1.24.2
5
+ toolchain go1.24.3
6
6
 
7
7
  require (
8
8
  github.com/aperturerobotics/cli v1.0.0
9
9
  github.com/pkg/errors v0.9.1
10
- github.com/sanity-io/litter v1.5.8
11
10
  github.com/sirupsen/logrus v1.9.3
12
- golang.org/x/tools v0.32.0
11
+ golang.org/x/tools v0.33.0
13
12
  )
14
13
 
15
14
  require (
@@ -17,6 +16,6 @@ require (
17
16
  github.com/stretchr/testify v1.10.0 // indirect
18
17
  github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
19
18
  golang.org/x/mod v0.24.0 // indirect
20
- golang.org/x/sync v0.13.0 // indirect
21
- golang.org/x/sys v0.32.0 // indirect
19
+ golang.org/x/sync v0.14.0 // indirect
20
+ golang.org/x/sys v0.33.0 // indirect
22
21
  )
package/go.sum CHANGED
@@ -2,7 +2,6 @@ github.com/aperturerobotics/cli v1.0.0 h1:s3xT2h7eBih4/4yZKTn/HQ6P+qpk6ygWZl2416
2
2
  github.com/aperturerobotics/cli v1.0.0/go.mod h1:wtlINjMcKuwyV1x4ftReuA6hHZcPB8kPMXHyQqGFCSc=
3
3
  github.com/aperturerobotics/common v0.21.2 h1:fqnPL5Oovpd8nDaNBYGiD1UpZhcH/JfpsS8gt5iBDyA=
4
4
  github.com/aperturerobotics/common v0.21.2/go.mod h1:FrecdNcsYvVS8RcWCR8FUkKFh+XmouFOYKHpBdMqqBA=
5
- github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
6
5
  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
7
6
  github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
8
7
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -10,15 +9,11 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
10
9
  github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
11
10
  github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
12
11
  github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
13
- github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
14
12
  github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
15
13
  github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
16
- github.com/sanity-io/litter v1.5.8 h1:uM/2lKrWdGbRXDrIq08Lh9XtVYoeGtcQxk9rtQ7+rYg=
17
- github.com/sanity-io/litter v1.5.8/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U=
18
14
  github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
19
15
  github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
20
16
  github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
21
- github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
22
17
  github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
23
18
  github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
24
19
  github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
@@ -26,13 +21,13 @@ github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGC
26
21
  github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM=
27
22
  golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
28
23
  golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
29
- golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
30
- golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
24
+ golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
25
+ golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
31
26
  golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
32
- golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
33
- golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
34
- golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
35
- golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
27
+ golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
28
+ golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
29
+ golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
30
+ golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
36
31
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
37
32
  gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
38
33
  gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
package/package.json CHANGED
@@ -1,11 +1,26 @@
1
1
  {
2
2
  "name": "goscript",
3
- "version": "0.0.13",
4
- "description": "Go to TypeScript compiler",
3
+ "description": "Go to TypeScript transpiler",
4
+ "version": "0.0.16",
5
+ "author": {
6
+ "name": "Aperture Robotics LLC.",
7
+ "email": "support@aperture.us",
8
+ "url": "http://aperture.us"
9
+ },
10
+ "contributors": [
11
+ {
12
+ "name": "Christian Stewart",
13
+ "email": "christian@aperture.us",
14
+ "url": "http://github.com/paralin"
15
+ }
16
+ ],
17
+ "repository": {
18
+ "url": "git+ssh://git@github.com/aperturerobotics/goscript.git"
19
+ },
20
+ "type": "module",
5
21
  "bin": {
6
22
  "goscript": "./cmd/goscript/main.js"
7
23
  },
8
- "type": "module",
9
24
  "exports": {
10
25
  ".": {
11
26
  "import": {
@@ -27,7 +42,7 @@
27
42
  }
28
43
  },
29
44
  "scripts": {
30
- "build": "tsc",
45
+ "build": "tsc -p tsconfig.build.json",
31
46
  "prepublishOnly": "npm run build",
32
47
  "example": "cd ./example/simple && bash run.bash",
33
48
  "test": "npm run test:go && npm run test:js",
@@ -56,6 +71,7 @@
56
71
  "cmd",
57
72
  "compiler",
58
73
  "builtin",
74
+ "!compliance",
59
75
  "go.mod",
60
76
  "go.sum",
61
77
  "LICENSE",
@@ -73,7 +89,7 @@
73
89
  "eslint": "^9.25.1",
74
90
  "eslint-config-prettier": "^10.0.2",
75
91
  "husky": "^9.1.7",
76
- "lint-staged": "^15.4.3",
92
+ "lint-staged": "^16.0.0",
77
93
  "prettier": "^3.5.3",
78
94
  "tsx": "^4.0.0",
79
95
  "typescript": "^5.8.3",
@@ -1,190 +0,0 @@
1
- package compiler
2
-
3
- import (
4
- "fmt"
5
- "go/ast"
6
- "go/token"
7
- gtypes "go/types"
8
-
9
- gstypes "github.com/paralin/goscript/compiler/types"
10
- "golang.org/x/tools/go/packages"
11
- )
12
-
13
- // GoToTSCompiler compiles Go code to TypeScript code.
14
- type GoToTSCompiler struct {
15
- tsw *TSCodeWriter
16
- imports map[string]*fileImport
17
- pkg *packages.Package
18
- cmap ast.CommentMap
19
- asyncFuncs map[string]bool // Track which functions are async
20
- nextBlockNeedsDefer bool // Track if the next block should have a "using" statement
21
- inAsyncFunction bool // Track if we're inside an async function
22
- }
23
-
24
- // WriteGoType writes a Go type as a TypeScript type.
25
- func (c *GoToTSCompiler) WriteGoType(typ gtypes.Type) {
26
- switch t := typ.(type) {
27
- case *gtypes.Basic:
28
- // Handle basic types (int, string, etc.)
29
- name := t.Name()
30
- if tsType, ok := gstypes.GoBuiltinToTypescript(name); ok {
31
- c.tsw.WriteLiterally(tsType)
32
- } else {
33
- c.tsw.WriteLiterally(name)
34
- }
35
- case *gtypes.Named:
36
- // Handle named types (custom types)
37
- c.tsw.WriteLiterally(t.Obj().Name())
38
- case *gtypes.Pointer:
39
- // Handle pointer types (*T becomes T | null)
40
- c.WriteGoType(t.Elem())
41
- c.tsw.WriteLiterally(" | null")
42
- case *gtypes.Slice, *gtypes.Array:
43
- // Handle array/slice types ([]T or [N]T becomes T[])
44
- var elemType gtypes.Type
45
- if slice, ok := t.(*gtypes.Slice); ok {
46
- elemType = slice.Elem()
47
- } else if array, ok := t.(*gtypes.Array); ok {
48
- elemType = array.Elem()
49
- }
50
- c.WriteGoType(elemType)
51
- c.tsw.WriteLiterally("[]")
52
- case *gtypes.Map:
53
- // Handle map types (map[K]V becomes Map<K, V>)
54
- c.tsw.WriteLiterally("Map<")
55
- c.WriteGoType(t.Key())
56
- c.tsw.WriteLiterally(", ")
57
- c.WriteGoType(t.Elem())
58
- c.tsw.WriteLiterally(">")
59
- case *gtypes.Chan:
60
- // Handle channel types (chan T becomes goscript.Channel<T>)
61
- c.tsw.WriteLiterally("goscript.Channel<")
62
- c.WriteGoType(t.Elem())
63
- c.tsw.WriteLiterally(">")
64
- default:
65
- // For other types, just write "any" and add a comment
66
- c.tsw.WriteLiterally("any")
67
- c.tsw.WriteCommentInline(fmt.Sprintf("unhandled type: %T", typ))
68
- }
69
- }
70
-
71
- // scanForDefer checks if a block contains any defer statements (recursively).
72
- func (c *GoToTSCompiler) scanForDefer(block *ast.BlockStmt) bool {
73
- hasDefer := false
74
- ast.Inspect(block, func(n ast.Node) bool {
75
- if _, ok := n.(*ast.DeferStmt); ok {
76
- hasDefer = true
77
- return false // Stop traversal
78
- }
79
- return true // Continue traversal
80
- })
81
- return hasDefer
82
- }
83
-
84
- // NewGoToTSCompiler builds a new GoToTSCompiler
85
- func NewGoToTSCompiler(tsw *TSCodeWriter, pkg *packages.Package, cmap ast.CommentMap) *GoToTSCompiler {
86
- return &GoToTSCompiler{
87
- tsw: tsw,
88
- imports: make(map[string]*fileImport),
89
- pkg: pkg,
90
- cmap: cmap,
91
- asyncFuncs: make(map[string]bool),
92
- nextBlockNeedsDefer: false,
93
- inAsyncFunction: false,
94
- }
95
- }
96
-
97
- // isAsyncFunc determines if a function is asynchronous
98
- // A function is async if it contains channel operations or calls other async functions
99
- func (c *GoToTSCompiler) isAsyncFunc(name string) bool {
100
- // For the test case, mark these functions as async
101
- // In a real implementation, we would analyze the function body
102
- // TODO: Implement proper async function detection
103
- return name == "receiveFromChan" || name == "caller" || name == "main"
104
- }
105
-
106
- // containsAsyncOperations recursively checks an AST node for asynchronous operations.
107
- func (c *GoToTSCompiler) containsAsyncOperations(node ast.Node) bool {
108
- var hasAsync bool
109
- ast.Inspect(node, func(n ast.Node) bool {
110
- if n == nil {
111
- return false
112
- }
113
- switch s := n.(type) {
114
- case *ast.SendStmt:
115
- hasAsync = true
116
- return false // Stop inspecting this branch
117
- case *ast.UnaryExpr:
118
- if s.Op == token.ARROW { // Channel receive <-
119
- hasAsync = true
120
- return false // Stop inspecting this branch
121
- }
122
- case *ast.CallExpr:
123
- // Check if the called function is known to be async
124
- if funIdent, ok := s.Fun.(*ast.Ident); ok && c.isAsyncFunc(funIdent.Name) {
125
- hasAsync = true
126
- return false // Stop inspecting this branch
127
- }
128
- // TODO: More sophisticated check for method calls on async types
129
- }
130
- return true // Continue inspecting
131
- })
132
- return hasAsync
133
- }
134
-
135
- // WriteZeroValueForType writes the zero value for a given type.
136
- // Handles array types recursively.
137
- func (c *GoToTSCompiler) WriteZeroValueForType(typ any) {
138
- switch t := typ.(type) {
139
- case *gtypes.Array:
140
- c.tsw.WriteLiterally("[")
141
- for i := 0; i < int(t.Len()); i++ {
142
- if i > 0 {
143
- c.tsw.WriteLiterally(", ")
144
- }
145
- c.WriteZeroValueForType(t.Elem())
146
- }
147
- c.tsw.WriteLiterally("]")
148
- case *ast.ArrayType:
149
- // Try to get length from AST
150
- length := 0
151
- if bl, ok := t.Len.(*ast.BasicLit); ok && bl.Kind == token.INT {
152
- if _, err := fmt.Sscan(bl.Value, &length); err != nil {
153
- c.tsw.WriteCommentInline(fmt.Sprintf("error parsing array length for zero value: %v", err))
154
- }
155
- }
156
- c.tsw.WriteLiterally("[")
157
- for i := 0; i < length; i++ {
158
- if i > 0 {
159
- c.tsw.WriteLiterally(", ")
160
- }
161
- c.WriteZeroValueForType(t.Elt)
162
- }
163
- c.tsw.WriteLiterally("]")
164
- case *gtypes.Basic:
165
- switch t.Kind() {
166
- case gtypes.Bool:
167
- c.tsw.WriteLiterally("false")
168
- case gtypes.String:
169
- c.tsw.WriteLiterally(`""`)
170
- default:
171
- c.tsw.WriteLiterally("0")
172
- }
173
- case *ast.Ident:
174
- // Try to map Go builtins
175
- if tsname, ok := gstypes.GoBuiltinToTypescript(t.Name); ok {
176
- switch tsname {
177
- case "boolean":
178
- c.tsw.WriteLiterally("false")
179
- case "string":
180
- c.tsw.WriteLiterally(`""`)
181
- default:
182
- c.tsw.WriteLiterally("0")
183
- }
184
- } else {
185
- c.tsw.WriteLiterally("null")
186
- }
187
- default:
188
- c.tsw.WriteLiterally("null")
189
- }
190
- }
@@ -1,41 +0,0 @@
1
- package compiler
2
-
3
- import (
4
- "go/ast"
5
- "strings"
6
- )
7
-
8
- // WriteDoc writes a comment group, preserving // and /* */ styles.
9
- func (c *GoToTSCompiler) WriteDoc(doc *ast.CommentGroup) {
10
- if doc == nil {
11
- return
12
- }
13
-
14
- for _, comment := range doc.List {
15
- // Preserve original comment style (// or /*)
16
- if strings.HasPrefix(comment.Text, "//") {
17
- c.tsw.WriteLine(comment.Text)
18
- } else if strings.HasPrefix(comment.Text, "/*") {
19
- // Write block comments potentially spanning multiple lines
20
- // Remove /* and */, then split by newline
21
- content := strings.TrimSuffix(strings.TrimPrefix(comment.Text, "/*"), "*/")
22
- lines := strings.Split(content, "\n") // Use \n as Split expects a separator string
23
-
24
- if len(lines) == 1 && !strings.Contains(lines[0], "\n") { // Check again for internal newlines just in case
25
- // Keep single-line block comments on one line
26
- c.tsw.WriteLinef("/*%s*/", lines[0])
27
- } else {
28
- // Write multi-line block comments
29
- c.tsw.WriteLine("/*")
30
- for _, line := range lines {
31
- // WriteLine handles indentation preamble automatically
32
- c.tsw.WriteLine(" *" + line) // Add conventional * prefix
33
- }
34
- c.tsw.WriteLine(" */")
35
- }
36
- } else {
37
- // Should not happen for valid Go comments, but handle defensively
38
- c.tsw.WriteCommentLine(" Unknown comment format: " + comment.Text)
39
- }
40
- }
41
- }
@@ -1,84 +0,0 @@
1
- package compiler
2
-
3
- import (
4
- "fmt"
5
- "go/ast"
6
- )
7
-
8
- // WriteDecls writes a slice of declarations.
9
- func (c *GoToTSCompiler) WriteDecls(decls []ast.Decl) error {
10
- for _, decl := range decls {
11
- switch d := decl.(type) {
12
- case *ast.FuncDecl:
13
- // Only handle top-level functions here. Methods are handled within WriteTypeSpec.
14
- if d.Recv == nil {
15
- if err := c.WriteFuncDeclAsFunction(d); err != nil {
16
- return err
17
- }
18
- c.tsw.WriteLine("") // Add space after function
19
- }
20
- case *ast.GenDecl:
21
- for _, spec := range d.Specs {
22
- if err := c.WriteSpec(spec); err != nil {
23
- return err
24
- }
25
- c.tsw.WriteLine("") // Add space after spec
26
- }
27
- default:
28
- fmt.Printf("unknown decl: %#v\n", decl)
29
- }
30
- }
31
- return nil
32
- }
33
-
34
- // WriteFuncDeclAsFunction writes a function declaration
35
- // NOTE: This function now ONLY handles regular functions, not methods (functions with receivers).
36
- // Method generation is handled within the type definition writer (e.g., for structs).
37
- func (c *GoToTSCompiler) WriteFuncDeclAsFunction(decl *ast.FuncDecl) error {
38
- if decl.Recv != nil {
39
- // This function should not be called for methods.
40
- // Methods are handled by WriteFuncDeclAsMethod within WriteTypeSpec.
41
- return nil
42
- }
43
-
44
- if decl.Doc != nil {
45
- c.WriteDoc(decl.Doc)
46
- }
47
-
48
- // Exported functions start with uppercase in Go, or special-case "main" entry point
49
- isExported := decl.Name.IsExported() || decl.Name.Name == "main"
50
- if isExported {
51
- c.tsw.WriteLiterally("export ")
52
- }
53
-
54
- // Check if this function is async
55
- isAsync := c.isAsyncFunc(decl.Name.Name)
56
- if isAsync {
57
- c.tsw.WriteLiterally("async ")
58
- }
59
-
60
- c.tsw.WriteLiterally("function ")
61
- if err := c.WriteValueExpr(decl.Name); err != nil { // Function name is a value identifier
62
- return fmt.Errorf("failed to write function name: %w", err)
63
- }
64
-
65
- // WriteFuncType needs to be aware if the function is async
66
- c.WriteFuncType(decl.Type, isAsync) // Write signature (params, return type)
67
- c.tsw.WriteLiterally(" ")
68
-
69
- // Check if function body has defer statements
70
- c.nextBlockNeedsDefer = c.scanForDefer(decl.Body)
71
-
72
- // Save previous async state and set current state based on isAsync
73
- previousAsyncState := c.inAsyncFunction
74
- c.inAsyncFunction = isAsync
75
-
76
- if err := c.WriteStmt(decl.Body); err != nil {
77
- c.inAsyncFunction = previousAsyncState // Restore state before returning error
78
- return fmt.Errorf("failed to write function body: %w", err)
79
- }
80
-
81
- // Restore previous async state
82
- c.inAsyncFunction = previousAsyncState
83
- return nil
84
- }