@opcua/for-node-red 3.35.4 → 3.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2364) hide show
  1. package/all.js +6007 -2343
  2. package/assets/.cache/LexActivator.dll +0 -0
  3. package/assets/.cache/LexFloatClient.dll +0 -0
  4. package/assets/.cache/lexactivator.node +0 -0
  5. package/assets/.cache/lexfloatclient.node +0 -0
  6. package/config-panel/assets/index-DS3MN-Dc.js +23 -0
  7. package/config-panel/assets/index-DS3MN-Dc.js.map +1 -0
  8. package/config-panel/index.html +1 -1
  9. package/examples/coffee-machine-2.json +1 -1
  10. package/examples/coffee-machine.json +1 -1
  11. package/package.json +52 -35
  12. package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +1 -1
  13. package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +1 -1
  14. package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +1 -1
  15. package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +1 -1
  16. package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.html +1 -1
  17. package/source/OpcUa-Client2-HistoryRead/OpcUa-Client2-HistoryRead.html +1 -1
  18. package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +123 -15
  19. package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +1 -1
  20. package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +1 -1
  21. package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +1 -1
  22. package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +5 -3
  23. package/.release-it.json +0 -7
  24. package/config-panel/assets/index-CD8mb8vn.js +0 -23
  25. package/node_modules/node-opcua-nodeset-ua/LICENSE +0 -22
  26. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_cartesian_coordinates.d.ts +0 -17
  27. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_cartesian_coordinates.js +0 -4
  28. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_cartesian_coordinates.js.map +0 -1
  29. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_frame.d.ts +0 -18
  30. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_frame.js +0 -4
  31. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_frame.js.map +0 -1
  32. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_orientation.d.ts +0 -17
  33. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_orientation.js +0 -4
  34. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_orientation.js.map +0 -1
  35. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_vector.d.ts +0 -17
  36. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_vector.js +0 -4
  37. package/node_modules/node-opcua-nodeset-ua/dist/dt_3_d_vector.js.map +0 -1
  38. package/node_modules/node-opcua-nodeset-ua/dist/dt_action_method.d.ts +0 -17
  39. package/node_modules/node-opcua-nodeset-ua/dist/dt_action_method.js +0 -4
  40. package/node_modules/node-opcua-nodeset-ua/dist/dt_action_method.js.map +0 -1
  41. package/node_modules/node-opcua-nodeset-ua/dist/dt_action_target.d.ts +0 -19
  42. package/node_modules/node-opcua-nodeset-ua/dist/dt_action_target.js +0 -4
  43. package/node_modules/node-opcua-nodeset-ua/dist/dt_action_target.js.map +0 -1
  44. package/node_modules/node-opcua-nodeset-ua/dist/dt_add_nodes_item.d.ts +0 -24
  45. package/node_modules/node-opcua-nodeset-ua/dist/dt_add_nodes_item.js +0 -4
  46. package/node_modules/node-opcua-nodeset-ua/dist/dt_add_nodes_item.js.map +0 -1
  47. package/node_modules/node-opcua-nodeset-ua/dist/dt_add_references_item.d.ts +0 -23
  48. package/node_modules/node-opcua-nodeset-ua/dist/dt_add_references_item.js +0 -4
  49. package/node_modules/node-opcua-nodeset-ua/dist/dt_add_references_item.js.map +0 -1
  50. package/node_modules/node-opcua-nodeset-ua/dist/dt_additional_parameters.d.ts +0 -16
  51. package/node_modules/node-opcua-nodeset-ua/dist/dt_additional_parameters.js +0 -4
  52. package/node_modules/node-opcua-nodeset-ua/dist/dt_additional_parameters.js.map +0 -1
  53. package/node_modules/node-opcua-nodeset-ua/dist/dt_aggregate_configuration.d.ts +0 -20
  54. package/node_modules/node-opcua-nodeset-ua/dist/dt_aggregate_configuration.js +0 -4
  55. package/node_modules/node-opcua-nodeset-ua/dist/dt_aggregate_configuration.js.map +0 -1
  56. package/node_modules/node-opcua-nodeset-ua/dist/dt_alias_name.d.ts +0 -18
  57. package/node_modules/node-opcua-nodeset-ua/dist/dt_alias_name.js +0 -4
  58. package/node_modules/node-opcua-nodeset-ua/dist/dt_alias_name.js.map +0 -1
  59. package/node_modules/node-opcua-nodeset-ua/dist/dt_annotation.d.ts +0 -18
  60. package/node_modules/node-opcua-nodeset-ua/dist/dt_annotation.js +0 -4
  61. package/node_modules/node-opcua-nodeset-ua/dist/dt_annotation.js.map +0 -1
  62. package/node_modules/node-opcua-nodeset-ua/dist/dt_anonymous_identity_token.d.ts +0 -16
  63. package/node_modules/node-opcua-nodeset-ua/dist/dt_anonymous_identity_token.js +0 -4
  64. package/node_modules/node-opcua-nodeset-ua/dist/dt_anonymous_identity_token.js.map +0 -1
  65. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_configuration.d.ts +0 -32
  66. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_configuration.js +0 -4
  67. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_configuration.js.map +0 -1
  68. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_description.d.ts +0 -24
  69. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_description.js +0 -4
  70. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_description.js.map +0 -1
  71. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_identity.d.ts +0 -23
  72. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_identity.js +0 -4
  73. package/node_modules/node-opcua-nodeset-ua/dist/dt_application_identity.js.map +0 -1
  74. package/node_modules/node-opcua-nodeset-ua/dist/dt_argument.d.ts +0 -22
  75. package/node_modules/node-opcua-nodeset-ua/dist/dt_argument.js +0 -4
  76. package/node_modules/node-opcua-nodeset-ua/dist/dt_argument.js.map +0 -1
  77. package/node_modules/node-opcua-nodeset-ua/dist/dt_attribute_operand.d.ts +0 -22
  78. package/node_modules/node-opcua-nodeset-ua/dist/dt_attribute_operand.js +0 -4
  79. package/node_modules/node-opcua-nodeset-ua/dist/dt_attribute_operand.js.map +0 -1
  80. package/node_modules/node-opcua-nodeset-ua/dist/dt_authorization_service_configuration.d.ts +0 -22
  81. package/node_modules/node-opcua-nodeset-ua/dist/dt_authorization_service_configuration.js +0 -4
  82. package/node_modules/node-opcua-nodeset-ua/dist/dt_authorization_service_configuration.js.map +0 -1
  83. package/node_modules/node-opcua-nodeset-ua/dist/dt_axis_information.d.ts +0 -23
  84. package/node_modules/node-opcua-nodeset-ua/dist/dt_axis_information.js +0 -4
  85. package/node_modules/node-opcua-nodeset-ua/dist/dt_axis_information.js.map +0 -1
  86. package/node_modules/node-opcua-nodeset-ua/dist/dt_base_configuration.d.ts +0 -18
  87. package/node_modules/node-opcua-nodeset-ua/dist/dt_base_configuration.js +0 -4
  88. package/node_modules/node-opcua-nodeset-ua/dist/dt_base_configuration.js.map +0 -1
  89. package/node_modules/node-opcua-nodeset-ua/dist/dt_base_configuration_record.d.ts +0 -18
  90. package/node_modules/node-opcua-nodeset-ua/dist/dt_base_configuration_record.js +0 -4
  91. package/node_modules/node-opcua-nodeset-ua/dist/dt_base_configuration_record.js.map +0 -1
  92. package/node_modules/node-opcua-nodeset-ua/dist/dt_bit_field_definition.d.ts +0 -21
  93. package/node_modules/node-opcua-nodeset-ua/dist/dt_bit_field_definition.js +0 -4
  94. package/node_modules/node-opcua-nodeset-ua/dist/dt_bit_field_definition.js.map +0 -1
  95. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_connection_transport.d.ts +0 -17
  96. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_connection_transport.js +0 -4
  97. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_connection_transport.js.map +0 -1
  98. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_data_set_reader_transport.d.ts +0 -21
  99. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_data_set_reader_transport.js +0 -4
  100. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_data_set_reader_transport.js.map +0 -1
  101. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_data_set_writer_transport.d.ts +0 -22
  102. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_data_set_writer_transport.js +0 -4
  103. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_data_set_writer_transport.js.map +0 -1
  104. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_writer_group_transport.d.ts +0 -20
  105. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_writer_group_transport.js +0 -4
  106. package/node_modules/node-opcua-nodeset-ua/dist/dt_broker_writer_group_transport.js.map +0 -1
  107. package/node_modules/node-opcua-nodeset-ua/dist/dt_build_info.d.ts +0 -21
  108. package/node_modules/node-opcua-nodeset-ua/dist/dt_build_info.js +0 -4
  109. package/node_modules/node-opcua-nodeset-ua/dist/dt_build_info.js.map +0 -1
  110. package/node_modules/node-opcua-nodeset-ua/dist/dt_cartesian_coordinates.d.ts +0 -10
  111. package/node_modules/node-opcua-nodeset-ua/dist/dt_cartesian_coordinates.js +0 -3
  112. package/node_modules/node-opcua-nodeset-ua/dist/dt_cartesian_coordinates.js.map +0 -1
  113. package/node_modules/node-opcua-nodeset-ua/dist/dt_certificate_group.d.ts +0 -23
  114. package/node_modules/node-opcua-nodeset-ua/dist/dt_certificate_group.js +0 -4
  115. package/node_modules/node-opcua-nodeset-ua/dist/dt_certificate_group.js.map +0 -1
  116. package/node_modules/node-opcua-nodeset-ua/dist/dt_complex_number.d.ts +0 -16
  117. package/node_modules/node-opcua-nodeset-ua/dist/dt_complex_number.js +0 -4
  118. package/node_modules/node-opcua-nodeset-ua/dist/dt_complex_number.js.map +0 -1
  119. package/node_modules/node-opcua-nodeset-ua/dist/dt_configuration_update_target.d.ts +0 -18
  120. package/node_modules/node-opcua-nodeset-ua/dist/dt_configuration_update_target.js +0 -4
  121. package/node_modules/node-opcua-nodeset-ua/dist/dt_configuration_update_target.js.map +0 -1
  122. package/node_modules/node-opcua-nodeset-ua/dist/dt_configuration_version.d.ts +0 -17
  123. package/node_modules/node-opcua-nodeset-ua/dist/dt_configuration_version.js +0 -4
  124. package/node_modules/node-opcua-nodeset-ua/dist/dt_configuration_version.js.map +0 -1
  125. package/node_modules/node-opcua-nodeset-ua/dist/dt_connection_transport.d.ts +0 -10
  126. package/node_modules/node-opcua-nodeset-ua/dist/dt_connection_transport.js +0 -3
  127. package/node_modules/node-opcua-nodeset-ua/dist/dt_connection_transport.js.map +0 -1
  128. package/node_modules/node-opcua-nodeset-ua/dist/dt_content_filter.d.ts +0 -16
  129. package/node_modules/node-opcua-nodeset-ua/dist/dt_content_filter.js +0 -4
  130. package/node_modules/node-opcua-nodeset-ua/dist/dt_content_filter.js.map +0 -1
  131. package/node_modules/node-opcua-nodeset-ua/dist/dt_content_filter_element.d.ts +0 -17
  132. package/node_modules/node-opcua-nodeset-ua/dist/dt_content_filter_element.js +0 -4
  133. package/node_modules/node-opcua-nodeset-ua/dist/dt_content_filter_element.js.map +0 -1
  134. package/node_modules/node-opcua-nodeset-ua/dist/dt_currency_unit.d.ts +0 -20
  135. package/node_modules/node-opcua-nodeset-ua/dist/dt_currency_unit.js +0 -4
  136. package/node_modules/node-opcua-nodeset-ua/dist/dt_currency_unit.js.map +0 -1
  137. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_meta.d.ts +0 -30
  138. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_meta.js +0 -4
  139. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_meta.js.map +0 -1
  140. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader.d.ts +0 -40
  141. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader.js +0 -4
  142. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader.js.map +0 -1
  143. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader_message.d.ts +0 -10
  144. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader_message.js +0 -3
  145. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader_message.js.map +0 -1
  146. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader_transport.d.ts +0 -10
  147. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader_transport.js +0 -3
  148. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_reader_transport.js.map +0 -1
  149. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer.d.ts +0 -27
  150. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer.js +0 -4
  151. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer.js.map +0 -1
  152. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer_message.d.ts +0 -10
  153. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer_message.js +0 -3
  154. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer_message.js.map +0 -1
  155. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer_transport.d.ts +0 -10
  156. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer_transport.js +0 -3
  157. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_set_writer_transport.js.map +0 -1
  158. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_definition.d.ts +0 -10
  159. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_definition.js +0 -3
  160. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_definition.js.map +0 -1
  161. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_description.d.ts +0 -18
  162. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_description.js +0 -4
  163. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_description.js.map +0 -1
  164. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_schema_header.d.ts +0 -22
  165. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_schema_header.js +0 -4
  166. package/node_modules/node-opcua-nodeset-ua/dist/dt_data_type_schema_header.js.map +0 -1
  167. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_connection_transport.d.ts +0 -16
  168. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_connection_transport.js +0 -4
  169. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_connection_transport.js.map +0 -1
  170. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_connection_transport_2.d.ts +0 -22
  171. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_connection_transport_2.js +0 -4
  172. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_connection_transport_2.js.map +0 -1
  173. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_data_set_reader_transport.d.ts +0 -21
  174. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_data_set_reader_transport.js +0 -4
  175. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_data_set_reader_transport.js.map +0 -1
  176. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_writer_group_transport.d.ts +0 -17
  177. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_writer_group_transport.js +0 -4
  178. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_writer_group_transport.js.map +0 -1
  179. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_writer_group_transport_2.d.ts +0 -24
  180. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_writer_group_transport_2.js +0 -4
  181. package/node_modules/node-opcua-nodeset-ua/dist/dt_datagram_writer_group_transport_2.js.map +0 -1
  182. package/node_modules/node-opcua-nodeset-ua/dist/dt_delete_nodes_item.d.ts +0 -17
  183. package/node_modules/node-opcua-nodeset-ua/dist/dt_delete_nodes_item.js +0 -4
  184. package/node_modules/node-opcua-nodeset-ua/dist/dt_delete_nodes_item.js.map +0 -1
  185. package/node_modules/node-opcua-nodeset-ua/dist/dt_delete_references_item.d.ts +0 -20
  186. package/node_modules/node-opcua-nodeset-ua/dist/dt_delete_references_item.js +0 -4
  187. package/node_modules/node-opcua-nodeset-ua/dist/dt_delete_references_item.js.map +0 -1
  188. package/node_modules/node-opcua-nodeset-ua/dist/dt_discovery_configuration.d.ts +0 -10
  189. package/node_modules/node-opcua-nodeset-ua/dist/dt_discovery_configuration.js +0 -3
  190. package/node_modules/node-opcua-nodeset-ua/dist/dt_discovery_configuration.js.map +0 -1
  191. package/node_modules/node-opcua-nodeset-ua/dist/dt_double_complex_number.d.ts +0 -16
  192. package/node_modules/node-opcua-nodeset-ua/dist/dt_double_complex_number.js +0 -4
  193. package/node_modules/node-opcua-nodeset-ua/dist/dt_double_complex_number.js.map +0 -1
  194. package/node_modules/node-opcua-nodeset-ua/dist/dt_dtls_pub_sub_connection.d.ts +0 -21
  195. package/node_modules/node-opcua-nodeset-ua/dist/dt_dtls_pub_sub_connection.js +0 -4
  196. package/node_modules/node-opcua-nodeset-ua/dist/dt_dtls_pub_sub_connection.js.map +0 -1
  197. package/node_modules/node-opcua-nodeset-ua/dist/dt_element_operand.d.ts +0 -16
  198. package/node_modules/node-opcua-nodeset-ua/dist/dt_element_operand.js +0 -4
  199. package/node_modules/node-opcua-nodeset-ua/dist/dt_element_operand.js.map +0 -1
  200. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint.d.ts +0 -21
  201. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint.js +0 -4
  202. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint.js.map +0 -1
  203. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_configuration.d.ts +0 -24
  204. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_configuration.js +0 -4
  205. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_configuration.js.map +0 -1
  206. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_description.d.ts +0 -26
  207. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_description.js +0 -4
  208. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_description.js.map +0 -1
  209. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_url_list.d.ts +0 -16
  210. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_url_list.js +0 -4
  211. package/node_modules/node-opcua-nodeset-ua/dist/dt_endpoint_url_list.js.map +0 -1
  212. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_definition.d.ts +0 -16
  213. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_definition.js +0 -4
  214. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_definition.js.map +0 -1
  215. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_description.d.ts +0 -22
  216. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_description.js +0 -4
  217. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_description.js.map +0 -1
  218. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_field.d.ts +0 -20
  219. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_field.js +0 -4
  220. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_field.js.map +0 -1
  221. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_value.d.ts +0 -19
  222. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_value.js +0 -4
  223. package/node_modules/node-opcua-nodeset-ua/dist/dt_enum_value.js.map +0 -1
  224. package/node_modules/node-opcua-nodeset-ua/dist/dt_ephemeral_key.d.ts +0 -16
  225. package/node_modules/node-opcua-nodeset-ua/dist/dt_ephemeral_key.js +0 -4
  226. package/node_modules/node-opcua-nodeset-ua/dist/dt_ephemeral_key.js.map +0 -1
  227. package/node_modules/node-opcua-nodeset-ua/dist/dt_event_filter.d.ts +0 -18
  228. package/node_modules/node-opcua-nodeset-ua/dist/dt_event_filter.js +0 -4
  229. package/node_modules/node-opcua-nodeset-ua/dist/dt_event_filter.js.map +0 -1
  230. package/node_modules/node-opcua-nodeset-ua/dist/dt_field_meta_data.d.ts +0 -28
  231. package/node_modules/node-opcua-nodeset-ua/dist/dt_field_meta_data.js +0 -4
  232. package/node_modules/node-opcua-nodeset-ua/dist/dt_field_meta_data.js.map +0 -1
  233. package/node_modules/node-opcua-nodeset-ua/dist/dt_field_target.d.ts +0 -25
  234. package/node_modules/node-opcua-nodeset-ua/dist/dt_field_target.js +0 -4
  235. package/node_modules/node-opcua-nodeset-ua/dist/dt_field_target.js.map +0 -1
  236. package/node_modules/node-opcua-nodeset-ua/dist/dt_filter_operand.d.ts +0 -10
  237. package/node_modules/node-opcua-nodeset-ua/dist/dt_filter_operand.js +0 -3
  238. package/node_modules/node-opcua-nodeset-ua/dist/dt_filter_operand.js.map +0 -1
  239. package/node_modules/node-opcua-nodeset-ua/dist/dt_frame.d.ts +0 -10
  240. package/node_modules/node-opcua-nodeset-ua/dist/dt_frame.js +0 -3
  241. package/node_modules/node-opcua-nodeset-ua/dist/dt_frame.js.map +0 -1
  242. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_event.d.ts +0 -16
  243. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_event.js +0 -4
  244. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_event.js.map +0 -1
  245. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_event_field_list.d.ts +0 -16
  246. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_event_field_list.js +0 -4
  247. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_event_field_list.js.map +0 -1
  248. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_modified_event.d.ts +0 -18
  249. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_modified_event.js +0 -4
  250. package/node_modules/node-opcua-nodeset-ua/dist/dt_history_modified_event.js.map +0 -1
  251. package/node_modules/node-opcua-nodeset-ua/dist/dt_identity_mapping_rule.d.ts +0 -18
  252. package/node_modules/node-opcua-nodeset-ua/dist/dt_identity_mapping_rule.js +0 -4
  253. package/node_modules/node-opcua-nodeset-ua/dist/dt_identity_mapping_rule.js.map +0 -1
  254. package/node_modules/node-opcua-nodeset-ua/dist/dt_issued_identity_token.d.ts +0 -18
  255. package/node_modules/node-opcua-nodeset-ua/dist/dt_issued_identity_token.js +0 -4
  256. package/node_modules/node-opcua-nodeset-ua/dist/dt_issued_identity_token.js.map +0 -1
  257. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_data_set_reader_message.d.ts +0 -17
  258. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_data_set_reader_message.js +0 -4
  259. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_data_set_reader_message.js.map +0 -1
  260. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_data_set_writer_message.d.ts +0 -16
  261. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_data_set_writer_message.js +0 -4
  262. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_data_set_writer_message.js.map +0 -1
  263. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_writer_group_message.d.ts +0 -16
  264. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_writer_group_message.js +0 -4
  265. package/node_modules/node-opcua-nodeset-ua/dist/dt_json_writer_group_message.js.map +0 -1
  266. package/node_modules/node-opcua-nodeset-ua/dist/dt_key_value_pair.d.ts +0 -18
  267. package/node_modules/node-opcua-nodeset-ua/dist/dt_key_value_pair.js +0 -4
  268. package/node_modules/node-opcua-nodeset-ua/dist/dt_key_value_pair.js.map +0 -1
  269. package/node_modules/node-opcua-nodeset-ua/dist/dt_linear_conversion.d.ts +0 -18
  270. package/node_modules/node-opcua-nodeset-ua/dist/dt_linear_conversion.js +0 -4
  271. package/node_modules/node-opcua-nodeset-ua/dist/dt_linear_conversion.js.map +0 -1
  272. package/node_modules/node-opcua-nodeset-ua/dist/dt_literal_operand.d.ts +0 -16
  273. package/node_modules/node-opcua-nodeset-ua/dist/dt_literal_operand.js +0 -4
  274. package/node_modules/node-opcua-nodeset-ua/dist/dt_literal_operand.js.map +0 -1
  275. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_management_address.d.ts +0 -20
  276. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_management_address.js +0 -4
  277. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_management_address.js.map +0 -1
  278. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_management_address_tx_port.d.ts +0 -22
  279. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_management_address_tx_port.js +0 -4
  280. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_management_address_tx_port.js.map +0 -1
  281. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_tlv.d.ts +0 -17
  282. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_tlv.js +0 -4
  283. package/node_modules/node-opcua-nodeset-ua/dist/dt_lldp_tlv.js.map +0 -1
  284. package/node_modules/node-opcua-nodeset-ua/dist/dt_log_record.d.ts +0 -27
  285. package/node_modules/node-opcua-nodeset-ua/dist/dt_log_record.js +0 -4
  286. package/node_modules/node-opcua-nodeset-ua/dist/dt_log_record.js.map +0 -1
  287. package/node_modules/node-opcua-nodeset-ua/dist/dt_log_records.d.ts +0 -16
  288. package/node_modules/node-opcua-nodeset-ua/dist/dt_log_records.js +0 -4
  289. package/node_modules/node-opcua-nodeset-ua/dist/dt_log_records.js.map +0 -1
  290. package/node_modules/node-opcua-nodeset-ua/dist/dt_mdns_discovery_configuration.d.ts +0 -17
  291. package/node_modules/node-opcua-nodeset-ua/dist/dt_mdns_discovery_configuration.js +0 -4
  292. package/node_modules/node-opcua-nodeset-ua/dist/dt_mdns_discovery_configuration.js.map +0 -1
  293. package/node_modules/node-opcua-nodeset-ua/dist/dt_model_change_structure.d.ts +0 -19
  294. package/node_modules/node-opcua-nodeset-ua/dist/dt_model_change_structure.js +0 -4
  295. package/node_modules/node-opcua-nodeset-ua/dist/dt_model_change_structure.js.map +0 -1
  296. package/node_modules/node-opcua-nodeset-ua/dist/dt_modification_info.d.ts +0 -19
  297. package/node_modules/node-opcua-nodeset-ua/dist/dt_modification_info.js +0 -4
  298. package/node_modules/node-opcua-nodeset-ua/dist/dt_modification_info.js.map +0 -1
  299. package/node_modules/node-opcua-nodeset-ua/dist/dt_monitoring_filter.d.ts +0 -10
  300. package/node_modules/node-opcua-nodeset-ua/dist/dt_monitoring_filter.js +0 -3
  301. package/node_modules/node-opcua-nodeset-ua/dist/dt_monitoring_filter.js.map +0 -1
  302. package/node_modules/node-opcua-nodeset-ua/dist/dt_name_value_pair.d.ts +0 -18
  303. package/node_modules/node-opcua-nodeset-ua/dist/dt_name_value_pair.js +0 -4
  304. package/node_modules/node-opcua-nodeset-ua/dist/dt_name_value_pair.js.map +0 -1
  305. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_address.d.ts +0 -16
  306. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_address.js +0 -4
  307. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_address.js.map +0 -1
  308. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_address_url.d.ts +0 -17
  309. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_address_url.js +0 -4
  310. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_address_url.js.map +0 -1
  311. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_group.d.ts +0 -18
  312. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_group.js +0 -4
  313. package/node_modules/node-opcua-nodeset-ua/dist/dt_network_group.js.map +0 -1
  314. package/node_modules/node-opcua-nodeset-ua/dist/dt_option_set.d.ts +0 -16
  315. package/node_modules/node-opcua-nodeset-ua/dist/dt_option_set.js +0 -4
  316. package/node_modules/node-opcua-nodeset-ua/dist/dt_option_set.js.map +0 -1
  317. package/node_modules/node-opcua-nodeset-ua/dist/dt_orientation.d.ts +0 -10
  318. package/node_modules/node-opcua-nodeset-ua/dist/dt_orientation.js +0 -3
  319. package/node_modules/node-opcua-nodeset-ua/dist/dt_orientation.js.map +0 -1
  320. package/node_modules/node-opcua-nodeset-ua/dist/dt_portable_node_id.d.ts +0 -18
  321. package/node_modules/node-opcua-nodeset-ua/dist/dt_portable_node_id.js +0 -4
  322. package/node_modules/node-opcua-nodeset-ua/dist/dt_portable_node_id.js.map +0 -1
  323. package/node_modules/node-opcua-nodeset-ua/dist/dt_portable_qualified_name.d.ts +0 -17
  324. package/node_modules/node-opcua-nodeset-ua/dist/dt_portable_qualified_name.js +0 -4
  325. package/node_modules/node-opcua-nodeset-ua/dist/dt_portable_qualified_name.js.map +0 -1
  326. package/node_modules/node-opcua-nodeset-ua/dist/dt_priority_mapping_entry.d.ts +0 -19
  327. package/node_modules/node-opcua-nodeset-ua/dist/dt_priority_mapping_entry.js +0 -4
  328. package/node_modules/node-opcua-nodeset-ua/dist/dt_priority_mapping_entry.js.map +0 -1
  329. package/node_modules/node-opcua-nodeset-ua/dist/dt_program_diagnostic.d.ts +0 -28
  330. package/node_modules/node-opcua-nodeset-ua/dist/dt_program_diagnostic.js +0 -4
  331. package/node_modules/node-opcua-nodeset-ua/dist/dt_program_diagnostic.js.map +0 -1
  332. package/node_modules/node-opcua-nodeset-ua/dist/dt_program_diagnostic_2.d.ts +0 -31
  333. package/node_modules/node-opcua-nodeset-ua/dist/dt_program_diagnostic_2.js +0 -4
  334. package/node_modules/node-opcua-nodeset-ua/dist/dt_program_diagnostic_2.js.map +0 -1
  335. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration.d.ts +0 -19
  336. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration.js +0 -4
  337. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration.js.map +0 -1
  338. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_2.d.ts +0 -33
  339. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_2.js +0 -4
  340. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_2.js.map +0 -1
  341. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_ref.d.ts +0 -19
  342. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_ref.js +0 -4
  343. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_ref.js.map +0 -1
  344. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_value.d.ts +0 -20
  345. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_value.js +0 -4
  346. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_configuration_value.js.map +0 -1
  347. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_connection.d.ts +0 -30
  348. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_connection.js +0 -4
  349. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_connection.js.map +0 -1
  350. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_group.d.ts +0 -25
  351. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_group.js +0 -4
  352. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_group.js.map +0 -1
  353. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_key_push_target.d.ts +0 -26
  354. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_key_push_target.js +0 -4
  355. package/node_modules/node-opcua-nodeset-ua/dist/dt_pub_sub_key_push_target.js.map +0 -1
  356. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_action.d.ts +0 -18
  357. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_action.js +0 -4
  358. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_action.js.map +0 -1
  359. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_action_method.d.ts +0 -20
  360. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_action_method.js +0 -4
  361. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_action_method.js.map +0 -1
  362. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_items.d.ts +0 -16
  363. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_items.js +0 -4
  364. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_items.js.map +0 -1
  365. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set.d.ts +0 -23
  366. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set.js +0 -4
  367. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set.js.map +0 -1
  368. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set_custom_source.d.ts +0 -15
  369. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set_custom_source.js +0 -4
  370. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set_custom_source.js.map +0 -1
  371. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set_source.d.ts +0 -10
  372. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set_source.js +0 -3
  373. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_data_set_source.js.map +0 -1
  374. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_events.d.ts +0 -20
  375. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_events.js +0 -4
  376. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_events.js.map +0 -1
  377. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_variable.d.ts +0 -26
  378. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_variable.js +0 -4
  379. package/node_modules/node-opcua-nodeset-ua/dist/dt_published_variable.js.map +0 -1
  380. package/node_modules/node-opcua-nodeset-ua/dist/dt_qos.d.ts +0 -10
  381. package/node_modules/node-opcua-nodeset-ua/dist/dt_qos.js +0 -3
  382. package/node_modules/node-opcua-nodeset-ua/dist/dt_qos.js.map +0 -1
  383. package/node_modules/node-opcua-nodeset-ua/dist/dt_quantity_dimension.d.ts +0 -23
  384. package/node_modules/node-opcua-nodeset-ua/dist/dt_quantity_dimension.js +0 -4
  385. package/node_modules/node-opcua-nodeset-ua/dist/dt_quantity_dimension.js.map +0 -1
  386. package/node_modules/node-opcua-nodeset-ua/dist/dt_range.d.ts +0 -16
  387. package/node_modules/node-opcua-nodeset-ua/dist/dt_range.js +0 -4
  388. package/node_modules/node-opcua-nodeset-ua/dist/dt_range.js.map +0 -1
  389. package/node_modules/node-opcua-nodeset-ua/dist/dt_rational_number.d.ts +0 -17
  390. package/node_modules/node-opcua-nodeset-ua/dist/dt_rational_number.js +0 -4
  391. package/node_modules/node-opcua-nodeset-ua/dist/dt_rational_number.js.map +0 -1
  392. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group.d.ts +0 -31
  393. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group.js +0 -4
  394. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group.js.map +0 -1
  395. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group_message.d.ts +0 -10
  396. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group_message.js +0 -3
  397. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group_message.js.map +0 -1
  398. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group_transport.d.ts +0 -10
  399. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group_transport.js +0 -3
  400. package/node_modules/node-opcua-nodeset-ua/dist/dt_reader_group_transport.js.map +0 -1
  401. package/node_modules/node-opcua-nodeset-ua/dist/dt_receive_qos.d.ts +0 -10
  402. package/node_modules/node-opcua-nodeset-ua/dist/dt_receive_qos.js +0 -3
  403. package/node_modules/node-opcua-nodeset-ua/dist/dt_receive_qos.js.map +0 -1
  404. package/node_modules/node-opcua-nodeset-ua/dist/dt_receive_qos_priority.d.ts +0 -16
  405. package/node_modules/node-opcua-nodeset-ua/dist/dt_receive_qos_priority.js +0 -4
  406. package/node_modules/node-opcua-nodeset-ua/dist/dt_receive_qos_priority.js.map +0 -1
  407. package/node_modules/node-opcua-nodeset-ua/dist/dt_redundant_server.d.ts +0 -19
  408. package/node_modules/node-opcua-nodeset-ua/dist/dt_redundant_server.js +0 -4
  409. package/node_modules/node-opcua-nodeset-ua/dist/dt_redundant_server.js.map +0 -1
  410. package/node_modules/node-opcua-nodeset-ua/dist/dt_reference_description.d.ts +0 -19
  411. package/node_modules/node-opcua-nodeset-ua/dist/dt_reference_description.js +0 -4
  412. package/node_modules/node-opcua-nodeset-ua/dist/dt_reference_description.js.map +0 -1
  413. package/node_modules/node-opcua-nodeset-ua/dist/dt_reference_list_entry.d.ts +0 -18
  414. package/node_modules/node-opcua-nodeset-ua/dist/dt_reference_list_entry.js +0 -4
  415. package/node_modules/node-opcua-nodeset-ua/dist/dt_reference_list_entry.js.map +0 -1
  416. package/node_modules/node-opcua-nodeset-ua/dist/dt_registered_server.d.ts +0 -25
  417. package/node_modules/node-opcua-nodeset-ua/dist/dt_registered_server.js +0 -4
  418. package/node_modules/node-opcua-nodeset-ua/dist/dt_registered_server.js.map +0 -1
  419. package/node_modules/node-opcua-nodeset-ua/dist/dt_relative_path.d.ts +0 -16
  420. package/node_modules/node-opcua-nodeset-ua/dist/dt_relative_path.js +0 -4
  421. package/node_modules/node-opcua-nodeset-ua/dist/dt_relative_path.js.map +0 -1
  422. package/node_modules/node-opcua-nodeset-ua/dist/dt_relative_path_element.d.ts +0 -20
  423. package/node_modules/node-opcua-nodeset-ua/dist/dt_relative_path_element.js +0 -4
  424. package/node_modules/node-opcua-nodeset-ua/dist/dt_relative_path_element.js.map +0 -1
  425. package/node_modules/node-opcua-nodeset-ua/dist/dt_role_permission.d.ts +0 -18
  426. package/node_modules/node-opcua-nodeset-ua/dist/dt_role_permission.js +0 -4
  427. package/node_modules/node-opcua-nodeset-ua/dist/dt_role_permission.js.map +0 -1
  428. package/node_modules/node-opcua-nodeset-ua/dist/dt_sampling_interval_diagnostics.d.ts +0 -19
  429. package/node_modules/node-opcua-nodeset-ua/dist/dt_sampling_interval_diagnostics.js +0 -4
  430. package/node_modules/node-opcua-nodeset-ua/dist/dt_sampling_interval_diagnostics.js.map +0 -1
  431. package/node_modules/node-opcua-nodeset-ua/dist/dt_security_group.d.ts +0 -26
  432. package/node_modules/node-opcua-nodeset-ua/dist/dt_security_group.js +0 -4
  433. package/node_modules/node-opcua-nodeset-ua/dist/dt_security_group.js.map +0 -1
  434. package/node_modules/node-opcua-nodeset-ua/dist/dt_security_settings.d.ts +0 -22
  435. package/node_modules/node-opcua-nodeset-ua/dist/dt_security_settings.js +0 -4
  436. package/node_modules/node-opcua-nodeset-ua/dist/dt_security_settings.js.map +0 -1
  437. package/node_modules/node-opcua-nodeset-ua/dist/dt_semantic_change_structure.d.ts +0 -17
  438. package/node_modules/node-opcua-nodeset-ua/dist/dt_semantic_change_structure.js +0 -4
  439. package/node_modules/node-opcua-nodeset-ua/dist/dt_semantic_change_structure.js.map +0 -1
  440. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_diagnostics_summary.d.ts +0 -27
  441. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_diagnostics_summary.js +0 -4
  442. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_diagnostics_summary.js.map +0 -1
  443. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_endpoint.d.ts +0 -26
  444. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_endpoint.js +0 -4
  445. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_endpoint.js.map +0 -1
  446. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_on_network.d.ts +0 -19
  447. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_on_network.js +0 -4
  448. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_on_network.js.map +0 -1
  449. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_status.d.ts +0 -24
  450. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_status.js +0 -4
  451. package/node_modules/node-opcua-nodeset-ua/dist/dt_server_status.js.map +0 -1
  452. package/node_modules/node-opcua-nodeset-ua/dist/dt_service_certificate.d.ts +0 -18
  453. package/node_modules/node-opcua-nodeset-ua/dist/dt_service_certificate.js +0 -4
  454. package/node_modules/node-opcua-nodeset-ua/dist/dt_service_certificate.js.map +0 -1
  455. package/node_modules/node-opcua-nodeset-ua/dist/dt_service_counter.d.ts +0 -17
  456. package/node_modules/node-opcua-nodeset-ua/dist/dt_service_counter.js +0 -4
  457. package/node_modules/node-opcua-nodeset-ua/dist/dt_service_counter.js.map +0 -1
  458. package/node_modules/node-opcua-nodeset-ua/dist/dt_session_diagnostics.d.ts +0 -61
  459. package/node_modules/node-opcua-nodeset-ua/dist/dt_session_diagnostics.js +0 -4
  460. package/node_modules/node-opcua-nodeset-ua/dist/dt_session_diagnostics.js.map +0 -1
  461. package/node_modules/node-opcua-nodeset-ua/dist/dt_session_security_diagnostics.d.ts +0 -26
  462. package/node_modules/node-opcua-nodeset-ua/dist/dt_session_security_diagnostics.js +0 -4
  463. package/node_modules/node-opcua-nodeset-ua/dist/dt_session_security_diagnostics.js.map +0 -1
  464. package/node_modules/node-opcua-nodeset-ua/dist/dt_signed_software_certificate.d.ts +0 -16
  465. package/node_modules/node-opcua-nodeset-ua/dist/dt_signed_software_certificate.js +0 -4
  466. package/node_modules/node-opcua-nodeset-ua/dist/dt_signed_software_certificate.js.map +0 -1
  467. package/node_modules/node-opcua-nodeset-ua/dist/dt_simple_attribute_operand.d.ts +0 -21
  468. package/node_modules/node-opcua-nodeset-ua/dist/dt_simple_attribute_operand.js +0 -4
  469. package/node_modules/node-opcua-nodeset-ua/dist/dt_simple_attribute_operand.js.map +0 -1
  470. package/node_modules/node-opcua-nodeset-ua/dist/dt_simple_type_description.d.ts +0 -21
  471. package/node_modules/node-opcua-nodeset-ua/dist/dt_simple_type_description.js +0 -4
  472. package/node_modules/node-opcua-nodeset-ua/dist/dt_simple_type_description.js.map +0 -1
  473. package/node_modules/node-opcua-nodeset-ua/dist/dt_span_context.d.ts +0 -17
  474. package/node_modules/node-opcua-nodeset-ua/dist/dt_span_context.js +0 -4
  475. package/node_modules/node-opcua-nodeset-ua/dist/dt_span_context.js.map +0 -1
  476. package/node_modules/node-opcua-nodeset-ua/dist/dt_standalone_subscribed_data_set.d.ts +0 -20
  477. package/node_modules/node-opcua-nodeset-ua/dist/dt_standalone_subscribed_data_set.js +0 -4
  478. package/node_modules/node-opcua-nodeset-ua/dist/dt_standalone_subscribed_data_set.js.map +0 -1
  479. package/node_modules/node-opcua-nodeset-ua/dist/dt_standalone_subscribed_data_set_ref.d.ts +0 -16
  480. package/node_modules/node-opcua-nodeset-ua/dist/dt_standalone_subscribed_data_set_ref.js +0 -4
  481. package/node_modules/node-opcua-nodeset-ua/dist/dt_standalone_subscribed_data_set_ref.js.map +0 -1
  482. package/node_modules/node-opcua-nodeset-ua/dist/dt_status_result.d.ts +0 -18
  483. package/node_modules/node-opcua-nodeset-ua/dist/dt_status_result.js +0 -4
  484. package/node_modules/node-opcua-nodeset-ua/dist/dt_status_result.js.map +0 -1
  485. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure.d.ts +0 -5
  486. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure.js +0 -4
  487. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure.js.map +0 -1
  488. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_definition.d.ts +0 -21
  489. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_definition.js +0 -4
  490. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_definition.js.map +0 -1
  491. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_description.d.ts +0 -20
  492. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_description.js +0 -4
  493. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_description.js.map +0 -1
  494. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_field.d.ts +0 -24
  495. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_field.js +0 -4
  496. package/node_modules/node-opcua-nodeset-ua/dist/dt_structure_field.js.map +0 -1
  497. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscribed_data_set.d.ts +0 -10
  498. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscribed_data_set.js +0 -3
  499. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscribed_data_set.js.map +0 -1
  500. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscribed_data_set_mirror.d.ts +0 -18
  501. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscribed_data_set_mirror.js +0 -4
  502. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscribed_data_set_mirror.js.map +0 -1
  503. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscription_diagnostics.d.ts +0 -47
  504. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscription_diagnostics.js +0 -4
  505. package/node_modules/node-opcua-nodeset-ua/dist/dt_subscription_diagnostics.js.map +0 -1
  506. package/node_modules/node-opcua-nodeset-ua/dist/dt_target_variables.d.ts +0 -16
  507. package/node_modules/node-opcua-nodeset-ua/dist/dt_target_variables.js +0 -4
  508. package/node_modules/node-opcua-nodeset-ua/dist/dt_target_variables.js.map +0 -1
  509. package/node_modules/node-opcua-nodeset-ua/dist/dt_time_zone.d.ts +0 -17
  510. package/node_modules/node-opcua-nodeset-ua/dist/dt_time_zone.js +0 -4
  511. package/node_modules/node-opcua-nodeset-ua/dist/dt_time_zone.js.map +0 -1
  512. package/node_modules/node-opcua-nodeset-ua/dist/dt_trace_context.d.ts +0 -19
  513. package/node_modules/node-opcua-nodeset-ua/dist/dt_trace_context.js +0 -4
  514. package/node_modules/node-opcua-nodeset-ua/dist/dt_trace_context.js.map +0 -1
  515. package/node_modules/node-opcua-nodeset-ua/dist/dt_transaction_error.d.ts +0 -20
  516. package/node_modules/node-opcua-nodeset-ua/dist/dt_transaction_error.js +0 -4
  517. package/node_modules/node-opcua-nodeset-ua/dist/dt_transaction_error.js.map +0 -1
  518. package/node_modules/node-opcua-nodeset-ua/dist/dt_transmit_qos.d.ts +0 -10
  519. package/node_modules/node-opcua-nodeset-ua/dist/dt_transmit_qos.js +0 -3
  520. package/node_modules/node-opcua-nodeset-ua/dist/dt_transmit_qos.js.map +0 -1
  521. package/node_modules/node-opcua-nodeset-ua/dist/dt_transmit_qos_priority.d.ts +0 -16
  522. package/node_modules/node-opcua-nodeset-ua/dist/dt_transmit_qos_priority.js +0 -4
  523. package/node_modules/node-opcua-nodeset-ua/dist/dt_transmit_qos_priority.js.map +0 -1
  524. package/node_modules/node-opcua-nodeset-ua/dist/dt_trust_list.d.ts +0 -20
  525. package/node_modules/node-opcua-nodeset-ua/dist/dt_trust_list.js +0 -4
  526. package/node_modules/node-opcua-nodeset-ua/dist/dt_trust_list.js.map +0 -1
  527. package/node_modules/node-opcua-nodeset-ua/dist/dt_ua_binary_file.d.ts +0 -27
  528. package/node_modules/node-opcua-nodeset-ua/dist/dt_ua_binary_file.js +0 -4
  529. package/node_modules/node-opcua-nodeset-ua/dist/dt_ua_binary_file.js.map +0 -1
  530. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_data_set_reader_message.d.ts +0 -24
  531. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_data_set_reader_message.js +0 -4
  532. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_data_set_reader_message.js.map +0 -1
  533. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_data_set_writer_message.d.ts +0 -19
  534. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_data_set_writer_message.js +0 -4
  535. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_data_set_writer_message.js.map +0 -1
  536. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_writer_group_message.d.ts +0 -21
  537. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_writer_group_message.js +0 -4
  538. package/node_modules/node-opcua-nodeset-ua/dist/dt_uadp_writer_group_message.js.map +0 -1
  539. package/node_modules/node-opcua-nodeset-ua/dist/dt_union.d.ts +0 -10
  540. package/node_modules/node-opcua-nodeset-ua/dist/dt_union.js +0 -3
  541. package/node_modules/node-opcua-nodeset-ua/dist/dt_union.js.map +0 -1
  542. package/node_modules/node-opcua-nodeset-ua/dist/dt_unsigned_rational_number.d.ts +0 -17
  543. package/node_modules/node-opcua-nodeset-ua/dist/dt_unsigned_rational_number.js +0 -4
  544. package/node_modules/node-opcua-nodeset-ua/dist/dt_unsigned_rational_number.js.map +0 -1
  545. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_identity_token.d.ts +0 -16
  546. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_identity_token.js +0 -4
  547. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_identity_token.js.map +0 -1
  548. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_management.d.ts +0 -18
  549. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_management.js +0 -4
  550. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_management.js.map +0 -1
  551. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_name_identity_token.d.ts +0 -19
  552. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_name_identity_token.js +0 -4
  553. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_name_identity_token.js.map +0 -1
  554. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_token_policy.d.ts +0 -21
  555. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_token_policy.js +0 -4
  556. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_token_policy.js.map +0 -1
  557. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_token_settings.d.ts +0 -25
  558. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_token_settings.js +0 -4
  559. package/node_modules/node-opcua-nodeset-ua/dist/dt_user_token_settings.js.map +0 -1
  560. package/node_modules/node-opcua-nodeset-ua/dist/dt_vector.d.ts +0 -10
  561. package/node_modules/node-opcua-nodeset-ua/dist/dt_vector.js +0 -3
  562. package/node_modules/node-opcua-nodeset-ua/dist/dt_vector.js.map +0 -1
  563. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group.d.ts +0 -37
  564. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group.js +0 -4
  565. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group.js.map +0 -1
  566. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group_message.d.ts +0 -10
  567. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group_message.js +0 -3
  568. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group_message.js.map +0 -1
  569. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group_transport.d.ts +0 -10
  570. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group_transport.js +0 -3
  571. package/node_modules/node-opcua-nodeset-ua/dist/dt_writer_group_transport.js.map +0 -1
  572. package/node_modules/node-opcua-nodeset-ua/dist/dt_x_509_identity_token.d.ts +0 -17
  573. package/node_modules/node-opcua-nodeset-ua/dist/dt_x_509_identity_token.js +0 -4
  574. package/node_modules/node-opcua-nodeset-ua/dist/dt_x_509_identity_token.js.map +0 -1
  575. package/node_modules/node-opcua-nodeset-ua/dist/dt_xv.d.ts +0 -16
  576. package/node_modules/node-opcua-nodeset-ua/dist/dt_xv.js +0 -4
  577. package/node_modules/node-opcua-nodeset-ua/dist/dt_xv.js.map +0 -1
  578. package/node_modules/node-opcua-nodeset-ua/dist/enum_action_state.d.ts +0 -13
  579. package/node_modules/node-opcua-nodeset-ua/dist/enum_action_state.js +0 -19
  580. package/node_modules/node-opcua-nodeset-ua/dist/enum_action_state.js.map +0 -1
  581. package/node_modules/node-opcua-nodeset-ua/dist/enum_application.d.ts +0 -14
  582. package/node_modules/node-opcua-nodeset-ua/dist/enum_application.js +0 -20
  583. package/node_modules/node-opcua-nodeset-ua/dist/enum_application.js.map +0 -1
  584. package/node_modules/node-opcua-nodeset-ua/dist/enum_axis_scale.d.ts +0 -13
  585. package/node_modules/node-opcua-nodeset-ua/dist/enum_axis_scale.js +0 -19
  586. package/node_modules/node-opcua-nodeset-ua/dist/enum_axis_scale.js.map +0 -1
  587. package/node_modules/node-opcua-nodeset-ua/dist/enum_broker_transport_quality_of_service.d.ts +0 -15
  588. package/node_modules/node-opcua-nodeset-ua/dist/enum_broker_transport_quality_of_service.js +0 -21
  589. package/node_modules/node-opcua-nodeset-ua/dist/enum_broker_transport_quality_of_service.js.map +0 -1
  590. package/node_modules/node-opcua-nodeset-ua/dist/enum_chassis_id_subtype.d.ts +0 -60
  591. package/node_modules/node-opcua-nodeset-ua/dist/enum_chassis_id_subtype.js +0 -66
  592. package/node_modules/node-opcua-nodeset-ua/dist/enum_chassis_id_subtype.js.map +0 -1
  593. package/node_modules/node-opcua-nodeset-ua/dist/enum_configuration_update.d.ts +0 -30
  594. package/node_modules/node-opcua-nodeset-ua/dist/enum_configuration_update.js +0 -36
  595. package/node_modules/node-opcua-nodeset-ua/dist/enum_configuration_update.js.map +0 -1
  596. package/node_modules/node-opcua-nodeset-ua/dist/enum_conversion_limit_enum.d.ts +0 -13
  597. package/node_modules/node-opcua-nodeset-ua/dist/enum_conversion_limit_enum.js +0 -19
  598. package/node_modules/node-opcua-nodeset-ua/dist/enum_conversion_limit_enum.js.map +0 -1
  599. package/node_modules/node-opcua-nodeset-ua/dist/enum_data_set_ordering.d.ts +0 -13
  600. package/node_modules/node-opcua-nodeset-ua/dist/enum_data_set_ordering.js +0 -19
  601. package/node_modules/node-opcua-nodeset-ua/dist/enum_data_set_ordering.js.map +0 -1
  602. package/node_modules/node-opcua-nodeset-ua/dist/enum_diagnostics_level.d.ts +0 -15
  603. package/node_modules/node-opcua-nodeset-ua/dist/enum_diagnostics_level.js +0 -21
  604. package/node_modules/node-opcua-nodeset-ua/dist/enum_diagnostics_level.js.map +0 -1
  605. package/node_modules/node-opcua-nodeset-ua/dist/enum_duplex.d.ts +0 -22
  606. package/node_modules/node-opcua-nodeset-ua/dist/enum_duplex.js +0 -28
  607. package/node_modules/node-opcua-nodeset-ua/dist/enum_duplex.js.map +0 -1
  608. package/node_modules/node-opcua-nodeset-ua/dist/enum_exception_deviation_format.d.ts +0 -15
  609. package/node_modules/node-opcua-nodeset-ua/dist/enum_exception_deviation_format.js +0 -21
  610. package/node_modules/node-opcua-nodeset-ua/dist/enum_exception_deviation_format.js.map +0 -1
  611. package/node_modules/node-opcua-nodeset-ua/dist/enum_filter_operator.d.ts +0 -28
  612. package/node_modules/node-opcua-nodeset-ua/dist/enum_filter_operator.js +0 -34
  613. package/node_modules/node-opcua-nodeset-ua/dist/enum_filter_operator.js.map +0 -1
  614. package/node_modules/node-opcua-nodeset-ua/dist/enum_history_update.d.ts +0 -26
  615. package/node_modules/node-opcua-nodeset-ua/dist/enum_history_update.js +0 -32
  616. package/node_modules/node-opcua-nodeset-ua/dist/enum_history_update.js.map +0 -1
  617. package/node_modules/node-opcua-nodeset-ua/dist/enum_id.d.ts +0 -14
  618. package/node_modules/node-opcua-nodeset-ua/dist/enum_id.js +0 -20
  619. package/node_modules/node-opcua-nodeset-ua/dist/enum_id.js.map +0 -1
  620. package/node_modules/node-opcua-nodeset-ua/dist/enum_identity_criteria.d.ts +0 -55
  621. package/node_modules/node-opcua-nodeset-ua/dist/enum_identity_criteria.js +0 -61
  622. package/node_modules/node-opcua-nodeset-ua/dist/enum_identity_criteria.js.map +0 -1
  623. package/node_modules/node-opcua-nodeset-ua/dist/enum_interface_admin_status.d.ts +0 -23
  624. package/node_modules/node-opcua-nodeset-ua/dist/enum_interface_admin_status.js +0 -29
  625. package/node_modules/node-opcua-nodeset-ua/dist/enum_interface_admin_status.js.map +0 -1
  626. package/node_modules/node-opcua-nodeset-ua/dist/enum_interface_oper_status.d.ts +0 -39
  627. package/node_modules/node-opcua-nodeset-ua/dist/enum_interface_oper_status.js +0 -45
  628. package/node_modules/node-opcua-nodeset-ua/dist/enum_interface_oper_status.js.map +0 -1
  629. package/node_modules/node-opcua-nodeset-ua/dist/enum_man_addr_if_subtype.d.ts +0 -26
  630. package/node_modules/node-opcua-nodeset-ua/dist/enum_man_addr_if_subtype.js +0 -32
  631. package/node_modules/node-opcua-nodeset-ua/dist/enum_man_addr_if_subtype.js.map +0 -1
  632. package/node_modules/node-opcua-nodeset-ua/dist/enum_message_security_mode.d.ts +0 -14
  633. package/node_modules/node-opcua-nodeset-ua/dist/enum_message_security_mode.js +0 -20
  634. package/node_modules/node-opcua-nodeset-ua/dist/enum_message_security_mode.js.map +0 -1
  635. package/node_modules/node-opcua-nodeset-ua/dist/enum_naming_rule.d.ts +0 -25
  636. package/node_modules/node-opcua-nodeset-ua/dist/enum_naming_rule.js +0 -31
  637. package/node_modules/node-opcua-nodeset-ua/dist/enum_naming_rule.js.map +0 -1
  638. package/node_modules/node-opcua-nodeset-ua/dist/enum_negotiation_status.d.ts +0 -37
  639. package/node_modules/node-opcua-nodeset-ua/dist/enum_negotiation_status.js +0 -43
  640. package/node_modules/node-opcua-nodeset-ua/dist/enum_negotiation_status.js.map +0 -1
  641. package/node_modules/node-opcua-nodeset-ua/dist/enum_node_attributes_mask.d.ts +0 -45
  642. package/node_modules/node-opcua-nodeset-ua/dist/enum_node_attributes_mask.js +0 -51
  643. package/node_modules/node-opcua-nodeset-ua/dist/enum_node_attributes_mask.js.map +0 -1
  644. package/node_modules/node-opcua-nodeset-ua/dist/enum_node_class.d.ts +0 -46
  645. package/node_modules/node-opcua-nodeset-ua/dist/enum_node_class.js +0 -52
  646. package/node_modules/node-opcua-nodeset-ua/dist/enum_node_class.js.map +0 -1
  647. package/node_modules/node-opcua-nodeset-ua/dist/enum_open_file_mode.d.ts +0 -14
  648. package/node_modules/node-opcua-nodeset-ua/dist/enum_open_file_mode.js +0 -20
  649. package/node_modules/node-opcua-nodeset-ua/dist/enum_open_file_mode.js.map +0 -1
  650. package/node_modules/node-opcua-nodeset-ua/dist/enum_override_value_handling.d.ts +0 -13
  651. package/node_modules/node-opcua-nodeset-ua/dist/enum_override_value_handling.js +0 -19
  652. package/node_modules/node-opcua-nodeset-ua/dist/enum_override_value_handling.js.map +0 -1
  653. package/node_modules/node-opcua-nodeset-ua/dist/enum_perform_update.d.ts +0 -26
  654. package/node_modules/node-opcua-nodeset-ua/dist/enum_perform_update.js +0 -32
  655. package/node_modules/node-opcua-nodeset-ua/dist/enum_perform_update.js.map +0 -1
  656. package/node_modules/node-opcua-nodeset-ua/dist/enum_port_id_subtype.d.ts +0 -54
  657. package/node_modules/node-opcua-nodeset-ua/dist/enum_port_id_subtype.js +0 -60
  658. package/node_modules/node-opcua-nodeset-ua/dist/enum_port_id_subtype.js.map +0 -1
  659. package/node_modules/node-opcua-nodeset-ua/dist/enum_pub_sub_diagnostics_counter_classification.d.ts +0 -12
  660. package/node_modules/node-opcua-nodeset-ua/dist/enum_pub_sub_diagnostics_counter_classification.js +0 -18
  661. package/node_modules/node-opcua-nodeset-ua/dist/enum_pub_sub_diagnostics_counter_classification.js.map +0 -1
  662. package/node_modules/node-opcua-nodeset-ua/dist/enum_pub_sub_state.d.ts +0 -15
  663. package/node_modules/node-opcua-nodeset-ua/dist/enum_pub_sub_state.js +0 -21
  664. package/node_modules/node-opcua-nodeset-ua/dist/enum_pub_sub_state.js.map +0 -1
  665. package/node_modules/node-opcua-nodeset-ua/dist/enum_redundancy_support.d.ts +0 -16
  666. package/node_modules/node-opcua-nodeset-ua/dist/enum_redundancy_support.js +0 -22
  667. package/node_modules/node-opcua-nodeset-ua/dist/enum_redundancy_support.js.map +0 -1
  668. package/node_modules/node-opcua-nodeset-ua/dist/enum_redundant_server_mode.d.ts +0 -14
  669. package/node_modules/node-opcua-nodeset-ua/dist/enum_redundant_server_mode.js +0 -20
  670. package/node_modules/node-opcua-nodeset-ua/dist/enum_redundant_server_mode.js.map +0 -1
  671. package/node_modules/node-opcua-nodeset-ua/dist/enum_security_token_request.d.ts +0 -12
  672. package/node_modules/node-opcua-nodeset-ua/dist/enum_security_token_request.js +0 -18
  673. package/node_modules/node-opcua-nodeset-ua/dist/enum_security_token_request.js.map +0 -1
  674. package/node_modules/node-opcua-nodeset-ua/dist/enum_server_state.d.ts +0 -18
  675. package/node_modules/node-opcua-nodeset-ua/dist/enum_server_state.js +0 -24
  676. package/node_modules/node-opcua-nodeset-ua/dist/enum_server_state.js.map +0 -1
  677. package/node_modules/node-opcua-nodeset-ua/dist/enum_structure.d.ts +0 -15
  678. package/node_modules/node-opcua-nodeset-ua/dist/enum_structure.js +0 -21
  679. package/node_modules/node-opcua-nodeset-ua/dist/enum_structure.js.map +0 -1
  680. package/node_modules/node-opcua-nodeset-ua/dist/enum_trust_list_masks.d.ts +0 -34
  681. package/node_modules/node-opcua-nodeset-ua/dist/enum_trust_list_masks.js +0 -40
  682. package/node_modules/node-opcua-nodeset-ua/dist/enum_trust_list_masks.js.map +0 -1
  683. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_failure_code.d.ts +0 -119
  684. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_failure_code.js +0 -125
  685. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_failure_code.js.map +0 -1
  686. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_listener_status.d.ts +0 -27
  687. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_listener_status.js +0 -33
  688. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_listener_status.js.map +0 -1
  689. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_stream_state.d.ts +0 -40
  690. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_stream_state.js +0 -46
  691. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_stream_state.js.map +0 -1
  692. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_talker_status.d.ts +0 -22
  693. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_talker_status.js +0 -28
  694. package/node_modules/node-opcua-nodeset-ua/dist/enum_tsn_talker_status.js.map +0 -1
  695. package/node_modules/node-opcua-nodeset-ua/dist/enum_user_token.d.ts +0 -14
  696. package/node_modules/node-opcua-nodeset-ua/dist/enum_user_token.js +0 -20
  697. package/node_modules/node-opcua-nodeset-ua/dist/enum_user_token.js.map +0 -1
  698. package/node_modules/node-opcua-nodeset-ua/dist/eu_information.d.ts +0 -20
  699. package/node_modules/node-opcua-nodeset-ua/dist/eu_information.js +0 -4
  700. package/node_modules/node-opcua-nodeset-ua/dist/eu_information.js.map +0 -1
  701. package/node_modules/node-opcua-nodeset-ua/dist/index.d.ts +0 -565
  702. package/node_modules/node-opcua-nodeset-ua/dist/index.js +0 -582
  703. package/node_modules/node-opcua-nodeset-ua/dist/index.js.map +0 -1
  704. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_cartesian_coordinates.d.ts +0 -22
  705. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_cartesian_coordinates.js +0 -3
  706. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_cartesian_coordinates.js.map +0 -1
  707. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_frame.d.ts +0 -23
  708. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_frame.js +0 -3
  709. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_frame.js.map +0 -1
  710. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_orientation.d.ts +0 -22
  711. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_orientation.js +0 -3
  712. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_orientation.js.map +0 -1
  713. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_vector.d.ts +0 -22
  714. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_vector.js +0 -3
  715. package/node_modules/node-opcua-nodeset-ua/dist/ua_3_d_vector.js.map +0 -1
  716. package/node_modules/node-opcua-nodeset-ua/dist/ua_acknowledgeable_condition.d.ts +0 -21
  717. package/node_modules/node-opcua-nodeset-ua/dist/ua_acknowledgeable_condition.js +0 -3
  718. package/node_modules/node-opcua-nodeset-ua/dist/ua_acknowledgeable_condition.js.map +0 -1
  719. package/node_modules/node-opcua-nodeset-ua/dist/ua_address_space_file.d.ts +0 -15
  720. package/node_modules/node-opcua-nodeset-ua/dist/ua_address_space_file.js +0 -3
  721. package/node_modules/node-opcua-nodeset-ua/dist/ua_address_space_file.js.map +0 -1
  722. package/node_modules/node-opcua-nodeset-ua/dist/ua_aggregate_configuration.d.ts +0 -19
  723. package/node_modules/node-opcua-nodeset-ua/dist/ua_aggregate_configuration.js +0 -3
  724. package/node_modules/node-opcua-nodeset-ua/dist/ua_aggregate_configuration.js.map +0 -1
  725. package/node_modules/node-opcua-nodeset-ua/dist/ua_aggregate_function.d.ts +0 -5
  726. package/node_modules/node-opcua-nodeset-ua/dist/ua_aggregate_function.js +0 -3
  727. package/node_modules/node-opcua-nodeset-ua/dist/ua_aggregate_function.js.map +0 -1
  728. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_condition.d.ts +0 -53
  729. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_condition.js +0 -3
  730. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_condition.js.map +0 -1
  731. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_group.d.ts +0 -12
  732. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_group.js +0 -3
  733. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_group.js.map +0 -1
  734. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_metrics.d.ts +0 -26
  735. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_metrics.js +0 -3
  736. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_metrics.js.map +0 -1
  737. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_rate_variable.d.ts +0 -20
  738. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_rate_variable.js +0 -3
  739. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_rate_variable.js.map +0 -1
  740. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_state_variable.d.ts +0 -26
  741. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_state_variable.js +0 -3
  742. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_state_variable.js.map +0 -1
  743. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_suppression_group.d.ts +0 -12
  744. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_suppression_group.js +0 -3
  745. package/node_modules/node-opcua-nodeset-ua/dist/ua_alarm_suppression_group.js.map +0 -1
  746. package/node_modules/node-opcua-nodeset-ua/dist/ua_alias_name.d.ts +0 -5
  747. package/node_modules/node-opcua-nodeset-ua/dist/ua_alias_name.js +0 -3
  748. package/node_modules/node-opcua-nodeset-ua/dist/ua_alias_name.js.map +0 -1
  749. package/node_modules/node-opcua-nodeset-ua/dist/ua_alias_name_category.d.ts +0 -18
  750. package/node_modules/node-opcua-nodeset-ua/dist/ua_alias_name_category.js +0 -3
  751. package/node_modules/node-opcua-nodeset-ua/dist/ua_alias_name_category.js.map +0 -1
  752. package/node_modules/node-opcua-nodeset-ua/dist/ua_alternative_unit.d.ts +0 -20
  753. package/node_modules/node-opcua-nodeset-ua/dist/ua_alternative_unit.js +0 -3
  754. package/node_modules/node-opcua-nodeset-ua/dist/ua_alternative_unit.js.map +0 -1
  755. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_item.d.ts +0 -20
  756. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_item.js +0 -3
  757. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_item.js.map +0 -1
  758. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_unit.d.ts +0 -20
  759. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_unit.js +0 -3
  760. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_unit.js.map +0 -1
  761. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_unit_range.d.ts +0 -20
  762. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_unit_range.js +0 -3
  763. package/node_modules/node-opcua-nodeset-ua/dist/ua_analog_unit_range.js.map +0 -1
  764. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_certificate.d.ts +0 -12
  765. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_certificate.js +0 -3
  766. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_certificate.js.map +0 -1
  767. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration.d.ts +0 -26
  768. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration.js +0 -3
  769. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration.js.map +0 -1
  770. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration_file.d.ts +0 -26
  771. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration_file.js +0 -3
  772. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration_file.js.map +0 -1
  773. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration_folder.d.ts +0 -12
  774. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration_folder.js +0 -3
  775. package/node_modules/node-opcua-nodeset-ua/dist/ua_application_configuration_folder.js.map +0 -1
  776. package/node_modules/node-opcua-nodeset-ua/dist/ua_array_item.d.ts +0 -27
  777. package/node_modules/node-opcua-nodeset-ua/dist/ua_array_item.js +0 -3
  778. package/node_modules/node-opcua-nodeset-ua/dist/ua_array_item.js.map +0 -1
  779. package/node_modules/node-opcua-nodeset-ua/dist/ua_audio_variable.d.ts +0 -22
  780. package/node_modules/node-opcua-nodeset-ua/dist/ua_audio_variable.js +0 -3
  781. package/node_modules/node-opcua-nodeset-ua/dist/ua_audio_variable.js.map +0 -1
  782. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_activate_session_event.d.ts +0 -23
  783. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_activate_session_event.js +0 -3
  784. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_activate_session_event.js.map +0 -1
  785. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_add_nodes_event.d.ts +0 -17
  786. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_add_nodes_event.js +0 -3
  787. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_add_nodes_event.js.map +0 -1
  788. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_add_references_event.d.ts +0 -17
  789. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_add_references_event.js +0 -3
  790. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_add_references_event.js.map +0 -1
  791. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_cancel_event.d.ts +0 -17
  792. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_cancel_event.js +0 -3
  793. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_cancel_event.js.map +0 -1
  794. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_data_mismatch_event.d.ts +0 -18
  795. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_data_mismatch_event.js +0 -3
  796. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_data_mismatch_event.js.map +0 -1
  797. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_event.d.ts +0 -16
  798. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_event.js +0 -3
  799. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_event.js.map +0 -1
  800. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_expired_event.d.ts +0 -12
  801. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_expired_event.js +0 -3
  802. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_expired_event.js.map +0 -1
  803. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_invalid_event.d.ts +0 -12
  804. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_invalid_event.js +0 -3
  805. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_invalid_event.js.map +0 -1
  806. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_mismatch_event.d.ts +0 -12
  807. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_mismatch_event.js +0 -3
  808. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_mismatch_event.js.map +0 -1
  809. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_revoked_event.d.ts +0 -12
  810. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_revoked_event.js +0 -3
  811. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_revoked_event.js.map +0 -1
  812. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_untrusted_event.d.ts +0 -12
  813. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_untrusted_event.js +0 -3
  814. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_certificate_untrusted_event.js.map +0 -1
  815. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_channel_event.d.ts +0 -17
  816. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_channel_event.js +0 -3
  817. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_channel_event.js.map +0 -1
  818. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_client_event.d.ts +0 -17
  819. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_client_event.js +0 -3
  820. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_client_event.js.map +0 -1
  821. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_client_update_method_result_event.d.ts +0 -22
  822. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_client_update_method_result_event.js +0 -3
  823. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_client_update_method_result_event.js.map +0 -1
  824. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_acknowledge_event.d.ts +0 -18
  825. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_acknowledge_event.js +0 -3
  826. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_acknowledge_event.js.map +0 -1
  827. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_comment_event.d.ts +0 -18
  828. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_comment_event.js +0 -3
  829. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_comment_event.js.map +0 -1
  830. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_confirm_event.d.ts +0 -18
  831. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_confirm_event.js +0 -3
  832. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_confirm_event.js.map +0 -1
  833. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_enable_event.d.ts +0 -12
  834. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_enable_event.js +0 -3
  835. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_enable_event.js.map +0 -1
  836. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_event.d.ts +0 -12
  837. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_event.js +0 -3
  838. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_event.js.map +0 -1
  839. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_out_of_service_event.d.ts +0 -12
  840. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_out_of_service_event.js +0 -3
  841. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_out_of_service_event.js.map +0 -1
  842. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_reset_event.d.ts +0 -12
  843. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_reset_event.js +0 -3
  844. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_reset_event.js.map +0 -1
  845. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_respond_event.d.ts +0 -17
  846. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_respond_event.js +0 -3
  847. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_respond_event.js.map +0 -1
  848. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_shelving_event.d.ts +0 -16
  849. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_shelving_event.js +0 -3
  850. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_shelving_event.js.map +0 -1
  851. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_silence_event.d.ts +0 -12
  852. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_silence_event.js +0 -3
  853. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_silence_event.js.map +0 -1
  854. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_suppression_event.d.ts +0 -12
  855. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_suppression_event.js +0 -3
  856. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_condition_suppression_event.js.map +0 -1
  857. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_create_session_event.d.ts +0 -20
  858. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_create_session_event.js +0 -3
  859. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_create_session_event.js.map +0 -1
  860. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_delete_nodes_event.d.ts +0 -17
  861. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_delete_nodes_event.js +0 -3
  862. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_delete_nodes_event.js.map +0 -1
  863. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_delete_references_event.d.ts +0 -17
  864. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_delete_references_event.js +0 -3
  865. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_delete_references_event.js.map +0 -1
  866. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_event.d.ts +0 -22
  867. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_event.js +0 -3
  868. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_event.js.map +0 -1
  869. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_annotation_update_event.d.ts +0 -20
  870. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_annotation_update_event.js +0 -3
  871. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_annotation_update_event.js.map +0 -1
  872. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_at_time_delete_event.d.ts +0 -18
  873. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_at_time_delete_event.js +0 -3
  874. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_at_time_delete_event.js.map +0 -1
  875. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_bulk_insert_event.d.ts +0 -19
  876. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_bulk_insert_event.js +0 -3
  877. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_bulk_insert_event.js.map +0 -1
  878. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_configuration_change_event.d.ts +0 -12
  879. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_configuration_change_event.js +0 -3
  880. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_configuration_change_event.js.map +0 -1
  881. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_delete_event.d.ts +0 -17
  882. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_delete_event.js +0 -3
  883. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_delete_event.js.map +0 -1
  884. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_event_delete_event.d.ts +0 -18
  885. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_event_delete_event.js +0 -3
  886. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_event_delete_event.js.map +0 -1
  887. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_event_update_event.d.ts +0 -24
  888. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_event_update_event.js +0 -3
  889. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_event_update_event.js.map +0 -1
  890. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_raw_modify_delete_event.d.ts +0 -20
  891. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_raw_modify_delete_event.js +0 -3
  892. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_raw_modify_delete_event.js.map +0 -1
  893. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_update_event.d.ts +0 -17
  894. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_update_event.js +0 -3
  895. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_update_event.js.map +0 -1
  896. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_value_update_event.d.ts +0 -22
  897. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_value_update_event.js +0 -3
  898. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_history_value_update_event.js.map +0 -1
  899. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_node_management_event.d.ts +0 -12
  900. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_node_management_event.js +0 -3
  901. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_node_management_event.js.map +0 -1
  902. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_open_secure_channel_event.d.ts +0 -25
  903. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_open_secure_channel_event.js +0 -3
  904. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_open_secure_channel_event.js.map +0 -1
  905. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_program_transition_event.d.ts +0 -17
  906. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_program_transition_event.js +0 -3
  907. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_program_transition_event.js.map +0 -1
  908. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_security_event.d.ts +0 -17
  909. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_security_event.js +0 -3
  910. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_security_event.js.map +0 -1
  911. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_session_event.d.ts +0 -17
  912. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_session_event.js +0 -3
  913. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_session_event.js.map +0 -1
  914. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_event.d.ts +0 -12
  915. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_event.js +0 -3
  916. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_event.js.map +0 -1
  917. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_method_event.d.ts +0 -21
  918. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_method_event.js +0 -3
  919. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_method_event.js.map +0 -1
  920. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_state_event.d.ts +0 -16
  921. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_state_event.js +0 -3
  922. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_update_state_event.js.map +0 -1
  923. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_url_mismatch_event.d.ts +0 -17
  924. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_url_mismatch_event.js +0 -3
  925. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_url_mismatch_event.js.map +0 -1
  926. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_write_update_event.d.ts +0 -20
  927. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_write_update_event.js +0 -3
  928. package/node_modules/node-opcua-nodeset-ua/dist/ua_audit_write_update_event.js.map +0 -1
  929. package/node_modules/node-opcua-nodeset-ua/dist/ua_authorization_service_configuration.d.ts +0 -18
  930. package/node_modules/node-opcua-nodeset-ua/dist/ua_authorization_service_configuration.js +0 -3
  931. package/node_modules/node-opcua-nodeset-ua/dist/ua_authorization_service_configuration.js.map +0 -1
  932. package/node_modules/node-opcua-nodeset-ua/dist/ua_authorization_services_configuration_folder.d.ts +0 -12
  933. package/node_modules/node-opcua-nodeset-ua/dist/ua_authorization_services_configuration_folder.js +0 -3
  934. package/node_modules/node-opcua-nodeset-ua/dist/ua_authorization_services_configuration_folder.js.map +0 -1
  935. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_analog.d.ts +0 -23
  936. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_analog.js +0 -3
  937. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_analog.js.map +0 -1
  938. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_condition_class.d.ts +0 -5
  939. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_condition_class.js +0 -3
  940. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_condition_class.js.map +0 -1
  941. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_data_variable.d.ts +0 -6
  942. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_data_variable.js +0 -3
  943. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_data_variable.js.map +0 -1
  944. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_event.d.ts +0 -31
  945. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_event.js +0 -3
  946. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_event.js.map +0 -1
  947. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_interface.d.ts +0 -5
  948. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_interface.js +0 -3
  949. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_interface.js.map +0 -1
  950. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_log_event.d.ts +0 -22
  951. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_log_event.js +0 -3
  952. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_log_event.js.map +0 -1
  953. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_model_change_event.d.ts +0 -12
  954. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_model_change_event.js +0 -3
  955. package/node_modules/node-opcua-nodeset-ua/dist/ua_base_model_change_event.js.map +0 -1
  956. package/node_modules/node-opcua-nodeset-ua/dist/ua_bit_field.d.ts +0 -20
  957. package/node_modules/node-opcua-nodeset-ua/dist/ua_bit_field.js +0 -3
  958. package/node_modules/node-opcua-nodeset-ua/dist/ua_bit_field.js.map +0 -1
  959. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_connection_transport.d.ts +0 -18
  960. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_connection_transport.js +0 -3
  961. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_connection_transport.js.map +0 -1
  962. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_data_set_reader_transport.d.ts +0 -22
  963. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_data_set_reader_transport.js +0 -3
  964. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_data_set_reader_transport.js.map +0 -1
  965. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_data_set_writer_transport.d.ts +0 -23
  966. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_data_set_writer_transport.js +0 -3
  967. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_data_set_writer_transport.js.map +0 -1
  968. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_writer_group_transport.d.ts +0 -21
  969. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_writer_group_transport.js +0 -3
  970. package/node_modules/node-opcua-nodeset-ua/dist/ua_broker_writer_group_transport.js.map +0 -1
  971. package/node_modules/node-opcua-nodeset-ua/dist/ua_build_info.d.ts +0 -25
  972. package/node_modules/node-opcua-nodeset-ua/dist/ua_build_info.js +0 -3
  973. package/node_modules/node-opcua-nodeset-ua/dist/ua_build_info.js.map +0 -1
  974. package/node_modules/node-opcua-nodeset-ua/dist/ua_cartesian_coordinates.d.ts +0 -21
  975. package/node_modules/node-opcua-nodeset-ua/dist/ua_cartesian_coordinates.js +0 -3
  976. package/node_modules/node-opcua-nodeset-ua/dist/ua_cartesian_coordinates.js.map +0 -1
  977. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate.d.ts +0 -5
  978. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate.js +0 -3
  979. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate.js.map +0 -1
  980. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_expiration_alarm.d.ts +0 -20
  981. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_expiration_alarm.js +0 -3
  982. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_expiration_alarm.js.map +0 -1
  983. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_group.d.ts +0 -24
  984. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_group.js +0 -3
  985. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_group.js.map +0 -1
  986. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_group_folder.d.ts +0 -17
  987. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_group_folder.js +0 -3
  988. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_group_folder.js.map +0 -1
  989. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_update_requested_audit_event.d.ts +0 -12
  990. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_update_requested_audit_event.js +0 -3
  991. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_update_requested_audit_event.js.map +0 -1
  992. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_updated_audit_event.d.ts +0 -18
  993. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_updated_audit_event.js +0 -3
  994. package/node_modules/node-opcua-nodeset-ua/dist/ua_certificate_updated_audit_event.js.map +0 -1
  995. package/node_modules/node-opcua-nodeset-ua/dist/ua_choice_state.d.ts +0 -12
  996. package/node_modules/node-opcua-nodeset-ua/dist/ua_choice_state.js +0 -3
  997. package/node_modules/node-opcua-nodeset-ua/dist/ua_choice_state.js.map +0 -1
  998. package/node_modules/node-opcua-nodeset-ua/dist/ua_condition.d.ts +0 -39
  999. package/node_modules/node-opcua-nodeset-ua/dist/ua_condition.js +0 -3
  1000. package/node_modules/node-opcua-nodeset-ua/dist/ua_condition.js.map +0 -1
  1001. package/node_modules/node-opcua-nodeset-ua/dist/ua_condition_variable.d.ts +0 -19
  1002. package/node_modules/node-opcua-nodeset-ua/dist/ua_condition_variable.js +0 -3
  1003. package/node_modules/node-opcua-nodeset-ua/dist/ua_condition_variable.js.map +0 -1
  1004. package/node_modules/node-opcua-nodeset-ua/dist/ua_configuration_file.d.ts +0 -23
  1005. package/node_modules/node-opcua-nodeset-ua/dist/ua_configuration_file.js +0 -3
  1006. package/node_modules/node-opcua-nodeset-ua/dist/ua_configuration_file.js.map +0 -1
  1007. package/node_modules/node-opcua-nodeset-ua/dist/ua_configuration_updated_audit_event.d.ts +0 -18
  1008. package/node_modules/node-opcua-nodeset-ua/dist/ua_configuration_updated_audit_event.js +0 -3
  1009. package/node_modules/node-opcua-nodeset-ua/dist/ua_configuration_updated_audit_event.js.map +0 -1
  1010. package/node_modules/node-opcua-nodeset-ua/dist/ua_connection_transport.d.ts +0 -5
  1011. package/node_modules/node-opcua-nodeset-ua/dist/ua_connection_transport.js +0 -3
  1012. package/node_modules/node-opcua-nodeset-ua/dist/ua_connection_transport.js.map +0 -1
  1013. package/node_modules/node-opcua-nodeset-ua/dist/ua_cube_item.d.ts +0 -22
  1014. package/node_modules/node-opcua-nodeset-ua/dist/ua_cube_item.js +0 -3
  1015. package/node_modules/node-opcua-nodeset-ua/dist/ua_cube_item.js.map +0 -1
  1016. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_item.d.ts +0 -21
  1017. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_item.js +0 -3
  1018. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_item.js.map +0 -1
  1019. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_folder.d.ts +0 -21
  1020. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_folder.js +0 -3
  1021. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_folder.js.map +0 -1
  1022. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader.d.ts +0 -43
  1023. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader.js +0 -3
  1024. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader.js.map +0 -1
  1025. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader_message.d.ts +0 -5
  1026. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader_message.js +0 -3
  1027. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader_message.js.map +0 -1
  1028. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader_transport.d.ts +0 -5
  1029. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader_transport.js +0 -3
  1030. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_reader_transport.js.map +0 -1
  1031. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer.d.ts +0 -28
  1032. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer.js +0 -3
  1033. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer.js.map +0 -1
  1034. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer_message.d.ts +0 -5
  1035. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer_message.js +0 -3
  1036. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer_message.js.map +0 -1
  1037. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer_transport.d.ts +0 -5
  1038. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer_transport.js +0 -3
  1039. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_set_writer_transport.js.map +0 -1
  1040. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_description.d.ts +0 -21
  1041. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_description.js +0 -3
  1042. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_description.js.map +0 -1
  1043. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_dictionary.d.ts +0 -22
  1044. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_dictionary.js +0 -3
  1045. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_dictionary.js.map +0 -1
  1046. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_encoding.d.ts +0 -5
  1047. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_encoding.js +0 -3
  1048. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_encoding.js.map +0 -1
  1049. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_refinement.d.ts +0 -5
  1050. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_refinement.js +0 -3
  1051. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_refinement.js.map +0 -1
  1052. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_system.d.ts +0 -5
  1053. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_system.js +0 -3
  1054. package/node_modules/node-opcua-nodeset-ua/dist/ua_data_type_system.js.map +0 -1
  1055. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_connection_transport.d.ts +0 -23
  1056. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_connection_transport.js +0 -3
  1057. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_connection_transport.js.map +0 -1
  1058. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_data_set_reader_transport.d.ts +0 -22
  1059. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_data_set_reader_transport.js +0 -3
  1060. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_data_set_reader_transport.js.map +0 -1
  1061. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_writer_group_transport.d.ts +0 -25
  1062. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_writer_group_transport.js +0 -3
  1063. package/node_modules/node-opcua-nodeset-ua/dist/ua_datagram_writer_group_transport.js.map +0 -1
  1064. package/node_modules/node-opcua-nodeset-ua/dist/ua_device_failure_event.d.ts +0 -12
  1065. package/node_modules/node-opcua-nodeset-ua/dist/ua_device_failure_event.js +0 -3
  1066. package/node_modules/node-opcua-nodeset-ua/dist/ua_device_failure_event.js.map +0 -1
  1067. package/node_modules/node-opcua-nodeset-ua/dist/ua_dialog_condition.d.ts +0 -28
  1068. package/node_modules/node-opcua-nodeset-ua/dist/ua_dialog_condition.js +0 -3
  1069. package/node_modules/node-opcua-nodeset-ua/dist/ua_dialog_condition.js.map +0 -1
  1070. package/node_modules/node-opcua-nodeset-ua/dist/ua_dictionary_entry.d.ts +0 -13
  1071. package/node_modules/node-opcua-nodeset-ua/dist/ua_dictionary_entry.js +0 -3
  1072. package/node_modules/node-opcua-nodeset-ua/dist/ua_dictionary_entry.js.map +0 -1
  1073. package/node_modules/node-opcua-nodeset-ua/dist/ua_dictionary_folder.d.ts +0 -12
  1074. package/node_modules/node-opcua-nodeset-ua/dist/ua_dictionary_folder.js +0 -3
  1075. package/node_modules/node-opcua-nodeset-ua/dist/ua_dictionary_folder.js.map +0 -1
  1076. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrepancy_alarm.d.ts +0 -19
  1077. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrepancy_alarm.js +0 -3
  1078. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrepancy_alarm.js.map +0 -1
  1079. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrete_alarm.d.ts +0 -12
  1080. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrete_alarm.js +0 -3
  1081. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrete_alarm.js.map +0 -1
  1082. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrete_item.d.ts +0 -16
  1083. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrete_item.js +0 -3
  1084. package/node_modules/node-opcua-nodeset-ua/dist/ua_discrete_item.js.map +0 -1
  1085. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_application_certificate.d.ts +0 -12
  1086. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_application_certificate.js +0 -3
  1087. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_application_certificate.js.map +0 -1
  1088. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_brainpool_p_256_r_1_application_certificate.d.ts +0 -12
  1089. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_brainpool_p_256_r_1_application_certificate.js +0 -3
  1090. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_brainpool_p_256_r_1_application_certificate.js.map +0 -1
  1091. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_brainpool_p_384_r_1_application_certificate.d.ts +0 -12
  1092. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_brainpool_p_384_r_1_application_certificate.js +0 -3
  1093. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_brainpool_p_384_r_1_application_certificate.js.map +0 -1
  1094. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_curve_25519_application_certificate.d.ts +0 -12
  1095. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_curve_25519_application_certificate.js +0 -3
  1096. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_curve_25519_application_certificate.js.map +0 -1
  1097. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_curve_448_application_certificate.d.ts +0 -12
  1098. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_curve_448_application_certificate.js +0 -3
  1099. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_curve_448_application_certificate.js.map +0 -1
  1100. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_nist_p_256_application_certificate.d.ts +0 -12
  1101. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_nist_p_256_application_certificate.js +0 -3
  1102. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_nist_p_256_application_certificate.js.map +0 -1
  1103. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_nist_p_384_application_certificate.d.ts +0 -12
  1104. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_nist_p_384_application_certificate.js +0 -3
  1105. package/node_modules/node-opcua-nodeset-ua/dist/ua_ecc_nist_p_384_application_certificate.js.map +0 -1
  1106. package/node_modules/node-opcua-nodeset-ua/dist/ua_else_guard_variable.d.ts +0 -16
  1107. package/node_modules/node-opcua-nodeset-ua/dist/ua_else_guard_variable.js +0 -3
  1108. package/node_modules/node-opcua-nodeset-ua/dist/ua_else_guard_variable.js.map +0 -1
  1109. package/node_modules/node-opcua-nodeset-ua/dist/ua_event_queue_overflow_event.d.ts +0 -12
  1110. package/node_modules/node-opcua-nodeset-ua/dist/ua_event_queue_overflow_event.js +0 -3
  1111. package/node_modules/node-opcua-nodeset-ua/dist/ua_event_queue_overflow_event.js.map +0 -1
  1112. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_deviation_alarm.d.ts +0 -18
  1113. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_deviation_alarm.js +0 -3
  1114. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_deviation_alarm.js.map +0 -1
  1115. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_level_alarm.d.ts +0 -12
  1116. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_level_alarm.js +0 -3
  1117. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_level_alarm.js.map +0 -1
  1118. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_limit_alarm.d.ts +0 -18
  1119. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_limit_alarm.js +0 -3
  1120. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_limit_alarm.js.map +0 -1
  1121. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_limit_state_machine.d.ts +0 -23
  1122. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_limit_state_machine.js +0 -3
  1123. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_limit_state_machine.js.map +0 -1
  1124. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_rate_of_change_alarm.d.ts +0 -17
  1125. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_rate_of_change_alarm.js +0 -3
  1126. package/node_modules/node-opcua-nodeset-ua/dist/ua_exclusive_rate_of_change_alarm.js.map +0 -1
  1127. package/node_modules/node-opcua-nodeset-ua/dist/ua_expression_guard_variable.d.ts +0 -21
  1128. package/node_modules/node-opcua-nodeset-ua/dist/ua_expression_guard_variable.js +0 -3
  1129. package/node_modules/node-opcua-nodeset-ua/dist/ua_expression_guard_variable.js.map +0 -1
  1130. package/node_modules/node-opcua-nodeset-ua/dist/ua_extension_fields.d.ts +0 -15
  1131. package/node_modules/node-opcua-nodeset-ua/dist/ua_extension_fields.js +0 -3
  1132. package/node_modules/node-opcua-nodeset-ua/dist/ua_extension_fields.js.map +0 -1
  1133. package/node_modules/node-opcua-nodeset-ua/dist/ua_file.d.ts +0 -28
  1134. package/node_modules/node-opcua-nodeset-ua/dist/ua_file.js +0 -3
  1135. package/node_modules/node-opcua-nodeset-ua/dist/ua_file.js.map +0 -1
  1136. package/node_modules/node-opcua-nodeset-ua/dist/ua_file_directory.d.ts +0 -18
  1137. package/node_modules/node-opcua-nodeset-ua/dist/ua_file_directory.js +0 -3
  1138. package/node_modules/node-opcua-nodeset-ua/dist/ua_file_directory.js.map +0 -1
  1139. package/node_modules/node-opcua-nodeset-ua/dist/ua_file_transfer_state_machine.d.ts +0 -32
  1140. package/node_modules/node-opcua-nodeset-ua/dist/ua_file_transfer_state_machine.js +0 -3
  1141. package/node_modules/node-opcua-nodeset-ua/dist/ua_file_transfer_state_machine.js.map +0 -1
  1142. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_state_machine.d.ts +0 -23
  1143. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_state_machine.js +0 -3
  1144. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_state_machine.js.map +0 -1
  1145. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_state_variable.d.ts +0 -21
  1146. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_state_variable.js +0 -3
  1147. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_state_variable.js.map +0 -1
  1148. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_transition_variable.d.ts +0 -21
  1149. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_transition_variable.js +0 -3
  1150. package/node_modules/node-opcua-nodeset-ua/dist/ua_finite_transition_variable.js.map +0 -1
  1151. package/node_modules/node-opcua-nodeset-ua/dist/ua_folder.d.ts +0 -5
  1152. package/node_modules/node-opcua-nodeset-ua/dist/ua_folder.js +0 -3
  1153. package/node_modules/node-opcua-nodeset-ua/dist/ua_folder.js.map +0 -1
  1154. package/node_modules/node-opcua-nodeset-ua/dist/ua_frame.d.ts +0 -29
  1155. package/node_modules/node-opcua-nodeset-ua/dist/ua_frame.js +0 -3
  1156. package/node_modules/node-opcua-nodeset-ua/dist/ua_frame.js.map +0 -1
  1157. package/node_modules/node-opcua-nodeset-ua/dist/ua_general_model_change_event.d.ts +0 -17
  1158. package/node_modules/node-opcua-nodeset-ua/dist/ua_general_model_change_event.js +0 -3
  1159. package/node_modules/node-opcua-nodeset-ua/dist/ua_general_model_change_event.js.map +0 -1
  1160. package/node_modules/node-opcua-nodeset-ua/dist/ua_guard_variable.d.ts +0 -17
  1161. package/node_modules/node-opcua-nodeset-ua/dist/ua_guard_variable.js +0 -3
  1162. package/node_modules/node-opcua-nodeset-ua/dist/ua_guard_variable.js.map +0 -1
  1163. package/node_modules/node-opcua-nodeset-ua/dist/ua_highly_managed_alarm_condition_class.d.ts +0 -12
  1164. package/node_modules/node-opcua-nodeset-ua/dist/ua_highly_managed_alarm_condition_class.js +0 -3
  1165. package/node_modules/node-opcua-nodeset-ua/dist/ua_highly_managed_alarm_condition_class.js.map +0 -1
  1166. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_data_configuration.d.ts +0 -31
  1167. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_data_configuration.js +0 -3
  1168. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_data_configuration.js.map +0 -1
  1169. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_event_configuration.d.ts +0 -20
  1170. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_event_configuration.js +0 -3
  1171. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_event_configuration.js.map +0 -1
  1172. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_external_event_source.d.ts +0 -25
  1173. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_external_event_source.js +0 -3
  1174. package/node_modules/node-opcua-nodeset-ua/dist/ua_historical_external_event_source.js.map +0 -1
  1175. package/node_modules/node-opcua-nodeset-ua/dist/ua_history_server_capabilities.d.ts +0 -32
  1176. package/node_modules/node-opcua-nodeset-ua/dist/ua_history_server_capabilities.js +0 -3
  1177. package/node_modules/node-opcua-nodeset-ua/dist/ua_history_server_capabilities.js.map +0 -1
  1178. package/node_modules/node-opcua-nodeset-ua/dist/ua_https_certificate.d.ts +0 -12
  1179. package/node_modules/node-opcua-nodeset-ua/dist/ua_https_certificate.js +0 -3
  1180. package/node_modules/node-opcua-nodeset-ua/dist/ua_https_certificate.js.map +0 -1
  1181. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_base_ethernet_capabilities.d.ts +0 -16
  1182. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_base_ethernet_capabilities.js +0 -3
  1183. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_base_ethernet_capabilities.js.map +0 -1
  1184. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_auto_negotiation_status.d.ts +0 -17
  1185. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_auto_negotiation_status.js +0 -3
  1186. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_auto_negotiation_status.js.map +0 -1
  1187. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_ethernet_port.d.ts +0 -21
  1188. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_ethernet_port.js +0 -3
  1189. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_ethernet_port.js.map +0 -1
  1190. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_status_stream.d.ts +0 -23
  1191. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_status_stream.js +0 -3
  1192. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_status_stream.js.map +0 -1
  1193. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_stream.d.ts +0 -22
  1194. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_stream.js +0 -3
  1195. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_stream.js.map +0 -1
  1196. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_traffic_specification.d.ts +0 -20
  1197. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_traffic_specification.js +0 -3
  1198. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_base_tsn_traffic_specification.js.map +0 -1
  1199. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration.d.ts +0 -18
  1200. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration.js +0 -3
  1201. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration.js.map +0 -1
  1202. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration_listener.d.ts +0 -17
  1203. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration_listener.js +0 -3
  1204. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration_listener.js.map +0 -1
  1205. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration_talker.d.ts +0 -17
  1206. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration_talker.js +0 -3
  1207. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_interface_configuration_talker.js.map +0 -1
  1208. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_mac_address.d.ts +0 -18
  1209. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_mac_address.js +0 -3
  1210. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_mac_address.js.map +0 -1
  1211. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_vlan_tag.d.ts +0 -18
  1212. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_vlan_tag.js +0 -3
  1213. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ieee_tsn_vlan_tag.js.map +0 -1
  1214. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ietf_base_network_interface.d.ts +0 -23
  1215. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ietf_base_network_interface.js +0 -3
  1216. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ietf_base_network_interface.js.map +0 -1
  1217. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ordered_object.d.ts +0 -15
  1218. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ordered_object.js +0 -3
  1219. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_ordered_object.js.map +0 -1
  1220. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_priority_mapping_entry.d.ts +0 -20
  1221. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_priority_mapping_entry.js +0 -3
  1222. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_priority_mapping_entry.js.map +0 -1
  1223. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_sr_class.d.ts +0 -19
  1224. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_sr_class.js +0 -3
  1225. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_sr_class.js.map +0 -1
  1226. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_vlan_id.d.ts +0 -17
  1227. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_vlan_id.js +0 -3
  1228. package/node_modules/node-opcua-nodeset-ua/dist/ua_i_vlan_id.js.map +0 -1
  1229. package/node_modules/node-opcua-nodeset-ua/dist/ua_ietf_base_network_interface.d.ts +0 -23
  1230. package/node_modules/node-opcua-nodeset-ua/dist/ua_ietf_base_network_interface.js +0 -3
  1231. package/node_modules/node-opcua-nodeset-ua/dist/ua_ietf_base_network_interface.js.map +0 -1
  1232. package/node_modules/node-opcua-nodeset-ua/dist/ua_image_item.d.ts +0 -21
  1233. package/node_modules/node-opcua-nodeset-ua/dist/ua_image_item.js +0 -3
  1234. package/node_modules/node-opcua-nodeset-ua/dist/ua_image_item.js.map +0 -1
  1235. package/node_modules/node-opcua-nodeset-ua/dist/ua_initial_state.d.ts +0 -12
  1236. package/node_modules/node-opcua-nodeset-ua/dist/ua_initial_state.js +0 -3
  1237. package/node_modules/node-opcua-nodeset-ua/dist/ua_initial_state.js.map +0 -1
  1238. package/node_modules/node-opcua-nodeset-ua/dist/ua_instrument_diagnostic_alarm.d.ts +0 -12
  1239. package/node_modules/node-opcua-nodeset-ua/dist/ua_instrument_diagnostic_alarm.js +0 -3
  1240. package/node_modules/node-opcua-nodeset-ua/dist/ua_instrument_diagnostic_alarm.js.map +0 -1
  1241. package/node_modules/node-opcua-nodeset-ua/dist/ua_irdi_dictionary_entry.d.ts +0 -12
  1242. package/node_modules/node-opcua-nodeset-ua/dist/ua_irdi_dictionary_entry.js +0 -3
  1243. package/node_modules/node-opcua-nodeset-ua/dist/ua_irdi_dictionary_entry.js.map +0 -1
  1244. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_data_set_reader_message.d.ts +0 -18
  1245. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_data_set_reader_message.js +0 -3
  1246. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_data_set_reader_message.js.map +0 -1
  1247. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_data_set_writer_message.d.ts +0 -17
  1248. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_data_set_writer_message.js +0 -3
  1249. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_data_set_writer_message.js.map +0 -1
  1250. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_writer_group_message.d.ts +0 -17
  1251. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_writer_group_message.js +0 -3
  1252. package/node_modules/node-opcua-nodeset-ua/dist/ua_json_writer_group_message.js.map +0 -1
  1253. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_audit_event.d.ts +0 -17
  1254. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_audit_event.js +0 -3
  1255. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_audit_event.js.map +0 -1
  1256. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_configuration.d.ts +0 -24
  1257. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_configuration.js +0 -3
  1258. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_configuration.js.map +0 -1
  1259. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_configuration_folder.d.ts +0 -15
  1260. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_configuration_folder.js +0 -3
  1261. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_configuration_folder.js.map +0 -1
  1262. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_deleted_audit_event.d.ts +0 -17
  1263. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_deleted_audit_event.js +0 -3
  1264. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_deleted_audit_event.js.map +0 -1
  1265. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_updated_audit_event.d.ts +0 -12
  1266. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_updated_audit_event.js +0 -3
  1267. package/node_modules/node-opcua-nodeset-ua/dist/ua_key_credential_updated_audit_event.js.map +0 -1
  1268. package/node_modules/node-opcua-nodeset-ua/dist/ua_limit_alarm.d.ts +0 -32
  1269. package/node_modules/node-opcua-nodeset-ua/dist/ua_limit_alarm.js +0 -3
  1270. package/node_modules/node-opcua-nodeset-ua/dist/ua_limit_alarm.js.map +0 -1
  1271. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_information.d.ts +0 -19
  1272. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_information.js +0 -3
  1273. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_information.js.map +0 -1
  1274. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_local_system.d.ts +0 -22
  1275. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_local_system.js +0 -3
  1276. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_local_system.js.map +0 -1
  1277. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_port_information.d.ts +0 -25
  1278. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_port_information.js +0 -3
  1279. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_port_information.js.map +0 -1
  1280. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_remote_statistics.d.ts +0 -21
  1281. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_remote_statistics.js +0 -3
  1282. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_remote_statistics.js.map +0 -1
  1283. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_remote_system.d.ts +0 -35
  1284. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_remote_system.js +0 -3
  1285. package/node_modules/node-opcua-nodeset-ua/dist/ua_lldp_remote_system.js.map +0 -1
  1286. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_entry_condition_class.d.ts +0 -12
  1287. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_entry_condition_class.js +0 -3
  1288. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_entry_condition_class.js.map +0 -1
  1289. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_object.d.ts +0 -19
  1290. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_object.js +0 -3
  1291. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_object.js.map +0 -1
  1292. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_overflow_event.d.ts +0 -12
  1293. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_overflow_event.js +0 -3
  1294. package/node_modules/node-opcua-nodeset-ua/dist/ua_log_overflow_event.js.map +0 -1
  1295. package/node_modules/node-opcua-nodeset-ua/dist/ua_maintenance_condition_class.d.ts +0 -12
  1296. package/node_modules/node-opcua-nodeset-ua/dist/ua_maintenance_condition_class.js +0 -3
  1297. package/node_modules/node-opcua-nodeset-ua/dist/ua_maintenance_condition_class.js.map +0 -1
  1298. package/node_modules/node-opcua-nodeset-ua/dist/ua_modelling_rule.d.ts +0 -5
  1299. package/node_modules/node-opcua-nodeset-ua/dist/ua_modelling_rule.js +0 -3
  1300. package/node_modules/node-opcua-nodeset-ua/dist/ua_modelling_rule.js.map +0 -1
  1301. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_dictionary_entry_discrete.d.ts +0 -20
  1302. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_dictionary_entry_discrete.js +0 -3
  1303. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_dictionary_entry_discrete.js.map +0 -1
  1304. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_dictionary_entry_discrete_base.d.ts +0 -21
  1305. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_dictionary_entry_discrete_base.js +0 -3
  1306. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_dictionary_entry_discrete_base.js.map +0 -1
  1307. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_discrete.d.ts +0 -20
  1308. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_discrete.js +0 -3
  1309. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_discrete.js.map +0 -1
  1310. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_value_discrete.d.ts +0 -22
  1311. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_value_discrete.js +0 -3
  1312. package/node_modules/node-opcua-nodeset-ua/dist/ua_multi_state_value_discrete.js.map +0 -1
  1313. package/node_modules/node-opcua-nodeset-ua/dist/ua_n_dimension_array_item.d.ts +0 -20
  1314. package/node_modules/node-opcua-nodeset-ua/dist/ua_n_dimension_array_item.js +0 -3
  1315. package/node_modules/node-opcua-nodeset-ua/dist/ua_n_dimension_array_item.js.map +0 -1
  1316. package/node_modules/node-opcua-nodeset-ua/dist/ua_namespace_metadata.d.ts +0 -31
  1317. package/node_modules/node-opcua-nodeset-ua/dist/ua_namespace_metadata.js +0 -3
  1318. package/node_modules/node-opcua-nodeset-ua/dist/ua_namespace_metadata.js.map +0 -1
  1319. package/node_modules/node-opcua-nodeset-ua/dist/ua_namespaces.d.ts +0 -13
  1320. package/node_modules/node-opcua-nodeset-ua/dist/ua_namespaces.js +0 -3
  1321. package/node_modules/node-opcua-nodeset-ua/dist/ua_namespaces.js.map +0 -1
  1322. package/node_modules/node-opcua-nodeset-ua/dist/ua_network_address.d.ts +0 -17
  1323. package/node_modules/node-opcua-nodeset-ua/dist/ua_network_address.js +0 -3
  1324. package/node_modules/node-opcua-nodeset-ua/dist/ua_network_address.js.map +0 -1
  1325. package/node_modules/node-opcua-nodeset-ua/dist/ua_network_address_url.d.ts +0 -17
  1326. package/node_modules/node-opcua-nodeset-ua/dist/ua_network_address_url.js +0 -3
  1327. package/node_modules/node-opcua-nodeset-ua/dist/ua_network_address_url.js.map +0 -1
  1328. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_deviation_alarm.d.ts +0 -18
  1329. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_deviation_alarm.js +0 -3
  1330. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_deviation_alarm.js.map +0 -1
  1331. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_level_alarm.d.ts +0 -12
  1332. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_level_alarm.js +0 -3
  1333. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_level_alarm.js.map +0 -1
  1334. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_limit_alarm.d.ts +0 -20
  1335. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_limit_alarm.js +0 -3
  1336. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_limit_alarm.js.map +0 -1
  1337. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_rate_of_change_alarm.d.ts +0 -17
  1338. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_rate_of_change_alarm.js +0 -3
  1339. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_exclusive_rate_of_change_alarm.js.map +0 -1
  1340. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_backup_redundancy.d.ts +0 -20
  1341. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_backup_redundancy.js +0 -3
  1342. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_backup_redundancy.js.map +0 -1
  1343. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_network_redundancy.d.ts +0 -17
  1344. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_network_redundancy.js +0 -3
  1345. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_network_redundancy.js.map +0 -1
  1346. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_redundancy.d.ts +0 -17
  1347. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_redundancy.js +0 -3
  1348. package/node_modules/node-opcua-nodeset-ua/dist/ua_non_transparent_redundancy.js.map +0 -1
  1349. package/node_modules/node-opcua-nodeset-ua/dist/ua_off_normal_alarm.d.ts +0 -17
  1350. package/node_modules/node-opcua-nodeset-ua/dist/ua_off_normal_alarm.js +0 -3
  1351. package/node_modules/node-opcua-nodeset-ua/dist/ua_off_normal_alarm.js.map +0 -1
  1352. package/node_modules/node-opcua-nodeset-ua/dist/ua_operation_limits.d.ts +0 -28
  1353. package/node_modules/node-opcua-nodeset-ua/dist/ua_operation_limits.js +0 -3
  1354. package/node_modules/node-opcua-nodeset-ua/dist/ua_operation_limits.js.map +0 -1
  1355. package/node_modules/node-opcua-nodeset-ua/dist/ua_option_set.d.ts +0 -21
  1356. package/node_modules/node-opcua-nodeset-ua/dist/ua_option_set.js +0 -3
  1357. package/node_modules/node-opcua-nodeset-ua/dist/ua_option_set.js.map +0 -1
  1358. package/node_modules/node-opcua-nodeset-ua/dist/ua_ordered_list.d.ts +0 -19
  1359. package/node_modules/node-opcua-nodeset-ua/dist/ua_ordered_list.js +0 -3
  1360. package/node_modules/node-opcua-nodeset-ua/dist/ua_ordered_list.js.map +0 -1
  1361. package/node_modules/node-opcua-nodeset-ua/dist/ua_orientation.d.ts +0 -21
  1362. package/node_modules/node-opcua-nodeset-ua/dist/ua_orientation.js +0 -3
  1363. package/node_modules/node-opcua-nodeset-ua/dist/ua_orientation.js.map +0 -1
  1364. package/node_modules/node-opcua-nodeset-ua/dist/ua_priority_mapping_table.d.ts +0 -18
  1365. package/node_modules/node-opcua-nodeset-ua/dist/ua_priority_mapping_table.js +0 -3
  1366. package/node_modules/node-opcua-nodeset-ua/dist/ua_priority_mapping_table.js.map +0 -1
  1367. package/node_modules/node-opcua-nodeset-ua/dist/ua_process_condition_class.d.ts +0 -12
  1368. package/node_modules/node-opcua-nodeset-ua/dist/ua_process_condition_class.js +0 -3
  1369. package/node_modules/node-opcua-nodeset-ua/dist/ua_process_condition_class.js.map +0 -1
  1370. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_diagnostic.d.ts +0 -32
  1371. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_diagnostic.js +0 -3
  1372. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_diagnostic.js.map +0 -1
  1373. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_diagnostic_2.d.ts +0 -35
  1374. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_diagnostic_2.js +0 -3
  1375. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_diagnostic_2.js.map +0 -1
  1376. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_state_machine.d.ts +0 -57
  1377. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_state_machine.js +0 -3
  1378. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_state_machine.js.map +0 -1
  1379. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_transition_audit_event.d.ts +0 -16
  1380. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_transition_audit_event.js +0 -3
  1381. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_transition_audit_event.js.map +0 -1
  1382. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_transition_event.d.ts +0 -15
  1383. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_transition_event.js +0 -3
  1384. package/node_modules/node-opcua-nodeset-ua/dist/ua_program_transition_event.js.map +0 -1
  1385. package/node_modules/node-opcua-nodeset-ua/dist/ua_progress_event.d.ts +0 -18
  1386. package/node_modules/node-opcua-nodeset-ua/dist/ua_progress_event.js +0 -3
  1387. package/node_modules/node-opcua-nodeset-ua/dist/ua_progress_event.js.map +0 -1
  1388. package/node_modules/node-opcua-nodeset-ua/dist/ua_property.d.ts +0 -6
  1389. package/node_modules/node-opcua-nodeset-ua/dist/ua_property.js +0 -3
  1390. package/node_modules/node-opcua-nodeset-ua/dist/ua_property.js.map +0 -1
  1391. package/node_modules/node-opcua-nodeset-ua/dist/ua_provisionable_device.d.ts +0 -17
  1392. package/node_modules/node-opcua-nodeset-ua/dist/ua_provisionable_device.js +0 -3
  1393. package/node_modules/node-opcua-nodeset-ua/dist/ua_provisionable_device.js.map +0 -1
  1394. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_capabilities.d.ts +0 -31
  1395. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_capabilities.js +0 -3
  1396. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_capabilities.js.map +0 -1
  1397. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_communication_failure_event.d.ts +0 -17
  1398. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_communication_failure_event.js +0 -3
  1399. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_communication_failure_event.js.map +0 -1
  1400. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_configuration.d.ts +0 -16
  1401. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_configuration.js +0 -3
  1402. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_configuration.js.map +0 -1
  1403. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_connection.d.ts +0 -31
  1404. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_connection.js +0 -3
  1405. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_connection.js.map +0 -1
  1406. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics.d.ts +0 -33
  1407. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics.js +0 -3
  1408. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics.js.map +0 -1
  1409. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_connection.d.ts +0 -21
  1410. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_connection.js +0 -3
  1411. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_connection.js.map +0 -1
  1412. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_counter.d.ts +0 -25
  1413. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_counter.js +0 -3
  1414. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_counter.js.map +0 -1
  1415. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_data_set_reader.d.ts +0 -33
  1416. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_data_set_reader.js +0 -3
  1417. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_data_set_reader.js.map +0 -1
  1418. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_data_set_writer.d.ts +0 -30
  1419. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_data_set_writer.js +0 -3
  1420. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_data_set_writer.js.map +0 -1
  1421. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_reader_group.d.ts +0 -29
  1422. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_reader_group.js +0 -3
  1423. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_reader_group.js.map +0 -1
  1424. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_root.d.ts +0 -24
  1425. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_root.js +0 -3
  1426. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_root.js.map +0 -1
  1427. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_writer_group.d.ts +0 -31
  1428. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_writer_group.js +0 -3
  1429. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_diagnostics_writer_group.js.map +0 -1
  1430. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_group.d.ts +0 -25
  1431. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_group.js +0 -3
  1432. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_group.js.map +0 -1
  1433. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_push_target.d.ts +0 -27
  1434. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_push_target.js +0 -3
  1435. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_push_target.js.map +0 -1
  1436. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_push_target_folder.d.ts +0 -18
  1437. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_push_target_folder.js +0 -3
  1438. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_push_target_folder.js.map +0 -1
  1439. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_service.d.ts +0 -19
  1440. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_service.js +0 -3
  1441. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_key_service.js.map +0 -1
  1442. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_status.d.ts +0 -19
  1443. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_status.js +0 -3
  1444. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_status.js.map +0 -1
  1445. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_status_event.d.ts +0 -20
  1446. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_status_event.js +0 -3
  1447. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_status_event.js.map +0 -1
  1448. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_transport_limits_exceed_event.d.ts +0 -18
  1449. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_transport_limits_exceed_event.js +0 -3
  1450. package/node_modules/node-opcua-nodeset-ua/dist/ua_pub_sub_transport_limits_exceed_event.js.map +0 -1
  1451. package/node_modules/node-opcua-nodeset-ua/dist/ua_publish_subscribe.d.ts +0 -40
  1452. package/node_modules/node-opcua-nodeset-ua/dist/ua_publish_subscribe.js +0 -3
  1453. package/node_modules/node-opcua-nodeset-ua/dist/ua_publish_subscribe.js.map +0 -1
  1454. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_data_items.d.ts +0 -19
  1455. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_data_items.js +0 -3
  1456. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_data_items.js.map +0 -1
  1457. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_data_set.d.ts +0 -23
  1458. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_data_set.js +0 -3
  1459. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_data_set.js.map +0 -1
  1460. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_events.d.ts +0 -22
  1461. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_events.js +0 -3
  1462. package/node_modules/node-opcua-nodeset-ua/dist/ua_published_events.js.map +0 -1
  1463. package/node_modules/node-opcua-nodeset-ua/dist/ua_quantities_folder.d.ts +0 -12
  1464. package/node_modules/node-opcua-nodeset-ua/dist/ua_quantities_folder.js +0 -3
  1465. package/node_modules/node-opcua-nodeset-ua/dist/ua_quantities_folder.js.map +0 -1
  1466. package/node_modules/node-opcua-nodeset-ua/dist/ua_quantity.d.ts +0 -23
  1467. package/node_modules/node-opcua-nodeset-ua/dist/ua_quantity.js +0 -3
  1468. package/node_modules/node-opcua-nodeset-ua/dist/ua_quantity.js.map +0 -1
  1469. package/node_modules/node-opcua-nodeset-ua/dist/ua_rational_number.d.ts +0 -21
  1470. package/node_modules/node-opcua-nodeset-ua/dist/ua_rational_number.js +0 -3
  1471. package/node_modules/node-opcua-nodeset-ua/dist/ua_rational_number.js.map +0 -1
  1472. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group.d.ts +0 -22
  1473. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group.js +0 -3
  1474. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group.js.map +0 -1
  1475. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group_message.d.ts +0 -5
  1476. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group_message.js +0 -3
  1477. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group_message.js.map +0 -1
  1478. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group_transport.d.ts +0 -5
  1479. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group_transport.js +0 -3
  1480. package/node_modules/node-opcua-nodeset-ua/dist/ua_reader_group_transport.js.map +0 -1
  1481. package/node_modules/node-opcua-nodeset-ua/dist/ua_reference_description_variable.d.ts +0 -21
  1482. package/node_modules/node-opcua-nodeset-ua/dist/ua_reference_description_variable.js +0 -3
  1483. package/node_modules/node-opcua-nodeset-ua/dist/ua_reference_description_variable.js.map +0 -1
  1484. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_end_event.d.ts +0 -12
  1485. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_end_event.js +0 -3
  1486. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_end_event.js.map +0 -1
  1487. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_required_event.d.ts +0 -12
  1488. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_required_event.js +0 -3
  1489. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_required_event.js.map +0 -1
  1490. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_start_event.d.ts +0 -12
  1491. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_start_event.js +0 -3
  1492. package/node_modules/node-opcua-nodeset-ua/dist/ua_refresh_start_event.js.map +0 -1
  1493. package/node_modules/node-opcua-nodeset-ua/dist/ua_role.d.ts +0 -29
  1494. package/node_modules/node-opcua-nodeset-ua/dist/ua_role.js +0 -3
  1495. package/node_modules/node-opcua-nodeset-ua/dist/ua_role.js.map +0 -1
  1496. package/node_modules/node-opcua-nodeset-ua/dist/ua_role_mapping_rule_changed_audit_event.d.ts +0 -12
  1497. package/node_modules/node-opcua-nodeset-ua/dist/ua_role_mapping_rule_changed_audit_event.js +0 -3
  1498. package/node_modules/node-opcua-nodeset-ua/dist/ua_role_mapping_rule_changed_audit_event.js.map +0 -1
  1499. package/node_modules/node-opcua-nodeset-ua/dist/ua_role_set.d.ts +0 -15
  1500. package/node_modules/node-opcua-nodeset-ua/dist/ua_role_set.js +0 -3
  1501. package/node_modules/node-opcua-nodeset-ua/dist/ua_role_set.js.map +0 -1
  1502. package/node_modules/node-opcua-nodeset-ua/dist/ua_rsa_min_application_certificate.d.ts +0 -12
  1503. package/node_modules/node-opcua-nodeset-ua/dist/ua_rsa_min_application_certificate.js +0 -3
  1504. package/node_modules/node-opcua-nodeset-ua/dist/ua_rsa_min_application_certificate.js.map +0 -1
  1505. package/node_modules/node-opcua-nodeset-ua/dist/ua_rsa_sha_256_application_certificate.d.ts +0 -12
  1506. package/node_modules/node-opcua-nodeset-ua/dist/ua_rsa_sha_256_application_certificate.js +0 -3
  1507. package/node_modules/node-opcua-nodeset-ua/dist/ua_rsa_sha_256_application_certificate.js.map +0 -1
  1508. package/node_modules/node-opcua-nodeset-ua/dist/ua_safety_condition_class.d.ts +0 -12
  1509. package/node_modules/node-opcua-nodeset-ua/dist/ua_safety_condition_class.js +0 -3
  1510. package/node_modules/node-opcua-nodeset-ua/dist/ua_safety_condition_class.js.map +0 -1
  1511. package/node_modules/node-opcua-nodeset-ua/dist/ua_sampling_interval_diagnostics.d.ts +0 -23
  1512. package/node_modules/node-opcua-nodeset-ua/dist/ua_sampling_interval_diagnostics.js +0 -3
  1513. package/node_modules/node-opcua-nodeset-ua/dist/ua_sampling_interval_diagnostics.js.map +0 -1
  1514. package/node_modules/node-opcua-nodeset-ua/dist/ua_sampling_interval_diagnostics_array.d.ts +0 -20
  1515. package/node_modules/node-opcua-nodeset-ua/dist/ua_sampling_interval_diagnostics_array.js +0 -3
  1516. package/node_modules/node-opcua-nodeset-ua/dist/ua_sampling_interval_diagnostics_array.js.map +0 -1
  1517. package/node_modules/node-opcua-nodeset-ua/dist/ua_security_group.d.ts +0 -22
  1518. package/node_modules/node-opcua-nodeset-ua/dist/ua_security_group.js +0 -3
  1519. package/node_modules/node-opcua-nodeset-ua/dist/ua_security_group.js.map +0 -1
  1520. package/node_modules/node-opcua-nodeset-ua/dist/ua_security_group_folder.d.ts +0 -21
  1521. package/node_modules/node-opcua-nodeset-ua/dist/ua_security_group_folder.js +0 -3
  1522. package/node_modules/node-opcua-nodeset-ua/dist/ua_security_group_folder.js.map +0 -1
  1523. package/node_modules/node-opcua-nodeset-ua/dist/ua_selection_list.d.ts +0 -22
  1524. package/node_modules/node-opcua-nodeset-ua/dist/ua_selection_list.js +0 -3
  1525. package/node_modules/node-opcua-nodeset-ua/dist/ua_selection_list.js.map +0 -1
  1526. package/node_modules/node-opcua-nodeset-ua/dist/ua_semantic_change_event.d.ts +0 -17
  1527. package/node_modules/node-opcua-nodeset-ua/dist/ua_semantic_change_event.js +0 -3
  1528. package/node_modules/node-opcua-nodeset-ua/dist/ua_semantic_change_event.js.map +0 -1
  1529. package/node_modules/node-opcua-nodeset-ua/dist/ua_serialization_entity.d.ts +0 -30
  1530. package/node_modules/node-opcua-nodeset-ua/dist/ua_serialization_entity.js +0 -3
  1531. package/node_modules/node-opcua-nodeset-ua/dist/ua_serialization_entity.js.map +0 -1
  1532. package/node_modules/node-opcua-nodeset-ua/dist/ua_server.d.ts +0 -40
  1533. package/node_modules/node-opcua-nodeset-ua/dist/ua_server.js +0 -3
  1534. package/node_modules/node-opcua-nodeset-ua/dist/ua_server.js.map +0 -1
  1535. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_capabilities.d.ts +0 -44
  1536. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_capabilities.js +0 -3
  1537. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_capabilities.js.map +0 -1
  1538. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_configuration.d.ts +0 -43
  1539. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_configuration.js +0 -3
  1540. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_configuration.js.map +0 -1
  1541. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_diagnostics.d.ts +0 -26
  1542. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_diagnostics.js +0 -3
  1543. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_diagnostics.js.map +0 -1
  1544. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_diagnostics_summary.d.ts +0 -31
  1545. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_diagnostics_summary.js +0 -3
  1546. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_diagnostics_summary.js.map +0 -1
  1547. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_redundancy.d.ts +0 -18
  1548. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_redundancy.js +0 -3
  1549. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_redundancy.js.map +0 -1
  1550. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_status.d.ts +0 -29
  1551. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_status.js +0 -3
  1552. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_status.js.map +0 -1
  1553. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_unit.d.ts +0 -19
  1554. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_unit.js +0 -3
  1555. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_unit.js.map +0 -1
  1556. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_vendor_capability.d.ts +0 -16
  1557. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_vendor_capability.js +0 -3
  1558. package/node_modules/node-opcua-nodeset-ua/dist/ua_server_vendor_capability.js.map +0 -1
  1559. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_array.d.ts +0 -20
  1560. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_array.js +0 -3
  1561. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_array.js.map +0 -1
  1562. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_object.d.ts +0 -25
  1563. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_object.js +0 -3
  1564. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_object.js.map +0 -1
  1565. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_variable.d.ts +0 -65
  1566. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_variable.js +0 -3
  1567. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_diagnostics_variable.js.map +0 -1
  1568. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_security_diagnostics.d.ts +0 -30
  1569. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_security_diagnostics.js +0 -3
  1570. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_security_diagnostics.js.map +0 -1
  1571. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_security_diagnostics_array.d.ts +0 -20
  1572. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_security_diagnostics_array.js +0 -3
  1573. package/node_modules/node-opcua-nodeset-ua/dist/ua_session_security_diagnostics_array.js.map +0 -1
  1574. package/node_modules/node-opcua-nodeset-ua/dist/ua_sessions_diagnostics_summary.d.ts +0 -19
  1575. package/node_modules/node-opcua-nodeset-ua/dist/ua_sessions_diagnostics_summary.js +0 -3
  1576. package/node_modules/node-opcua-nodeset-ua/dist/ua_sessions_diagnostics_summary.js.map +0 -1
  1577. package/node_modules/node-opcua-nodeset-ua/dist/ua_shelved_state_machine.d.ts +0 -33
  1578. package/node_modules/node-opcua-nodeset-ua/dist/ua_shelved_state_machine.js +0 -3
  1579. package/node_modules/node-opcua-nodeset-ua/dist/ua_shelved_state_machine.js.map +0 -1
  1580. package/node_modules/node-opcua-nodeset-ua/dist/ua_standalone_subscribed_data_set.d.ts +0 -19
  1581. package/node_modules/node-opcua-nodeset-ua/dist/ua_standalone_subscribed_data_set.js +0 -3
  1582. package/node_modules/node-opcua-nodeset-ua/dist/ua_standalone_subscribed_data_set.js.map +0 -1
  1583. package/node_modules/node-opcua-nodeset-ua/dist/ua_state.d.ts +0 -16
  1584. package/node_modules/node-opcua-nodeset-ua/dist/ua_state.js +0 -3
  1585. package/node_modules/node-opcua-nodeset-ua/dist/ua_state.js.map +0 -1
  1586. package/node_modules/node-opcua-nodeset-ua/dist/ua_state_machine.d.ts +0 -18
  1587. package/node_modules/node-opcua-nodeset-ua/dist/ua_state_machine.js +0 -3
  1588. package/node_modules/node-opcua-nodeset-ua/dist/ua_state_machine.js.map +0 -1
  1589. package/node_modules/node-opcua-nodeset-ua/dist/ua_state_variable.d.ts +0 -24
  1590. package/node_modules/node-opcua-nodeset-ua/dist/ua_state_variable.js +0 -3
  1591. package/node_modules/node-opcua-nodeset-ua/dist/ua_state_variable.js.map +0 -1
  1592. package/node_modules/node-opcua-nodeset-ua/dist/ua_statistical_condition_class.d.ts +0 -12
  1593. package/node_modules/node-opcua-nodeset-ua/dist/ua_statistical_condition_class.js +0 -3
  1594. package/node_modules/node-opcua-nodeset-ua/dist/ua_statistical_condition_class.js.map +0 -1
  1595. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set.d.ts +0 -5
  1596. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set.js +0 -3
  1597. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set.js.map +0 -1
  1598. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set_folder.d.ts +0 -18
  1599. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set_folder.js +0 -3
  1600. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set_folder.js.map +0 -1
  1601. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set_mirror.d.ts +0 -12
  1602. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set_mirror.js +0 -3
  1603. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscribed_data_set_mirror.js.map +0 -1
  1604. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscription_diagnostics.d.ts +0 -51
  1605. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscription_diagnostics.js +0 -3
  1606. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscription_diagnostics.js.map +0 -1
  1607. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscription_diagnostics_array.d.ts +0 -20
  1608. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscription_diagnostics_array.js +0 -3
  1609. package/node_modules/node-opcua-nodeset-ua/dist/ua_subscription_diagnostics_array.js.map +0 -1
  1610. package/node_modules/node-opcua-nodeset-ua/dist/ua_subtype_restriction.d.ts +0 -5
  1611. package/node_modules/node-opcua-nodeset-ua/dist/ua_subtype_restriction.js +0 -3
  1612. package/node_modules/node-opcua-nodeset-ua/dist/ua_subtype_restriction.js.map +0 -1
  1613. package/node_modules/node-opcua-nodeset-ua/dist/ua_syntax_reference_entry.d.ts +0 -17
  1614. package/node_modules/node-opcua-nodeset-ua/dist/ua_syntax_reference_entry.js +0 -3
  1615. package/node_modules/node-opcua-nodeset-ua/dist/ua_syntax_reference_entry.js.map +0 -1
  1616. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_condition_class.d.ts +0 -12
  1617. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_condition_class.js +0 -3
  1618. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_condition_class.js.map +0 -1
  1619. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_diagnostic_alarm.d.ts +0 -12
  1620. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_diagnostic_alarm.js +0 -3
  1621. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_diagnostic_alarm.js.map +0 -1
  1622. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_event.d.ts +0 -12
  1623. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_event.js +0 -3
  1624. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_event.js.map +0 -1
  1625. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_off_normal_alarm.d.ts +0 -12
  1626. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_off_normal_alarm.js +0 -3
  1627. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_off_normal_alarm.js.map +0 -1
  1628. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_status_change_event.d.ts +0 -17
  1629. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_status_change_event.js +0 -3
  1630. package/node_modules/node-opcua-nodeset-ua/dist/ua_system_status_change_event.js.map +0 -1
  1631. package/node_modules/node-opcua-nodeset-ua/dist/ua_target_variables.d.ts +0 -19
  1632. package/node_modules/node-opcua-nodeset-ua/dist/ua_target_variables.js +0 -3
  1633. package/node_modules/node-opcua-nodeset-ua/dist/ua_target_variables.js.map +0 -1
  1634. package/node_modules/node-opcua-nodeset-ua/dist/ua_temporary_file_transfer.d.ts +0 -18
  1635. package/node_modules/node-opcua-nodeset-ua/dist/ua_temporary_file_transfer.js +0 -3
  1636. package/node_modules/node-opcua-nodeset-ua/dist/ua_temporary_file_transfer.js.map +0 -1
  1637. package/node_modules/node-opcua-nodeset-ua/dist/ua_testing_condition_class.d.ts +0 -12
  1638. package/node_modules/node-opcua-nodeset-ua/dist/ua_testing_condition_class.js +0 -3
  1639. package/node_modules/node-opcua-nodeset-ua/dist/ua_testing_condition_class.js.map +0 -1
  1640. package/node_modules/node-opcua-nodeset-ua/dist/ua_testing_condition_sub_class.d.ts +0 -5
  1641. package/node_modules/node-opcua-nodeset-ua/dist/ua_testing_condition_sub_class.js +0 -3
  1642. package/node_modules/node-opcua-nodeset-ua/dist/ua_testing_condition_sub_class.js.map +0 -1
  1643. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_certificate.d.ts +0 -12
  1644. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_certificate.js +0 -3
  1645. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_certificate.js.map +0 -1
  1646. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_client_certificate.d.ts +0 -12
  1647. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_client_certificate.js +0 -3
  1648. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_client_certificate.js.map +0 -1
  1649. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_server_certificate.d.ts +0 -12
  1650. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_server_certificate.js +0 -3
  1651. package/node_modules/node-opcua-nodeset-ua/dist/ua_tls_server_certificate.js.map +0 -1
  1652. package/node_modules/node-opcua-nodeset-ua/dist/ua_training_condition_class.d.ts +0 -12
  1653. package/node_modules/node-opcua-nodeset-ua/dist/ua_training_condition_class.js +0 -3
  1654. package/node_modules/node-opcua-nodeset-ua/dist/ua_training_condition_class.js.map +0 -1
  1655. package/node_modules/node-opcua-nodeset-ua/dist/ua_transaction_diagnostics.d.ts +0 -23
  1656. package/node_modules/node-opcua-nodeset-ua/dist/ua_transaction_diagnostics.js +0 -3
  1657. package/node_modules/node-opcua-nodeset-ua/dist/ua_transaction_diagnostics.js.map +0 -1
  1658. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition.d.ts +0 -16
  1659. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition.js +0 -3
  1660. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition.js.map +0 -1
  1661. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition_event.d.ts +0 -19
  1662. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition_event.js +0 -3
  1663. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition_event.js.map +0 -1
  1664. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition_variable.d.ts +0 -25
  1665. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition_variable.js +0 -3
  1666. package/node_modules/node-opcua-nodeset-ua/dist/ua_transition_variable.js.map +0 -1
  1667. package/node_modules/node-opcua-nodeset-ua/dist/ua_transparent_redundancy.d.ts +0 -19
  1668. package/node_modules/node-opcua-nodeset-ua/dist/ua_transparent_redundancy.js +0 -3
  1669. package/node_modules/node-opcua-nodeset-ua/dist/ua_transparent_redundancy.js.map +0 -1
  1670. package/node_modules/node-opcua-nodeset-ua/dist/ua_trip_alarm.d.ts +0 -12
  1671. package/node_modules/node-opcua-nodeset-ua/dist/ua_trip_alarm.js +0 -3
  1672. package/node_modules/node-opcua-nodeset-ua/dist/ua_trip_alarm.js.map +0 -1
  1673. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list.d.ts +0 -24
  1674. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list.js +0 -3
  1675. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list.js.map +0 -1
  1676. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_out_of_date_alarm.d.ts +0 -19
  1677. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_out_of_date_alarm.js +0 -3
  1678. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_out_of_date_alarm.js.map +0 -1
  1679. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_update_requested_audit_event.d.ts +0 -12
  1680. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_update_requested_audit_event.js +0 -3
  1681. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_update_requested_audit_event.js.map +0 -1
  1682. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_updated_audit_event.d.ts +0 -17
  1683. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_updated_audit_event.js +0 -3
  1684. package/node_modules/node-opcua-nodeset-ua/dist/ua_trust_list_updated_audit_event.js.map +0 -1
  1685. package/node_modules/node-opcua-nodeset-ua/dist/ua_two_state_discrete.d.ts +0 -21
  1686. package/node_modules/node-opcua-nodeset-ua/dist/ua_two_state_discrete.js +0 -3
  1687. package/node_modules/node-opcua-nodeset-ua/dist/ua_two_state_discrete.js.map +0 -1
  1688. package/node_modules/node-opcua-nodeset-ua/dist/ua_two_state_variable.d.ts +0 -24
  1689. package/node_modules/node-opcua-nodeset-ua/dist/ua_two_state_variable.js +0 -3
  1690. package/node_modules/node-opcua-nodeset-ua/dist/ua_two_state_variable.js.map +0 -1
  1691. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_data_set_reader_message.d.ts +0 -25
  1692. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_data_set_reader_message.js +0 -3
  1693. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_data_set_reader_message.js.map +0 -1
  1694. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_data_set_writer_message.d.ts +0 -20
  1695. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_data_set_writer_message.js +0 -3
  1696. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_data_set_writer_message.js.map +0 -1
  1697. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_writer_group_message.d.ts +0 -22
  1698. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_writer_group_message.js +0 -3
  1699. package/node_modules/node-opcua-nodeset-ua/dist/ua_uadp_writer_group_message.js.map +0 -1
  1700. package/node_modules/node-opcua-nodeset-ua/dist/ua_unit.d.ts +0 -19
  1701. package/node_modules/node-opcua-nodeset-ua/dist/ua_unit.js +0 -3
  1702. package/node_modules/node-opcua-nodeset-ua/dist/ua_unit.js.map +0 -1
  1703. package/node_modules/node-opcua-nodeset-ua/dist/ua_uri_dictionary_entry.d.ts +0 -12
  1704. package/node_modules/node-opcua-nodeset-ua/dist/ua_uri_dictionary_entry.js +0 -3
  1705. package/node_modules/node-opcua-nodeset-ua/dist/ua_uri_dictionary_entry.js.map +0 -1
  1706. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_certificate.d.ts +0 -12
  1707. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_certificate.js +0 -3
  1708. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_certificate.js.map +0 -1
  1709. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_credential_certificate.d.ts +0 -12
  1710. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_credential_certificate.js +0 -3
  1711. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_credential_certificate.js.map +0 -1
  1712. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_management.d.ts +0 -26
  1713. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_management.js +0 -3
  1714. package/node_modules/node-opcua-nodeset-ua/dist/ua_user_management.js.map +0 -1
  1715. package/node_modules/node-opcua-nodeset-ua/dist/ua_vector.d.ts +0 -21
  1716. package/node_modules/node-opcua-nodeset-ua/dist/ua_vector.js +0 -3
  1717. package/node_modules/node-opcua-nodeset-ua/dist/ua_vector.js.map +0 -1
  1718. package/node_modules/node-opcua-nodeset-ua/dist/ua_vendor_server_info.d.ts +0 -5
  1719. package/node_modules/node-opcua-nodeset-ua/dist/ua_vendor_server_info.js +0 -3
  1720. package/node_modules/node-opcua-nodeset-ua/dist/ua_vendor_server_info.js.map +0 -1
  1721. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group.d.ts +0 -30
  1722. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group.js +0 -3
  1723. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group.js.map +0 -1
  1724. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group_message.d.ts +0 -5
  1725. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group_message.js +0 -3
  1726. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group_message.js.map +0 -1
  1727. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group_transport.d.ts +0 -5
  1728. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group_transport.js +0 -3
  1729. package/node_modules/node-opcua-nodeset-ua/dist/ua_writer_group_transport.js.map +0 -1
  1730. package/node_modules/node-opcua-nodeset-ua/dist/ua_xy_array_item.d.ts +0 -21
  1731. package/node_modules/node-opcua-nodeset-ua/dist/ua_xy_array_item.js +0 -3
  1732. package/node_modules/node-opcua-nodeset-ua/dist/ua_xy_array_item.js.map +0 -1
  1733. package/node_modules/node-opcua-nodeset-ua/dist/ua_y_array_item.d.ts +0 -20
  1734. package/node_modules/node-opcua-nodeset-ua/dist/ua_y_array_item.js +0 -3
  1735. package/node_modules/node-opcua-nodeset-ua/dist/ua_y_array_item.js.map +0 -1
  1736. package/node_modules/node-opcua-nodeset-ua/package.json +0 -42
  1737. package/node_modules/node-opcua-nodeset-ua/source/dt_3_d_cartesian_coordinates.ts +0 -20
  1738. package/node_modules/node-opcua-nodeset-ua/source/dt_3_d_frame.ts +0 -21
  1739. package/node_modules/node-opcua-nodeset-ua/source/dt_3_d_orientation.ts +0 -20
  1740. package/node_modules/node-opcua-nodeset-ua/source/dt_3_d_vector.ts +0 -20
  1741. package/node_modules/node-opcua-nodeset-ua/source/dt_action_method.ts +0 -20
  1742. package/node_modules/node-opcua-nodeset-ua/source/dt_action_target.ts +0 -22
  1743. package/node_modules/node-opcua-nodeset-ua/source/dt_add_nodes_item.ts +0 -27
  1744. package/node_modules/node-opcua-nodeset-ua/source/dt_add_references_item.ts +0 -26
  1745. package/node_modules/node-opcua-nodeset-ua/source/dt_additional_parameters.ts +0 -19
  1746. package/node_modules/node-opcua-nodeset-ua/source/dt_aggregate_configuration.ts +0 -23
  1747. package/node_modules/node-opcua-nodeset-ua/source/dt_alias_name.ts +0 -21
  1748. package/node_modules/node-opcua-nodeset-ua/source/dt_annotation.ts +0 -21
  1749. package/node_modules/node-opcua-nodeset-ua/source/dt_anonymous_identity_token.ts +0 -19
  1750. package/node_modules/node-opcua-nodeset-ua/source/dt_application_configuration.ts +0 -35
  1751. package/node_modules/node-opcua-nodeset-ua/source/dt_application_description.ts +0 -27
  1752. package/node_modules/node-opcua-nodeset-ua/source/dt_application_identity.ts +0 -26
  1753. package/node_modules/node-opcua-nodeset-ua/source/dt_argument.ts +0 -25
  1754. package/node_modules/node-opcua-nodeset-ua/source/dt_attribute_operand.ts +0 -25
  1755. package/node_modules/node-opcua-nodeset-ua/source/dt_authorization_service_configuration.ts +0 -25
  1756. package/node_modules/node-opcua-nodeset-ua/source/dt_axis_information.ts +0 -26
  1757. package/node_modules/node-opcua-nodeset-ua/source/dt_base_configuration.ts +0 -21
  1758. package/node_modules/node-opcua-nodeset-ua/source/dt_base_configuration_record.ts +0 -21
  1759. package/node_modules/node-opcua-nodeset-ua/source/dt_bit_field_definition.ts +0 -24
  1760. package/node_modules/node-opcua-nodeset-ua/source/dt_broker_connection_transport.ts +0 -20
  1761. package/node_modules/node-opcua-nodeset-ua/source/dt_broker_data_set_reader_transport.ts +0 -24
  1762. package/node_modules/node-opcua-nodeset-ua/source/dt_broker_data_set_writer_transport.ts +0 -25
  1763. package/node_modules/node-opcua-nodeset-ua/source/dt_broker_writer_group_transport.ts +0 -23
  1764. package/node_modules/node-opcua-nodeset-ua/source/dt_build_info.ts +0 -24
  1765. package/node_modules/node-opcua-nodeset-ua/source/dt_cartesian_coordinates.ts +0 -12
  1766. package/node_modules/node-opcua-nodeset-ua/source/dt_certificate_group.ts +0 -26
  1767. package/node_modules/node-opcua-nodeset-ua/source/dt_complex_number.ts +0 -19
  1768. package/node_modules/node-opcua-nodeset-ua/source/dt_configuration_update_target.ts +0 -21
  1769. package/node_modules/node-opcua-nodeset-ua/source/dt_configuration_version.ts +0 -20
  1770. package/node_modules/node-opcua-nodeset-ua/source/dt_connection_transport.ts +0 -12
  1771. package/node_modules/node-opcua-nodeset-ua/source/dt_content_filter.ts +0 -19
  1772. package/node_modules/node-opcua-nodeset-ua/source/dt_content_filter_element.ts +0 -20
  1773. package/node_modules/node-opcua-nodeset-ua/source/dt_currency_unit.ts +0 -23
  1774. package/node_modules/node-opcua-nodeset-ua/source/dt_data_set_meta.ts +0 -33
  1775. package/node_modules/node-opcua-nodeset-ua/source/dt_data_set_reader.ts +0 -43
  1776. package/node_modules/node-opcua-nodeset-ua/source/dt_data_set_reader_message.ts +0 -12
  1777. package/node_modules/node-opcua-nodeset-ua/source/dt_data_set_reader_transport.ts +0 -12
  1778. package/node_modules/node-opcua-nodeset-ua/source/dt_data_set_writer.ts +0 -30
  1779. package/node_modules/node-opcua-nodeset-ua/source/dt_data_set_writer_message.ts +0 -12
  1780. package/node_modules/node-opcua-nodeset-ua/source/dt_data_set_writer_transport.ts +0 -12
  1781. package/node_modules/node-opcua-nodeset-ua/source/dt_data_type_definition.ts +0 -12
  1782. package/node_modules/node-opcua-nodeset-ua/source/dt_data_type_description.ts +0 -21
  1783. package/node_modules/node-opcua-nodeset-ua/source/dt_data_type_schema_header.ts +0 -25
  1784. package/node_modules/node-opcua-nodeset-ua/source/dt_datagram_connection_transport.ts +0 -19
  1785. package/node_modules/node-opcua-nodeset-ua/source/dt_datagram_connection_transport_2.ts +0 -25
  1786. package/node_modules/node-opcua-nodeset-ua/source/dt_datagram_data_set_reader_transport.ts +0 -24
  1787. package/node_modules/node-opcua-nodeset-ua/source/dt_datagram_writer_group_transport.ts +0 -20
  1788. package/node_modules/node-opcua-nodeset-ua/source/dt_datagram_writer_group_transport_2.ts +0 -27
  1789. package/node_modules/node-opcua-nodeset-ua/source/dt_delete_nodes_item.ts +0 -20
  1790. package/node_modules/node-opcua-nodeset-ua/source/dt_delete_references_item.ts +0 -23
  1791. package/node_modules/node-opcua-nodeset-ua/source/dt_discovery_configuration.ts +0 -12
  1792. package/node_modules/node-opcua-nodeset-ua/source/dt_double_complex_number.ts +0 -19
  1793. package/node_modules/node-opcua-nodeset-ua/source/dt_dtls_pub_sub_connection.ts +0 -24
  1794. package/node_modules/node-opcua-nodeset-ua/source/dt_element_operand.ts +0 -19
  1795. package/node_modules/node-opcua-nodeset-ua/source/dt_endpoint.ts +0 -24
  1796. package/node_modules/node-opcua-nodeset-ua/source/dt_endpoint_configuration.ts +0 -27
  1797. package/node_modules/node-opcua-nodeset-ua/source/dt_endpoint_description.ts +0 -29
  1798. package/node_modules/node-opcua-nodeset-ua/source/dt_endpoint_url_list.ts +0 -19
  1799. package/node_modules/node-opcua-nodeset-ua/source/dt_enum_definition.ts +0 -19
  1800. package/node_modules/node-opcua-nodeset-ua/source/dt_enum_description.ts +0 -25
  1801. package/node_modules/node-opcua-nodeset-ua/source/dt_enum_field.ts +0 -23
  1802. package/node_modules/node-opcua-nodeset-ua/source/dt_enum_value.ts +0 -22
  1803. package/node_modules/node-opcua-nodeset-ua/source/dt_ephemeral_key.ts +0 -19
  1804. package/node_modules/node-opcua-nodeset-ua/source/dt_event_filter.ts +0 -21
  1805. package/node_modules/node-opcua-nodeset-ua/source/dt_field_meta_data.ts +0 -31
  1806. package/node_modules/node-opcua-nodeset-ua/source/dt_field_target.ts +0 -28
  1807. package/node_modules/node-opcua-nodeset-ua/source/dt_filter_operand.ts +0 -12
  1808. package/node_modules/node-opcua-nodeset-ua/source/dt_frame.ts +0 -12
  1809. package/node_modules/node-opcua-nodeset-ua/source/dt_history_event.ts +0 -19
  1810. package/node_modules/node-opcua-nodeset-ua/source/dt_history_event_field_list.ts +0 -19
  1811. package/node_modules/node-opcua-nodeset-ua/source/dt_history_modified_event.ts +0 -21
  1812. package/node_modules/node-opcua-nodeset-ua/source/dt_identity_mapping_rule.ts +0 -21
  1813. package/node_modules/node-opcua-nodeset-ua/source/dt_issued_identity_token.ts +0 -21
  1814. package/node_modules/node-opcua-nodeset-ua/source/dt_json_data_set_reader_message.ts +0 -20
  1815. package/node_modules/node-opcua-nodeset-ua/source/dt_json_data_set_writer_message.ts +0 -19
  1816. package/node_modules/node-opcua-nodeset-ua/source/dt_json_writer_group_message.ts +0 -19
  1817. package/node_modules/node-opcua-nodeset-ua/source/dt_key_value_pair.ts +0 -21
  1818. package/node_modules/node-opcua-nodeset-ua/source/dt_linear_conversion.ts +0 -21
  1819. package/node_modules/node-opcua-nodeset-ua/source/dt_literal_operand.ts +0 -19
  1820. package/node_modules/node-opcua-nodeset-ua/source/dt_lldp_management_address.ts +0 -23
  1821. package/node_modules/node-opcua-nodeset-ua/source/dt_lldp_management_address_tx_port.ts +0 -25
  1822. package/node_modules/node-opcua-nodeset-ua/source/dt_lldp_tlv.ts +0 -20
  1823. package/node_modules/node-opcua-nodeset-ua/source/dt_log_record.ts +0 -30
  1824. package/node_modules/node-opcua-nodeset-ua/source/dt_log_records.ts +0 -19
  1825. package/node_modules/node-opcua-nodeset-ua/source/dt_mdns_discovery_configuration.ts +0 -20
  1826. package/node_modules/node-opcua-nodeset-ua/source/dt_model_change_structure.ts +0 -22
  1827. package/node_modules/node-opcua-nodeset-ua/source/dt_modification_info.ts +0 -22
  1828. package/node_modules/node-opcua-nodeset-ua/source/dt_monitoring_filter.ts +0 -12
  1829. package/node_modules/node-opcua-nodeset-ua/source/dt_name_value_pair.ts +0 -21
  1830. package/node_modules/node-opcua-nodeset-ua/source/dt_network_address.ts +0 -19
  1831. package/node_modules/node-opcua-nodeset-ua/source/dt_network_address_url.ts +0 -20
  1832. package/node_modules/node-opcua-nodeset-ua/source/dt_network_group.ts +0 -21
  1833. package/node_modules/node-opcua-nodeset-ua/source/dt_option_set.ts +0 -19
  1834. package/node_modules/node-opcua-nodeset-ua/source/dt_orientation.ts +0 -12
  1835. package/node_modules/node-opcua-nodeset-ua/source/dt_portable_node_id.ts +0 -21
  1836. package/node_modules/node-opcua-nodeset-ua/source/dt_portable_qualified_name.ts +0 -20
  1837. package/node_modules/node-opcua-nodeset-ua/source/dt_priority_mapping_entry.ts +0 -22
  1838. package/node_modules/node-opcua-nodeset-ua/source/dt_program_diagnostic.ts +0 -31
  1839. package/node_modules/node-opcua-nodeset-ua/source/dt_program_diagnostic_2.ts +0 -34
  1840. package/node_modules/node-opcua-nodeset-ua/source/dt_pub_sub_configuration.ts +0 -22
  1841. package/node_modules/node-opcua-nodeset-ua/source/dt_pub_sub_configuration_2.ts +0 -36
  1842. package/node_modules/node-opcua-nodeset-ua/source/dt_pub_sub_configuration_ref.ts +0 -22
  1843. package/node_modules/node-opcua-nodeset-ua/source/dt_pub_sub_configuration_value.ts +0 -23
  1844. package/node_modules/node-opcua-nodeset-ua/source/dt_pub_sub_connection.ts +0 -33
  1845. package/node_modules/node-opcua-nodeset-ua/source/dt_pub_sub_group.ts +0 -28
  1846. package/node_modules/node-opcua-nodeset-ua/source/dt_pub_sub_key_push_target.ts +0 -29
  1847. package/node_modules/node-opcua-nodeset-ua/source/dt_published_action.ts +0 -21
  1848. package/node_modules/node-opcua-nodeset-ua/source/dt_published_action_method.ts +0 -23
  1849. package/node_modules/node-opcua-nodeset-ua/source/dt_published_data_items.ts +0 -19
  1850. package/node_modules/node-opcua-nodeset-ua/source/dt_published_data_set.ts +0 -26
  1851. package/node_modules/node-opcua-nodeset-ua/source/dt_published_data_set_custom_source.ts +0 -18
  1852. package/node_modules/node-opcua-nodeset-ua/source/dt_published_data_set_source.ts +0 -12
  1853. package/node_modules/node-opcua-nodeset-ua/source/dt_published_events.ts +0 -23
  1854. package/node_modules/node-opcua-nodeset-ua/source/dt_published_variable.ts +0 -29
  1855. package/node_modules/node-opcua-nodeset-ua/source/dt_qos.ts +0 -12
  1856. package/node_modules/node-opcua-nodeset-ua/source/dt_quantity_dimension.ts +0 -26
  1857. package/node_modules/node-opcua-nodeset-ua/source/dt_range.ts +0 -19
  1858. package/node_modules/node-opcua-nodeset-ua/source/dt_rational_number.ts +0 -20
  1859. package/node_modules/node-opcua-nodeset-ua/source/dt_reader_group.ts +0 -34
  1860. package/node_modules/node-opcua-nodeset-ua/source/dt_reader_group_message.ts +0 -12
  1861. package/node_modules/node-opcua-nodeset-ua/source/dt_reader_group_transport.ts +0 -12
  1862. package/node_modules/node-opcua-nodeset-ua/source/dt_receive_qos.ts +0 -12
  1863. package/node_modules/node-opcua-nodeset-ua/source/dt_receive_qos_priority.ts +0 -19
  1864. package/node_modules/node-opcua-nodeset-ua/source/dt_redundant_server.ts +0 -22
  1865. package/node_modules/node-opcua-nodeset-ua/source/dt_reference_description.ts +0 -22
  1866. package/node_modules/node-opcua-nodeset-ua/source/dt_reference_list_entry.ts +0 -21
  1867. package/node_modules/node-opcua-nodeset-ua/source/dt_registered_server.ts +0 -28
  1868. package/node_modules/node-opcua-nodeset-ua/source/dt_relative_path.ts +0 -19
  1869. package/node_modules/node-opcua-nodeset-ua/source/dt_relative_path_element.ts +0 -23
  1870. package/node_modules/node-opcua-nodeset-ua/source/dt_role_permission.ts +0 -21
  1871. package/node_modules/node-opcua-nodeset-ua/source/dt_sampling_interval_diagnostics.ts +0 -22
  1872. package/node_modules/node-opcua-nodeset-ua/source/dt_security_group.ts +0 -29
  1873. package/node_modules/node-opcua-nodeset-ua/source/dt_security_settings.ts +0 -25
  1874. package/node_modules/node-opcua-nodeset-ua/source/dt_semantic_change_structure.ts +0 -20
  1875. package/node_modules/node-opcua-nodeset-ua/source/dt_server_diagnostics_summary.ts +0 -30
  1876. package/node_modules/node-opcua-nodeset-ua/source/dt_server_endpoint.ts +0 -29
  1877. package/node_modules/node-opcua-nodeset-ua/source/dt_server_on_network.ts +0 -22
  1878. package/node_modules/node-opcua-nodeset-ua/source/dt_server_status.ts +0 -27
  1879. package/node_modules/node-opcua-nodeset-ua/source/dt_service_certificate.ts +0 -21
  1880. package/node_modules/node-opcua-nodeset-ua/source/dt_service_counter.ts +0 -20
  1881. package/node_modules/node-opcua-nodeset-ua/source/dt_session_diagnostics.ts +0 -64
  1882. package/node_modules/node-opcua-nodeset-ua/source/dt_session_security_diagnostics.ts +0 -29
  1883. package/node_modules/node-opcua-nodeset-ua/source/dt_signed_software_certificate.ts +0 -19
  1884. package/node_modules/node-opcua-nodeset-ua/source/dt_simple_attribute_operand.ts +0 -24
  1885. package/node_modules/node-opcua-nodeset-ua/source/dt_simple_type_description.ts +0 -24
  1886. package/node_modules/node-opcua-nodeset-ua/source/dt_span_context.ts +0 -20
  1887. package/node_modules/node-opcua-nodeset-ua/source/dt_standalone_subscribed_data_set.ts +0 -23
  1888. package/node_modules/node-opcua-nodeset-ua/source/dt_standalone_subscribed_data_set_ref.ts +0 -19
  1889. package/node_modules/node-opcua-nodeset-ua/source/dt_status_result.ts +0 -21
  1890. package/node_modules/node-opcua-nodeset-ua/source/dt_structure.ts +0 -7
  1891. package/node_modules/node-opcua-nodeset-ua/source/dt_structure_definition.ts +0 -24
  1892. package/node_modules/node-opcua-nodeset-ua/source/dt_structure_description.ts +0 -23
  1893. package/node_modules/node-opcua-nodeset-ua/source/dt_structure_field.ts +0 -27
  1894. package/node_modules/node-opcua-nodeset-ua/source/dt_subscribed_data_set.ts +0 -12
  1895. package/node_modules/node-opcua-nodeset-ua/source/dt_subscribed_data_set_mirror.ts +0 -21
  1896. package/node_modules/node-opcua-nodeset-ua/source/dt_subscription_diagnostics.ts +0 -50
  1897. package/node_modules/node-opcua-nodeset-ua/source/dt_target_variables.ts +0 -19
  1898. package/node_modules/node-opcua-nodeset-ua/source/dt_time_zone.ts +0 -20
  1899. package/node_modules/node-opcua-nodeset-ua/source/dt_trace_context.ts +0 -22
  1900. package/node_modules/node-opcua-nodeset-ua/source/dt_transaction_error.ts +0 -23
  1901. package/node_modules/node-opcua-nodeset-ua/source/dt_transmit_qos.ts +0 -12
  1902. package/node_modules/node-opcua-nodeset-ua/source/dt_transmit_qos_priority.ts +0 -19
  1903. package/node_modules/node-opcua-nodeset-ua/source/dt_trust_list.ts +0 -23
  1904. package/node_modules/node-opcua-nodeset-ua/source/dt_ua_binary_file.ts +0 -30
  1905. package/node_modules/node-opcua-nodeset-ua/source/dt_uadp_data_set_reader_message.ts +0 -27
  1906. package/node_modules/node-opcua-nodeset-ua/source/dt_uadp_data_set_writer_message.ts +0 -22
  1907. package/node_modules/node-opcua-nodeset-ua/source/dt_uadp_writer_group_message.ts +0 -24
  1908. package/node_modules/node-opcua-nodeset-ua/source/dt_union.ts +0 -12
  1909. package/node_modules/node-opcua-nodeset-ua/source/dt_unsigned_rational_number.ts +0 -20
  1910. package/node_modules/node-opcua-nodeset-ua/source/dt_user_identity_token.ts +0 -19
  1911. package/node_modules/node-opcua-nodeset-ua/source/dt_user_management.ts +0 -21
  1912. package/node_modules/node-opcua-nodeset-ua/source/dt_user_name_identity_token.ts +0 -22
  1913. package/node_modules/node-opcua-nodeset-ua/source/dt_user_token_policy.ts +0 -24
  1914. package/node_modules/node-opcua-nodeset-ua/source/dt_user_token_settings.ts +0 -28
  1915. package/node_modules/node-opcua-nodeset-ua/source/dt_vector.ts +0 -12
  1916. package/node_modules/node-opcua-nodeset-ua/source/dt_writer_group.ts +0 -40
  1917. package/node_modules/node-opcua-nodeset-ua/source/dt_writer_group_message.ts +0 -12
  1918. package/node_modules/node-opcua-nodeset-ua/source/dt_writer_group_transport.ts +0 -12
  1919. package/node_modules/node-opcua-nodeset-ua/source/dt_x_509_identity_token.ts +0 -20
  1920. package/node_modules/node-opcua-nodeset-ua/source/dt_xv.ts +0 -19
  1921. package/node_modules/node-opcua-nodeset-ua/source/enum_action_state.ts +0 -15
  1922. package/node_modules/node-opcua-nodeset-ua/source/enum_application.ts +0 -16
  1923. package/node_modules/node-opcua-nodeset-ua/source/enum_axis_scale.ts +0 -15
  1924. package/node_modules/node-opcua-nodeset-ua/source/enum_broker_transport_quality_of_service.ts +0 -17
  1925. package/node_modules/node-opcua-nodeset-ua/source/enum_chassis_id_subtype.ts +0 -62
  1926. package/node_modules/node-opcua-nodeset-ua/source/enum_configuration_update.ts +0 -32
  1927. package/node_modules/node-opcua-nodeset-ua/source/enum_conversion_limit_enum.ts +0 -15
  1928. package/node_modules/node-opcua-nodeset-ua/source/enum_data_set_ordering.ts +0 -15
  1929. package/node_modules/node-opcua-nodeset-ua/source/enum_diagnostics_level.ts +0 -17
  1930. package/node_modules/node-opcua-nodeset-ua/source/enum_duplex.ts +0 -24
  1931. package/node_modules/node-opcua-nodeset-ua/source/enum_exception_deviation_format.ts +0 -17
  1932. package/node_modules/node-opcua-nodeset-ua/source/enum_filter_operator.ts +0 -30
  1933. package/node_modules/node-opcua-nodeset-ua/source/enum_history_update.ts +0 -28
  1934. package/node_modules/node-opcua-nodeset-ua/source/enum_id.ts +0 -16
  1935. package/node_modules/node-opcua-nodeset-ua/source/enum_identity_criteria.ts +0 -57
  1936. package/node_modules/node-opcua-nodeset-ua/source/enum_interface_admin_status.ts +0 -25
  1937. package/node_modules/node-opcua-nodeset-ua/source/enum_interface_oper_status.ts +0 -41
  1938. package/node_modules/node-opcua-nodeset-ua/source/enum_man_addr_if_subtype.ts +0 -28
  1939. package/node_modules/node-opcua-nodeset-ua/source/enum_message_security_mode.ts +0 -16
  1940. package/node_modules/node-opcua-nodeset-ua/source/enum_naming_rule.ts +0 -27
  1941. package/node_modules/node-opcua-nodeset-ua/source/enum_negotiation_status.ts +0 -39
  1942. package/node_modules/node-opcua-nodeset-ua/source/enum_node_attributes_mask.ts +0 -47
  1943. package/node_modules/node-opcua-nodeset-ua/source/enum_node_class.ts +0 -48
  1944. package/node_modules/node-opcua-nodeset-ua/source/enum_open_file_mode.ts +0 -16
  1945. package/node_modules/node-opcua-nodeset-ua/source/enum_override_value_handling.ts +0 -15
  1946. package/node_modules/node-opcua-nodeset-ua/source/enum_perform_update.ts +0 -28
  1947. package/node_modules/node-opcua-nodeset-ua/source/enum_port_id_subtype.ts +0 -56
  1948. package/node_modules/node-opcua-nodeset-ua/source/enum_pub_sub_diagnostics_counter_classification.ts +0 -14
  1949. package/node_modules/node-opcua-nodeset-ua/source/enum_pub_sub_state.ts +0 -17
  1950. package/node_modules/node-opcua-nodeset-ua/source/enum_redundancy_support.ts +0 -18
  1951. package/node_modules/node-opcua-nodeset-ua/source/enum_redundant_server_mode.ts +0 -16
  1952. package/node_modules/node-opcua-nodeset-ua/source/enum_security_token_request.ts +0 -14
  1953. package/node_modules/node-opcua-nodeset-ua/source/enum_server_state.ts +0 -20
  1954. package/node_modules/node-opcua-nodeset-ua/source/enum_structure.ts +0 -17
  1955. package/node_modules/node-opcua-nodeset-ua/source/enum_trust_list_masks.ts +0 -36
  1956. package/node_modules/node-opcua-nodeset-ua/source/enum_tsn_failure_code.ts +0 -121
  1957. package/node_modules/node-opcua-nodeset-ua/source/enum_tsn_listener_status.ts +0 -29
  1958. package/node_modules/node-opcua-nodeset-ua/source/enum_tsn_stream_state.ts +0 -42
  1959. package/node_modules/node-opcua-nodeset-ua/source/enum_tsn_talker_status.ts +0 -24
  1960. package/node_modules/node-opcua-nodeset-ua/source/enum_user_token.ts +0 -16
  1961. package/node_modules/node-opcua-nodeset-ua/source/eu_information.ts +0 -23
  1962. package/node_modules/node-opcua-nodeset-ua/source/index.ts +0 -565
  1963. package/node_modules/node-opcua-nodeset-ua/source/ua_3_d_cartesian_coordinates.ts +0 -25
  1964. package/node_modules/node-opcua-nodeset-ua/source/ua_3_d_frame.ts +0 -25
  1965. package/node_modules/node-opcua-nodeset-ua/source/ua_3_d_orientation.ts +0 -25
  1966. package/node_modules/node-opcua-nodeset-ua/source/ua_3_d_vector.ts +0 -25
  1967. package/node_modules/node-opcua-nodeset-ua/source/ua_acknowledgeable_condition.ts +0 -24
  1968. package/node_modules/node-opcua-nodeset-ua/source/ua_address_space_file.ts +0 -18
  1969. package/node_modules/node-opcua-nodeset-ua/source/ua_aggregate_configuration.ts +0 -21
  1970. package/node_modules/node-opcua-nodeset-ua/source/ua_aggregate_function.ts +0 -7
  1971. package/node_modules/node-opcua-nodeset-ua/source/ua_alarm_condition.ts +0 -57
  1972. package/node_modules/node-opcua-nodeset-ua/source/ua_alarm_group.ts +0 -13
  1973. package/node_modules/node-opcua-nodeset-ua/source/ua_alarm_metrics.ts +0 -29
  1974. package/node_modules/node-opcua-nodeset-ua/source/ua_alarm_rate_variable.ts +0 -23
  1975. package/node_modules/node-opcua-nodeset-ua/source/ua_alarm_state_variable.ts +0 -29
  1976. package/node_modules/node-opcua-nodeset-ua/source/ua_alarm_suppression_group.ts +0 -13
  1977. package/node_modules/node-opcua-nodeset-ua/source/ua_alias_name.ts +0 -7
  1978. package/node_modules/node-opcua-nodeset-ua/source/ua_alias_name_category.ts +0 -23
  1979. package/node_modules/node-opcua-nodeset-ua/source/ua_alternative_unit.ts +0 -23
  1980. package/node_modules/node-opcua-nodeset-ua/source/ua_analog_item.ts +0 -23
  1981. package/node_modules/node-opcua-nodeset-ua/source/ua_analog_unit.ts +0 -23
  1982. package/node_modules/node-opcua-nodeset-ua/source/ua_analog_unit_range.ts +0 -23
  1983. package/node_modules/node-opcua-nodeset-ua/source/ua_application_certificate.ts +0 -13
  1984. package/node_modules/node-opcua-nodeset-ua/source/ua_application_configuration.ts +0 -29
  1985. package/node_modules/node-opcua-nodeset-ua/source/ua_application_configuration_file.ts +0 -29
  1986. package/node_modules/node-opcua-nodeset-ua/source/ua_application_configuration_folder.ts +0 -13
  1987. package/node_modules/node-opcua-nodeset-ua/source/ua_array_item.ts +0 -30
  1988. package/node_modules/node-opcua-nodeset-ua/source/ua_audio_variable.ts +0 -25
  1989. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_activate_session_event.ts +0 -26
  1990. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_add_nodes_event.ts +0 -20
  1991. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_add_references_event.ts +0 -20
  1992. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_cancel_event.ts +0 -20
  1993. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_certificate_data_mismatch_event.ts +0 -21
  1994. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_certificate_event.ts +0 -19
  1995. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_certificate_expired_event.ts +0 -13
  1996. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_certificate_invalid_event.ts +0 -13
  1997. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_certificate_mismatch_event.ts +0 -13
  1998. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_certificate_revoked_event.ts +0 -13
  1999. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_certificate_untrusted_event.ts +0 -13
  2000. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_channel_event.ts +0 -20
  2001. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_client_event.ts +0 -20
  2002. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_client_update_method_result_event.ts +0 -25
  2003. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_acknowledge_event.ts +0 -21
  2004. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_comment_event.ts +0 -21
  2005. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_confirm_event.ts +0 -21
  2006. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_enable_event.ts +0 -13
  2007. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_event.ts +0 -13
  2008. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_out_of_service_event.ts +0 -13
  2009. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_reset_event.ts +0 -13
  2010. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_respond_event.ts +0 -20
  2011. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_shelving_event.ts +0 -19
  2012. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_silence_event.ts +0 -13
  2013. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_condition_suppression_event.ts +0 -13
  2014. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_create_session_event.ts +0 -23
  2015. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_delete_nodes_event.ts +0 -20
  2016. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_delete_references_event.ts +0 -20
  2017. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_event.ts +0 -25
  2018. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_annotation_update_event.ts +0 -23
  2019. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_at_time_delete_event.ts +0 -21
  2020. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_bulk_insert_event.ts +0 -22
  2021. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_configuration_change_event.ts +0 -13
  2022. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_delete_event.ts +0 -20
  2023. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_event_delete_event.ts +0 -21
  2024. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_event_update_event.ts +0 -27
  2025. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_raw_modify_delete_event.ts +0 -23
  2026. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_update_event.ts +0 -20
  2027. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_history_value_update_event.ts +0 -25
  2028. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_node_management_event.ts +0 -13
  2029. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_open_secure_channel_event.ts +0 -28
  2030. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_program_transition_event.ts +0 -20
  2031. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_security_event.ts +0 -20
  2032. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_session_event.ts +0 -20
  2033. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_update_event.ts +0 -13
  2034. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_update_method_event.ts +0 -24
  2035. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_update_state_event.ts +0 -19
  2036. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_url_mismatch_event.ts +0 -20
  2037. package/node_modules/node-opcua-nodeset-ua/source/ua_audit_write_update_event.ts +0 -23
  2038. package/node_modules/node-opcua-nodeset-ua/source/ua_authorization_service_configuration.ts +0 -20
  2039. package/node_modules/node-opcua-nodeset-ua/source/ua_authorization_services_configuration_folder.ts +0 -13
  2040. package/node_modules/node-opcua-nodeset-ua/source/ua_base_analog.ts +0 -26
  2041. package/node_modules/node-opcua-nodeset-ua/source/ua_base_condition_class.ts +0 -7
  2042. package/node_modules/node-opcua-nodeset-ua/source/ua_base_data_variable.ts +0 -8
  2043. package/node_modules/node-opcua-nodeset-ua/source/ua_base_event.ts +0 -34
  2044. package/node_modules/node-opcua-nodeset-ua/source/ua_base_interface.ts +0 -7
  2045. package/node_modules/node-opcua-nodeset-ua/source/ua_base_log_event.ts +0 -25
  2046. package/node_modules/node-opcua-nodeset-ua/source/ua_base_model_change_event.ts +0 -13
  2047. package/node_modules/node-opcua-nodeset-ua/source/ua_bit_field.ts +0 -25
  2048. package/node_modules/node-opcua-nodeset-ua/source/ua_broker_connection_transport.ts +0 -21
  2049. package/node_modules/node-opcua-nodeset-ua/source/ua_broker_data_set_reader_transport.ts +0 -25
  2050. package/node_modules/node-opcua-nodeset-ua/source/ua_broker_data_set_writer_transport.ts +0 -26
  2051. package/node_modules/node-opcua-nodeset-ua/source/ua_broker_writer_group_transport.ts +0 -24
  2052. package/node_modules/node-opcua-nodeset-ua/source/ua_build_info.ts +0 -28
  2053. package/node_modules/node-opcua-nodeset-ua/source/ua_cartesian_coordinates.ts +0 -24
  2054. package/node_modules/node-opcua-nodeset-ua/source/ua_certificate.ts +0 -7
  2055. package/node_modules/node-opcua-nodeset-ua/source/ua_certificate_expiration_alarm.ts +0 -23
  2056. package/node_modules/node-opcua-nodeset-ua/source/ua_certificate_group.ts +0 -27
  2057. package/node_modules/node-opcua-nodeset-ua/source/ua_certificate_group_folder.ts +0 -20
  2058. package/node_modules/node-opcua-nodeset-ua/source/ua_certificate_update_requested_audit_event.ts +0 -13
  2059. package/node_modules/node-opcua-nodeset-ua/source/ua_certificate_updated_audit_event.ts +0 -21
  2060. package/node_modules/node-opcua-nodeset-ua/source/ua_choice_state.ts +0 -13
  2061. package/node_modules/node-opcua-nodeset-ua/source/ua_condition.ts +0 -42
  2062. package/node_modules/node-opcua-nodeset-ua/source/ua_condition_variable.ts +0 -22
  2063. package/node_modules/node-opcua-nodeset-ua/source/ua_configuration_file.ts +0 -26
  2064. package/node_modules/node-opcua-nodeset-ua/source/ua_configuration_updated_audit_event.ts +0 -21
  2065. package/node_modules/node-opcua-nodeset-ua/source/ua_connection_transport.ts +0 -7
  2066. package/node_modules/node-opcua-nodeset-ua/source/ua_cube_item.ts +0 -25
  2067. package/node_modules/node-opcua-nodeset-ua/source/ua_data_item.ts +0 -24
  2068. package/node_modules/node-opcua-nodeset-ua/source/ua_data_set_folder.ts +0 -26
  2069. package/node_modules/node-opcua-nodeset-ua/source/ua_data_set_reader.ts +0 -46
  2070. package/node_modules/node-opcua-nodeset-ua/source/ua_data_set_reader_message.ts +0 -7
  2071. package/node_modules/node-opcua-nodeset-ua/source/ua_data_set_reader_transport.ts +0 -7
  2072. package/node_modules/node-opcua-nodeset-ua/source/ua_data_set_writer.ts +0 -31
  2073. package/node_modules/node-opcua-nodeset-ua/source/ua_data_set_writer_message.ts +0 -7
  2074. package/node_modules/node-opcua-nodeset-ua/source/ua_data_set_writer_transport.ts +0 -7
  2075. package/node_modules/node-opcua-nodeset-ua/source/ua_data_type_description.ts +0 -24
  2076. package/node_modules/node-opcua-nodeset-ua/source/ua_data_type_dictionary.ts +0 -25
  2077. package/node_modules/node-opcua-nodeset-ua/source/ua_data_type_encoding.ts +0 -7
  2078. package/node_modules/node-opcua-nodeset-ua/source/ua_data_type_refinement.ts +0 -7
  2079. package/node_modules/node-opcua-nodeset-ua/source/ua_data_type_system.ts +0 -7
  2080. package/node_modules/node-opcua-nodeset-ua/source/ua_datagram_connection_transport.ts +0 -26
  2081. package/node_modules/node-opcua-nodeset-ua/source/ua_datagram_data_set_reader_transport.ts +0 -25
  2082. package/node_modules/node-opcua-nodeset-ua/source/ua_datagram_writer_group_transport.ts +0 -28
  2083. package/node_modules/node-opcua-nodeset-ua/source/ua_device_failure_event.ts +0 -13
  2084. package/node_modules/node-opcua-nodeset-ua/source/ua_dialog_condition.ts +0 -31
  2085. package/node_modules/node-opcua-nodeset-ua/source/ua_dictionary_entry.ts +0 -17
  2086. package/node_modules/node-opcua-nodeset-ua/source/ua_dictionary_folder.ts +0 -13
  2087. package/node_modules/node-opcua-nodeset-ua/source/ua_discrepancy_alarm.ts +0 -22
  2088. package/node_modules/node-opcua-nodeset-ua/source/ua_discrete_alarm.ts +0 -13
  2089. package/node_modules/node-opcua-nodeset-ua/source/ua_discrete_item.ts +0 -18
  2090. package/node_modules/node-opcua-nodeset-ua/source/ua_ecc_application_certificate.ts +0 -13
  2091. package/node_modules/node-opcua-nodeset-ua/source/ua_ecc_brainpool_p_256_r_1_application_certificate.ts +0 -13
  2092. package/node_modules/node-opcua-nodeset-ua/source/ua_ecc_brainpool_p_384_r_1_application_certificate.ts +0 -13
  2093. package/node_modules/node-opcua-nodeset-ua/source/ua_ecc_curve_25519_application_certificate.ts +0 -13
  2094. package/node_modules/node-opcua-nodeset-ua/source/ua_ecc_curve_448_application_certificate.ts +0 -13
  2095. package/node_modules/node-opcua-nodeset-ua/source/ua_ecc_nist_p_256_application_certificate.ts +0 -13
  2096. package/node_modules/node-opcua-nodeset-ua/source/ua_ecc_nist_p_384_application_certificate.ts +0 -13
  2097. package/node_modules/node-opcua-nodeset-ua/source/ua_else_guard_variable.ts +0 -18
  2098. package/node_modules/node-opcua-nodeset-ua/source/ua_event_queue_overflow_event.ts +0 -13
  2099. package/node_modules/node-opcua-nodeset-ua/source/ua_exclusive_deviation_alarm.ts +0 -21
  2100. package/node_modules/node-opcua-nodeset-ua/source/ua_exclusive_level_alarm.ts +0 -13
  2101. package/node_modules/node-opcua-nodeset-ua/source/ua_exclusive_limit_alarm.ts +0 -21
  2102. package/node_modules/node-opcua-nodeset-ua/source/ua_exclusive_limit_state_machine.ts +0 -25
  2103. package/node_modules/node-opcua-nodeset-ua/source/ua_exclusive_rate_of_change_alarm.ts +0 -20
  2104. package/node_modules/node-opcua-nodeset-ua/source/ua_expression_guard_variable.ts +0 -24
  2105. package/node_modules/node-opcua-nodeset-ua/source/ua_extension_fields.ts +0 -18
  2106. package/node_modules/node-opcua-nodeset-ua/source/ua_file.ts +0 -30
  2107. package/node_modules/node-opcua-nodeset-ua/source/ua_file_directory.ts +0 -23
  2108. package/node_modules/node-opcua-nodeset-ua/source/ua_file_transfer_state_machine.ts +0 -35
  2109. package/node_modules/node-opcua-nodeset-ua/source/ua_finite_state_machine.ts +0 -26
  2110. package/node_modules/node-opcua-nodeset-ua/source/ua_finite_state_variable.ts +0 -24
  2111. package/node_modules/node-opcua-nodeset-ua/source/ua_finite_transition_variable.ts +0 -24
  2112. package/node_modules/node-opcua-nodeset-ua/source/ua_folder.ts +0 -7
  2113. package/node_modules/node-opcua-nodeset-ua/source/ua_frame.ts +0 -32
  2114. package/node_modules/node-opcua-nodeset-ua/source/ua_general_model_change_event.ts +0 -20
  2115. package/node_modules/node-opcua-nodeset-ua/source/ua_guard_variable.ts +0 -19
  2116. package/node_modules/node-opcua-nodeset-ua/source/ua_highly_managed_alarm_condition_class.ts +0 -13
  2117. package/node_modules/node-opcua-nodeset-ua/source/ua_historical_data_configuration.ts +0 -34
  2118. package/node_modules/node-opcua-nodeset-ua/source/ua_historical_event_configuration.ts +0 -23
  2119. package/node_modules/node-opcua-nodeset-ua/source/ua_historical_external_event_source.ts +0 -28
  2120. package/node_modules/node-opcua-nodeset-ua/source/ua_history_server_capabilities.ts +0 -35
  2121. package/node_modules/node-opcua-nodeset-ua/source/ua_https_certificate.ts +0 -13
  2122. package/node_modules/node-opcua-nodeset-ua/source/ua_i_base_ethernet_capabilities.ts +0 -19
  2123. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_auto_negotiation_status.ts +0 -20
  2124. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_base_ethernet_port.ts +0 -24
  2125. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_base_tsn_status_stream.ts +0 -26
  2126. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_base_tsn_stream.ts +0 -25
  2127. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_base_tsn_traffic_specification.ts +0 -23
  2128. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_tsn_interface_configuration.ts +0 -21
  2129. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_tsn_interface_configuration_listener.ts +0 -20
  2130. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_tsn_interface_configuration_talker.ts +0 -20
  2131. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_tsn_mac_address.ts +0 -21
  2132. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ieee_tsn_vlan_tag.ts +0 -21
  2133. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ietf_base_network_interface.ts +0 -26
  2134. package/node_modules/node-opcua-nodeset-ua/source/ua_i_ordered_object.ts +0 -18
  2135. package/node_modules/node-opcua-nodeset-ua/source/ua_i_priority_mapping_entry.ts +0 -23
  2136. package/node_modules/node-opcua-nodeset-ua/source/ua_i_sr_class.ts +0 -22
  2137. package/node_modules/node-opcua-nodeset-ua/source/ua_i_vlan_id.ts +0 -20
  2138. package/node_modules/node-opcua-nodeset-ua/source/ua_ietf_base_network_interface.ts +0 -26
  2139. package/node_modules/node-opcua-nodeset-ua/source/ua_image_item.ts +0 -24
  2140. package/node_modules/node-opcua-nodeset-ua/source/ua_initial_state.ts +0 -13
  2141. package/node_modules/node-opcua-nodeset-ua/source/ua_instrument_diagnostic_alarm.ts +0 -13
  2142. package/node_modules/node-opcua-nodeset-ua/source/ua_irdi_dictionary_entry.ts +0 -13
  2143. package/node_modules/node-opcua-nodeset-ua/source/ua_json_data_set_reader_message.ts +0 -21
  2144. package/node_modules/node-opcua-nodeset-ua/source/ua_json_data_set_writer_message.ts +0 -20
  2145. package/node_modules/node-opcua-nodeset-ua/source/ua_json_writer_group_message.ts +0 -20
  2146. package/node_modules/node-opcua-nodeset-ua/source/ua_key_credential_audit_event.ts +0 -20
  2147. package/node_modules/node-opcua-nodeset-ua/source/ua_key_credential_configuration.ts +0 -26
  2148. package/node_modules/node-opcua-nodeset-ua/source/ua_key_credential_configuration_folder.ts +0 -19
  2149. package/node_modules/node-opcua-nodeset-ua/source/ua_key_credential_deleted_audit_event.ts +0 -20
  2150. package/node_modules/node-opcua-nodeset-ua/source/ua_key_credential_updated_audit_event.ts +0 -13
  2151. package/node_modules/node-opcua-nodeset-ua/source/ua_limit_alarm.ts +0 -35
  2152. package/node_modules/node-opcua-nodeset-ua/source/ua_lldp_information.ts +0 -22
  2153. package/node_modules/node-opcua-nodeset-ua/source/ua_lldp_local_system.ts +0 -25
  2154. package/node_modules/node-opcua-nodeset-ua/source/ua_lldp_port_information.ts +0 -28
  2155. package/node_modules/node-opcua-nodeset-ua/source/ua_lldp_remote_statistics.ts +0 -24
  2156. package/node_modules/node-opcua-nodeset-ua/source/ua_lldp_remote_system.ts +0 -38
  2157. package/node_modules/node-opcua-nodeset-ua/source/ua_log_entry_condition_class.ts +0 -13
  2158. package/node_modules/node-opcua-nodeset-ua/source/ua_log_object.ts +0 -21
  2159. package/node_modules/node-opcua-nodeset-ua/source/ua_log_overflow_event.ts +0 -13
  2160. package/node_modules/node-opcua-nodeset-ua/source/ua_maintenance_condition_class.ts +0 -13
  2161. package/node_modules/node-opcua-nodeset-ua/source/ua_modelling_rule.ts +0 -7
  2162. package/node_modules/node-opcua-nodeset-ua/source/ua_multi_state_dictionary_entry_discrete.ts +0 -23
  2163. package/node_modules/node-opcua-nodeset-ua/source/ua_multi_state_dictionary_entry_discrete_base.ts +0 -24
  2164. package/node_modules/node-opcua-nodeset-ua/source/ua_multi_state_discrete.ts +0 -23
  2165. package/node_modules/node-opcua-nodeset-ua/source/ua_multi_state_value_discrete.ts +0 -25
  2166. package/node_modules/node-opcua-nodeset-ua/source/ua_n_dimension_array_item.ts +0 -23
  2167. package/node_modules/node-opcua-nodeset-ua/source/ua_namespace_metadata.ts +0 -34
  2168. package/node_modules/node-opcua-nodeset-ua/source/ua_namespaces.ts +0 -17
  2169. package/node_modules/node-opcua-nodeset-ua/source/ua_network_address.ts +0 -20
  2170. package/node_modules/node-opcua-nodeset-ua/source/ua_network_address_url.ts +0 -20
  2171. package/node_modules/node-opcua-nodeset-ua/source/ua_non_exclusive_deviation_alarm.ts +0 -21
  2172. package/node_modules/node-opcua-nodeset-ua/source/ua_non_exclusive_level_alarm.ts +0 -13
  2173. package/node_modules/node-opcua-nodeset-ua/source/ua_non_exclusive_limit_alarm.ts +0 -23
  2174. package/node_modules/node-opcua-nodeset-ua/source/ua_non_exclusive_rate_of_change_alarm.ts +0 -20
  2175. package/node_modules/node-opcua-nodeset-ua/source/ua_non_transparent_backup_redundancy.ts +0 -23
  2176. package/node_modules/node-opcua-nodeset-ua/source/ua_non_transparent_network_redundancy.ts +0 -20
  2177. package/node_modules/node-opcua-nodeset-ua/source/ua_non_transparent_redundancy.ts +0 -20
  2178. package/node_modules/node-opcua-nodeset-ua/source/ua_off_normal_alarm.ts +0 -20
  2179. package/node_modules/node-opcua-nodeset-ua/source/ua_operation_limits.ts +0 -31
  2180. package/node_modules/node-opcua-nodeset-ua/source/ua_option_set.ts +0 -24
  2181. package/node_modules/node-opcua-nodeset-ua/source/ua_ordered_list.ts +0 -22
  2182. package/node_modules/node-opcua-nodeset-ua/source/ua_orientation.ts +0 -24
  2183. package/node_modules/node-opcua-nodeset-ua/source/ua_priority_mapping_table.ts +0 -21
  2184. package/node_modules/node-opcua-nodeset-ua/source/ua_process_condition_class.ts +0 -13
  2185. package/node_modules/node-opcua-nodeset-ua/source/ua_program_diagnostic.ts +0 -35
  2186. package/node_modules/node-opcua-nodeset-ua/source/ua_program_diagnostic_2.ts +0 -38
  2187. package/node_modules/node-opcua-nodeset-ua/source/ua_program_state_machine.ts +0 -65
  2188. package/node_modules/node-opcua-nodeset-ua/source/ua_program_transition_audit_event.ts +0 -19
  2189. package/node_modules/node-opcua-nodeset-ua/source/ua_program_transition_event.ts +0 -17
  2190. package/node_modules/node-opcua-nodeset-ua/source/ua_progress_event.ts +0 -21
  2191. package/node_modules/node-opcua-nodeset-ua/source/ua_property.ts +0 -8
  2192. package/node_modules/node-opcua-nodeset-ua/source/ua_provisionable_device.ts +0 -20
  2193. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_capabilities.ts +0 -33
  2194. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_communication_failure_event.ts +0 -20
  2195. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_configuration.ts +0 -19
  2196. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_connection.ts +0 -36
  2197. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_diagnostics.ts +0 -36
  2198. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_diagnostics_connection.ts +0 -24
  2199. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_diagnostics_counter.ts +0 -28
  2200. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_diagnostics_data_set_reader.ts +0 -36
  2201. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_diagnostics_data_set_writer.ts +0 -33
  2202. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_diagnostics_reader_group.ts +0 -32
  2203. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_diagnostics_root.ts +0 -27
  2204. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_diagnostics_writer_group.ts +0 -34
  2205. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_group.ts +0 -28
  2206. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_key_push_target.ts +0 -30
  2207. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_key_push_target_folder.ts +0 -23
  2208. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_key_service.ts +0 -22
  2209. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_status.ts +0 -22
  2210. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_status_event.ts +0 -23
  2211. package/node_modules/node-opcua-nodeset-ua/source/ua_pub_sub_transport_limits_exceed_event.ts +0 -21
  2212. package/node_modules/node-opcua-nodeset-ua/source/ua_publish_subscribe.ts +0 -44
  2213. package/node_modules/node-opcua-nodeset-ua/source/ua_published_data_items.ts +0 -22
  2214. package/node_modules/node-opcua-nodeset-ua/source/ua_published_data_set.ts +0 -26
  2215. package/node_modules/node-opcua-nodeset-ua/source/ua_published_events.ts +0 -25
  2216. package/node_modules/node-opcua-nodeset-ua/source/ua_quantities_folder.ts +0 -14
  2217. package/node_modules/node-opcua-nodeset-ua/source/ua_quantity.ts +0 -26
  2218. package/node_modules/node-opcua-nodeset-ua/source/ua_rational_number.ts +0 -24
  2219. package/node_modules/node-opcua-nodeset-ua/source/ua_reader_group.ts +0 -26
  2220. package/node_modules/node-opcua-nodeset-ua/source/ua_reader_group_message.ts +0 -7
  2221. package/node_modules/node-opcua-nodeset-ua/source/ua_reader_group_transport.ts +0 -7
  2222. package/node_modules/node-opcua-nodeset-ua/source/ua_reference_description_variable.ts +0 -24
  2223. package/node_modules/node-opcua-nodeset-ua/source/ua_refresh_end_event.ts +0 -13
  2224. package/node_modules/node-opcua-nodeset-ua/source/ua_refresh_required_event.ts +0 -13
  2225. package/node_modules/node-opcua-nodeset-ua/source/ua_refresh_start_event.ts +0 -13
  2226. package/node_modules/node-opcua-nodeset-ua/source/ua_role.ts +0 -32
  2227. package/node_modules/node-opcua-nodeset-ua/source/ua_role_mapping_rule_changed_audit_event.ts +0 -13
  2228. package/node_modules/node-opcua-nodeset-ua/source/ua_role_set.ts +0 -18
  2229. package/node_modules/node-opcua-nodeset-ua/source/ua_rsa_min_application_certificate.ts +0 -13
  2230. package/node_modules/node-opcua-nodeset-ua/source/ua_rsa_sha_256_application_certificate.ts +0 -13
  2231. package/node_modules/node-opcua-nodeset-ua/source/ua_safety_condition_class.ts +0 -13
  2232. package/node_modules/node-opcua-nodeset-ua/source/ua_sampling_interval_diagnostics.ts +0 -26
  2233. package/node_modules/node-opcua-nodeset-ua/source/ua_sampling_interval_diagnostics_array.ts +0 -23
  2234. package/node_modules/node-opcua-nodeset-ua/source/ua_security_group.ts +0 -24
  2235. package/node_modules/node-opcua-nodeset-ua/source/ua_security_group_folder.ts +0 -26
  2236. package/node_modules/node-opcua-nodeset-ua/source/ua_selection_list.ts +0 -25
  2237. package/node_modules/node-opcua-nodeset-ua/source/ua_semantic_change_event.ts +0 -20
  2238. package/node_modules/node-opcua-nodeset-ua/source/ua_serialization_entity.ts +0 -33
  2239. package/node_modules/node-opcua-nodeset-ua/source/ua_server.ts +0 -43
  2240. package/node_modules/node-opcua-nodeset-ua/source/ua_server_capabilities.ts +0 -48
  2241. package/node_modules/node-opcua-nodeset-ua/source/ua_server_configuration.ts +0 -46
  2242. package/node_modules/node-opcua-nodeset-ua/source/ua_server_diagnostics.ts +0 -29
  2243. package/node_modules/node-opcua-nodeset-ua/source/ua_server_diagnostics_summary.ts +0 -34
  2244. package/node_modules/node-opcua-nodeset-ua/source/ua_server_redundancy.ts +0 -21
  2245. package/node_modules/node-opcua-nodeset-ua/source/ua_server_status.ts +0 -32
  2246. package/node_modules/node-opcua-nodeset-ua/source/ua_server_unit.ts +0 -22
  2247. package/node_modules/node-opcua-nodeset-ua/source/ua_server_vendor_capability.ts +0 -18
  2248. package/node_modules/node-opcua-nodeset-ua/source/ua_session_diagnostics_array.ts +0 -23
  2249. package/node_modules/node-opcua-nodeset-ua/source/ua_session_diagnostics_object.ts +0 -28
  2250. package/node_modules/node-opcua-nodeset-ua/source/ua_session_diagnostics_variable.ts +0 -68
  2251. package/node_modules/node-opcua-nodeset-ua/source/ua_session_security_diagnostics.ts +0 -33
  2252. package/node_modules/node-opcua-nodeset-ua/source/ua_session_security_diagnostics_array.ts +0 -23
  2253. package/node_modules/node-opcua-nodeset-ua/source/ua_sessions_diagnostics_summary.ts +0 -23
  2254. package/node_modules/node-opcua-nodeset-ua/source/ua_shelved_state_machine.ts +0 -36
  2255. package/node_modules/node-opcua-nodeset-ua/source/ua_standalone_subscribed_data_set.ts +0 -22
  2256. package/node_modules/node-opcua-nodeset-ua/source/ua_state.ts +0 -18
  2257. package/node_modules/node-opcua-nodeset-ua/source/ua_state_machine.ts +0 -21
  2258. package/node_modules/node-opcua-nodeset-ua/source/ua_state_variable.ts +0 -27
  2259. package/node_modules/node-opcua-nodeset-ua/source/ua_statistical_condition_class.ts +0 -13
  2260. package/node_modules/node-opcua-nodeset-ua/source/ua_subscribed_data_set.ts +0 -7
  2261. package/node_modules/node-opcua-nodeset-ua/source/ua_subscribed_data_set_folder.ts +0 -23
  2262. package/node_modules/node-opcua-nodeset-ua/source/ua_subscribed_data_set_mirror.ts +0 -13
  2263. package/node_modules/node-opcua-nodeset-ua/source/ua_subscription_diagnostics.ts +0 -54
  2264. package/node_modules/node-opcua-nodeset-ua/source/ua_subscription_diagnostics_array.ts +0 -23
  2265. package/node_modules/node-opcua-nodeset-ua/source/ua_subtype_restriction.ts +0 -7
  2266. package/node_modules/node-opcua-nodeset-ua/source/ua_syntax_reference_entry.ts +0 -20
  2267. package/node_modules/node-opcua-nodeset-ua/source/ua_system_condition_class.ts +0 -13
  2268. package/node_modules/node-opcua-nodeset-ua/source/ua_system_diagnostic_alarm.ts +0 -13
  2269. package/node_modules/node-opcua-nodeset-ua/source/ua_system_event.ts +0 -13
  2270. package/node_modules/node-opcua-nodeset-ua/source/ua_system_off_normal_alarm.ts +0 -13
  2271. package/node_modules/node-opcua-nodeset-ua/source/ua_system_status_change_event.ts +0 -20
  2272. package/node_modules/node-opcua-nodeset-ua/source/ua_target_variables.ts +0 -22
  2273. package/node_modules/node-opcua-nodeset-ua/source/ua_temporary_file_transfer.ts +0 -21
  2274. package/node_modules/node-opcua-nodeset-ua/source/ua_testing_condition_class.ts +0 -13
  2275. package/node_modules/node-opcua-nodeset-ua/source/ua_testing_condition_sub_class.ts +0 -7
  2276. package/node_modules/node-opcua-nodeset-ua/source/ua_tls_certificate.ts +0 -13
  2277. package/node_modules/node-opcua-nodeset-ua/source/ua_tls_client_certificate.ts +0 -13
  2278. package/node_modules/node-opcua-nodeset-ua/source/ua_tls_server_certificate.ts +0 -13
  2279. package/node_modules/node-opcua-nodeset-ua/source/ua_training_condition_class.ts +0 -13
  2280. package/node_modules/node-opcua-nodeset-ua/source/ua_transaction_diagnostics.ts +0 -26
  2281. package/node_modules/node-opcua-nodeset-ua/source/ua_transition.ts +0 -18
  2282. package/node_modules/node-opcua-nodeset-ua/source/ua_transition_event.ts +0 -22
  2283. package/node_modules/node-opcua-nodeset-ua/source/ua_transition_variable.ts +0 -28
  2284. package/node_modules/node-opcua-nodeset-ua/source/ua_transparent_redundancy.ts +0 -22
  2285. package/node_modules/node-opcua-nodeset-ua/source/ua_trip_alarm.ts +0 -13
  2286. package/node_modules/node-opcua-nodeset-ua/source/ua_trust_list.ts +0 -27
  2287. package/node_modules/node-opcua-nodeset-ua/source/ua_trust_list_out_of_date_alarm.ts +0 -22
  2288. package/node_modules/node-opcua-nodeset-ua/source/ua_trust_list_update_requested_audit_event.ts +0 -13
  2289. package/node_modules/node-opcua-nodeset-ua/source/ua_trust_list_updated_audit_event.ts +0 -20
  2290. package/node_modules/node-opcua-nodeset-ua/source/ua_two_state_discrete.ts +0 -24
  2291. package/node_modules/node-opcua-nodeset-ua/source/ua_two_state_variable.ts +0 -27
  2292. package/node_modules/node-opcua-nodeset-ua/source/ua_uadp_data_set_reader_message.ts +0 -28
  2293. package/node_modules/node-opcua-nodeset-ua/source/ua_uadp_data_set_writer_message.ts +0 -23
  2294. package/node_modules/node-opcua-nodeset-ua/source/ua_uadp_writer_group_message.ts +0 -25
  2295. package/node_modules/node-opcua-nodeset-ua/source/ua_unit.ts +0 -21
  2296. package/node_modules/node-opcua-nodeset-ua/source/ua_uri_dictionary_entry.ts +0 -13
  2297. package/node_modules/node-opcua-nodeset-ua/source/ua_user_certificate.ts +0 -13
  2298. package/node_modules/node-opcua-nodeset-ua/source/ua_user_credential_certificate.ts +0 -14
  2299. package/node_modules/node-opcua-nodeset-ua/source/ua_user_management.ts +0 -29
  2300. package/node_modules/node-opcua-nodeset-ua/source/ua_vector.ts +0 -24
  2301. package/node_modules/node-opcua-nodeset-ua/source/ua_vendor_server_info.ts +0 -7
  2302. package/node_modules/node-opcua-nodeset-ua/source/ua_writer_group.ts +0 -34
  2303. package/node_modules/node-opcua-nodeset-ua/source/ua_writer_group_message.ts +0 -7
  2304. package/node_modules/node-opcua-nodeset-ua/source/ua_writer_group_transport.ts +0 -7
  2305. package/node_modules/node-opcua-nodeset-ua/source/ua_xy_array_item.ts +0 -24
  2306. package/node_modules/node-opcua-nodeset-ua/source/ua_y_array_item.ts +0 -23
  2307. package/node_modules/node-opcua-nodesets/LICENSE +0 -22
  2308. package/node_modules/node-opcua-nodesets/dist/index.d.ts +0 -5
  2309. package/node_modules/node-opcua-nodesets/dist/index.js +0 -22
  2310. package/node_modules/node-opcua-nodesets/dist/index.js.map +0 -1
  2311. package/node_modules/node-opcua-nodesets/dist/index_web.d.ts +0 -4
  2312. package/node_modules/node-opcua-nodesets/dist/index_web.js +0 -33
  2313. package/node_modules/node-opcua-nodesets/dist/index_web.js.map +0 -1
  2314. package/node_modules/node-opcua-nodesets/dist/nodeset_catalog.d.ts +0 -10
  2315. package/node_modules/node-opcua-nodesets/dist/nodeset_catalog.js +0 -245
  2316. package/node_modules/node-opcua-nodesets/dist/nodeset_catalog.js.map +0 -1
  2317. package/node_modules/node-opcua-nodesets/dist/nodeset_nodejs.d.ts +0 -10
  2318. package/node_modules/node-opcua-nodesets/dist/nodeset_nodejs.js +0 -54
  2319. package/node_modules/node-opcua-nodesets/dist/nodeset_nodejs.js.map +0 -1
  2320. package/node_modules/node-opcua-nodesets/nodesets/.ignore +0 -1
  2321. package/node_modules/node-opcua-nodesets/nodesets/1.02/FTNIR.NodeSet2.xml +0 -819
  2322. package/node_modules/node-opcua-nodesets/nodesets/1.02/Opc.Ua.Adi.NodeSet2.xml +0 -8301
  2323. package/node_modules/node-opcua-nodesets/nodesets/1.02/Opc.Ua.Di.NodeSet2.xml +0 -1785
  2324. package/node_modules/node-opcua-nodesets/nodesets/Opc.ISA95.NodeSet2.xml +0 -3589
  2325. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.AMB.NodeSet2.xml +0 -1395
  2326. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Adi.NodeSet2.xml +0 -8301
  2327. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Adi.Types.xsd +0 -104
  2328. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.AutoID.NodeSet2.xml +0 -6062
  2329. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.CNC.NodeSet.xml +0 -15875
  2330. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.CommercialKitchenEquipment.NodeSet2.xml +0 -12096
  2331. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Di.NodeSet2.xml +0 -6042
  2332. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Di.Types.xsd +0 -161
  2333. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Eumabois.Nodeset2.xml +0 -2483
  2334. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Gds.NodeSet2.xml +0 -8282
  2335. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Glass.NodeSet2.xml +0 -5100
  2336. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.IA.NodeSet2.xml +0 -1782
  2337. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.IOLink.NodeSet2.xml +0 -4374
  2338. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.IOLinkIODD.NodeSet2.xml +0 -139
  2339. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.IRDI.NodeSet2.xml +0 -2243
  2340. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Ijt.Base.NodeSet2.xml +0 -19459
  2341. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Ijt.Tightening.NodeSet2.xml +0 -883
  2342. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.LADS.NodeSet2.xml +0 -7086
  2343. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.MachineTool.NodeSet2.xml +0 -7884
  2344. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.MachineVision.NodeSet2.xml +0 -17324
  2345. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Machinery.Jobs.Nodeset2.xml +0 -1249
  2346. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Machinery.NodeSet2.xml +0 -2099
  2347. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Machinery.ProcessValues.NodeSet2.xml +0 -1858
  2348. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Machinery_Result.NodeSet2.xml +0 -2640
  2349. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.MetalForming.NodeSet2.xml +0 -1577
  2350. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.NodeSet2.xml +0 -81975
  2351. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.PADIM.NodeSet2.xml +0 -14131
  2352. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.PackML.NodeSet2.xml +0 -3030
  2353. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Robotics.NodeSet2.xml +0 -7409
  2354. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Scales.NodeSet2.xml +0 -15817
  2355. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Types.bsd +0 -3499
  2356. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Weihenstephan.NodeSet2.xml +0 -821
  2357. package/node_modules/node-opcua-nodesets/nodesets/Opc.Ua.Woodworking.NodeSet2.xml +0 -17831
  2358. package/node_modules/node-opcua-nodesets/nodesets/UANodeSet.xsd +0 -497
  2359. package/node_modules/node-opcua-nodesets/nodesets/opc.ua.isa95-jobcontrol.nodeset2.xml +0 -4594
  2360. package/node_modules/node-opcua-nodesets/package.json +0 -34
  2361. package/node_modules/node-opcua-nodesets/source/index.ts +0 -5
  2362. package/node_modules/node-opcua-nodesets/source/index_web.ts +0 -19
  2363. package/node_modules/node-opcua-nodesets/source/nodeset_catalog.ts +0 -297
  2364. package/node_modules/node-opcua-nodesets/source/nodeset_nodejs.ts +0 -61
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DS3MN-Dc.js","names":["formatDistance","formatRelative","formatDistance","formatRelative","defaultLocale","defaultLocale","_Fragment","_Fragment","EMPTY","extractField","_Fragment","module"],"sources":["../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/index.js","../../../node_modules/scheduler/cjs/scheduler.production.js","../../../node_modules/scheduler/index.js","../../../node_modules/react-dom/cjs/react-dom.production.js","../../../node_modules/react-dom/index.js","../../../node_modules/react-dom/cjs/react-dom-client.production.js","../../../node_modules/react-dom/client.js","../../src/App.css","../../../packages/opcua-for-nodered-tools/dist/common.js","../../../packages/opcua-for-nodered-tools/dist/date.js","../../../source/ui/makePath.ts","../../src/api.ts","../../src/assets/sterfive.png","../../src/utils/clipboard.ts","../../src/utils/download.ts","../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/react/jsx-runtime.js","../../src/components/ActivationForm.tsx","../../../node_modules/date-fns/constants.js","../../../node_modules/date-fns/constructFrom.js","../../../node_modules/date-fns/toDate.js","../../../node_modules/date-fns/_lib/defaultOptions.js","../../../node_modules/date-fns/startOfWeek.js","../../../node_modules/date-fns/startOfISOWeek.js","../../../node_modules/date-fns/getISOWeekYear.js","../../../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","../../../node_modules/date-fns/_lib/normalizeDates.js","../../../node_modules/date-fns/startOfDay.js","../../../node_modules/date-fns/differenceInCalendarDays.js","../../../node_modules/date-fns/startOfISOWeekYear.js","../../../node_modules/date-fns/compareAsc.js","../../../node_modules/date-fns/isDate.js","../../../node_modules/date-fns/isValid.js","../../../node_modules/date-fns/differenceInCalendarMonths.js","../../../node_modules/date-fns/_lib/getRoundingMethod.js","../../../node_modules/date-fns/differenceInMilliseconds.js","../../../node_modules/date-fns/endOfDay.js","../../../node_modules/date-fns/endOfMonth.js","../../../node_modules/date-fns/isLastDayOfMonth.js","../../../node_modules/date-fns/differenceInMonths.js","../../../node_modules/date-fns/differenceInSeconds.js","../../../node_modules/date-fns/startOfYear.js","../../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../../../node_modules/date-fns/locale/en-US/_lib/formatLong.js","../../../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../../../node_modules/date-fns/locale/en-US/_lib/localize.js","../../../node_modules/date-fns/locale/_lib/buildMatchFn.js","../../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../../../node_modules/date-fns/locale/en-US/_lib/match.js","../../../node_modules/date-fns/locale/en-US.js","../../../node_modules/date-fns/getDayOfYear.js","../../../node_modules/date-fns/getISOWeek.js","../../../node_modules/date-fns/getWeekYear.js","../../../node_modules/date-fns/startOfWeekYear.js","../../../node_modules/date-fns/getWeek.js","../../../node_modules/date-fns/_lib/addLeadingZeros.js","../../../node_modules/date-fns/_lib/format/lightFormatters.js","../../../node_modules/date-fns/_lib/format/formatters.js","../../../node_modules/date-fns/_lib/format/longFormatters.js","../../../node_modules/date-fns/_lib/protectedTokens.js","../../../node_modules/date-fns/format.js","../../../node_modules/date-fns/formatDistance.js","../../src/components/ActivationKeyEntry.tsx","../../src/components/LicenceInfoBox.tsx","../../src/components/OnboardingWizard.tsx","../../src/StripePricingTable.tsx","../../src/pages/BuyOnlinePage.tsx","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/CertificateInfoCard.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/SanListEditor.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/SubjectNameEditor.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/CertSubjectFieldset.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/CsrRequestForm.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/EnrollmentForm.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/EnrollmentStatusBadge.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/OwnCertificateCard.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/types.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/PullWorkflowStepper.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/RenewalStatusPanel.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/PullDashboard.js","../../../node_modules/@sterfive/opcua-pull-certificate-react/dist/components/SelfSignedCertForm.js","../../src/gds-pull-api.ts","../../src/pki-api.ts","../../src/hooks/useGdsPull.ts","../../src/pages/GdsPullTab.tsx","../../src/pages/CertificatesPage.tsx","../../../node_modules/qrcode/lib/can-promise.js","../../../node_modules/qrcode/lib/core/utils.js","../../../node_modules/qrcode/lib/core/error-correction-level.js","../../../node_modules/qrcode/lib/core/bit-buffer.js","../../../node_modules/qrcode/lib/core/bit-matrix.js","../../../node_modules/qrcode/lib/core/alignment-pattern.js","../../../node_modules/qrcode/lib/core/finder-pattern.js","../../../node_modules/qrcode/lib/core/mask-pattern.js","../../../node_modules/qrcode/lib/core/error-correction-code.js","../../../node_modules/qrcode/lib/core/galois-field.js","../../../node_modules/qrcode/lib/core/polynomial.js","../../../node_modules/qrcode/lib/core/reed-solomon-encoder.js","../../../node_modules/qrcode/lib/core/version-check.js","../../../node_modules/qrcode/lib/core/regex.js","../../../node_modules/qrcode/lib/core/mode.js","../../../node_modules/qrcode/lib/core/version.js","../../../node_modules/qrcode/lib/core/format-info.js","../../../node_modules/qrcode/lib/core/numeric-data.js","../../../node_modules/qrcode/lib/core/alphanumeric-data.js","../../../node_modules/qrcode/lib/core/byte-data.js","../../../node_modules/qrcode/lib/core/kanji-data.js","../../../node_modules/dijkstrajs/dijkstra.js","../../../node_modules/qrcode/lib/core/segments.js","../../../node_modules/qrcode/lib/core/qrcode.js","../../../node_modules/qrcode/lib/renderer/utils.js","../../../node_modules/qrcode/lib/renderer/canvas.js","../../../node_modules/qrcode/lib/renderer/svg-tag.js","../../../node_modules/qrcode/lib/browser.js","../../src/pages/RequestProEvalPage.tsx","../../src/pages/SupportPage.tsx","../../src/App.tsx","../../src/main.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.6\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.2.6\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction getActivityInstanceFromFiber(fiber) {\n if (31 === fiber.tag) {\n var activityState = fiber.memoizedState;\n null === activityState &&\n ((fiber = fiber.alternate),\n null !== fiber && (activityState = fiber.memoizedState));\n if (null !== activityState) return activityState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$1) {\n control = x$1;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$2) {\n control = x$2;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"<anonymous>\") &&\n (frame = frame.replace(\"<anonymous>\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber, childFiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return fiber.child !== childFiber && null !== childFiber\n ? describeBuiltInComponentFrame(\"Suspense Fallback\")\n : describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\",\n previous = null;\n do\n (info += describeFiber(workInProgress, previous)),\n (previous = workInProgress),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionUpdateLane = 256,\n nextTransitionDeferredLane = 262144,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n return lanes & 261888;\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 3932160;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 261930);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = renderLanes & -renderLanes;\n renderLane =\n 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);\n return 0 !== (renderLane & (root.suspendedLanes | renderLanes))\n ? 0\n : renderLane;\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentHydrationBoundary(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentHydrationBoundary(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 31 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$10 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$10 && \"aria-\" !== prefix$10) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node, valueField, currentValue) {\n var descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n );\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n if (!node._valueTracker) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\";\n node._valueTracker = trackValueOnNode(\n node,\n valueField,\n \"\" + node[valueField]\n );\n }\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n ) {\n track(element);\n return;\n }\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n track(element);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n track(element);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nfunction noop$1() {}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$286;\n if (canUseDOM) {\n var isSupported$jscomp$inline_427 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_427) {\n var element$jscomp$inline_428 = document.createElement(\"div\");\n element$jscomp$inline_428.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_427 =\n \"function\" === typeof element$jscomp$inline_428.oninput;\n }\n JSCompiler_inline_result$jscomp$286 = isSupported$jscomp$inline_427;\n } else JSCompiler_inline_result$jscomp$286 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$286 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiberImplClass(18, null, null, 0);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(\n formatProdErrorMessage(\n 418,\n 1 < arguments.length && void 0 !== arguments[1] && arguments[1]\n ? \"text\"\n : \"HTML\",\n \"\"\n )\n );\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber, !0);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 31:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else if (31 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n globalMostRecentTransitionTime = now();\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nfunction resolveLazy(lazyType) {\n try {\n var init = lazyType._init;\n return init(lazyType._payload);\n } catch (x) {\n if (null !== x && \"object\" === typeof x && \"function\" === typeof x.then)\n throw ((suspendedThenable = x), SuspenseException);\n throw x;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectTypeImpl(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n createChild(returnFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushDehydratedActivitySuspenseHandler(fiber) {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, fiber);\n null === shellBoundary && (shellBoundary = fiber);\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n 22 === fiber.tag\n ? (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary && (shellBoundary = fiber))\n : reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (\n 19 === node.tag &&\n (\"forwards\" === node.memoizedProps.revealOrder ||\n \"backwards\" === node.memoizedProps.revealOrder ||\n \"unstable_legacy-backwards\" === node.memoizedProps.revealOrder ||\n \"together\" === node.memoizedProps.revealOrder)\n ) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$60 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n gesture: update.gesture,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$60 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$66) {\n onActionError(actionQueue, node, error$66);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, deps) {\n tag = { tag: tag, create: create, deps: deps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((deps = create.next),\n (create.next = tag),\n (tag.next = deps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n { destroy: void 0 },\n create,\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction useEffectEventImpl(payload) {\n currentlyRenderingFiber.flags |= 4;\n var componentUpdateQueue = currentlyRenderingFiber.updateQueue;\n if (null === componentUpdateQueue)\n (componentUpdateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = componentUpdateQueue),\n (componentUpdateQueue.events = [payload]);\n else {\n var events = componentUpdateQueue.events;\n null === events\n ? (componentUpdateQueue.events = [payload])\n : events.push(payload);\n }\n}\nfunction updateEvent(callback) {\n var ref = updateWorkInProgressHook().memoizedState;\n useEffectEventImpl({ ref: ref, nextImpl: callback });\n return function () {\n if (0 !== (executionContext & 2)) throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (\n void 0 === initialValue ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (\n 0 === (renderLanes & 42) ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var stateHook = ensureFormComponentIsStateful(formFiber);\n null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);\n dispatchSetStateInternal(\n formFiber,\n stateHook.next.queue,\n {},\n requestUpdateLane()\n );\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$69 = enqueueUpdate(provider, fiber, lane);\n null !== root$69 &&\n (scheduleUpdateOnFiber(root$69, provider, lane),\n entangleTransitions(root$69, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n};\nContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;\nvar HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"_\" + identifierPrefix + \"R_\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"_\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"_\" +\n identifierPrefix +\n \"r_\" +\n JSCompiler_inline_result.toString(32) +\n \"_\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n },\n useEffectEvent: function (callback) {\n var hook = mountWorkInProgressHook(),\n ref = { impl: callback };\n hook.memoizedState = ref;\n return function () {\n if (0 !== (executionContext & 2))\n throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n };\nHooksDispatcherOnUpdate.useEffectEvent = updateEvent;\nvar HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n};\nHooksDispatcherOnRerender.useEffectEvent = updateEvent;\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 31:\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n nextProps\n) {\n var nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n null === current &&\n null === workInProgress.stateNode &&\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n prevState =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextProps = workInProgress.child = current.child;\n for (nextChildren = 0; null !== nextProps; )\n (nextChildren =\n nextChildren | nextProps.lanes | nextProps.childLanes),\n (nextProps = nextProps.sibling);\n nextProps = nextChildren & ~prevState;\n } else (nextProps = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n prevState,\n renderLanes,\n nextProps\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (nextProps = workInProgress.lanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes,\n nextProps\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction bailoutOffscreenComponent(current, workInProgress) {\n (null !== current && 22 === current.tag) ||\n null !== workInProgress.stateNode ||\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n return workInProgress.sibling;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes,\n remainingChildLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n workInProgress.childLanes = remainingChildLanes;\n return null;\n}\nfunction mountActivityChildren(workInProgress, nextProps) {\n nextProps = mountWorkInProgressOffscreenFiber(\n { mode: nextProps.mode, children: nextProps.children },\n workInProgress.mode\n );\n nextProps.ref = workInProgress.ref;\n workInProgress.child = nextProps;\n nextProps.return = workInProgress;\n return nextProps;\n}\nfunction retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountActivityChildren(workInProgress, workInProgress.pendingProps);\n current.flags |= 2;\n popSuspenseHandler(workInProgress);\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateActivityComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n didSuspend = 0 !== (workInProgress.flags & 128);\n workInProgress.flags &= -129;\n if (null === current) {\n if (isHydrating) {\n if (\"hidden\" === nextProps.mode)\n return (\n (current = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.lanes = 536870912),\n bailoutOffscreenComponent(null, current)\n );\n pushDehydratedActivitySuspenseHandler(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" === current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n workInProgress.lanes = 536870912;\n return null;\n }\n return mountActivityChildren(workInProgress, nextProps);\n }\n var prevState = current.memoizedState;\n if (null !== prevState) {\n var dehydrated = prevState.dehydrated;\n pushDehydratedActivitySuspenseHandler(workInProgress);\n if (didSuspend)\n if (workInProgress.flags & 256)\n (workInProgress.flags &= -257),\n (workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (null !== workInProgress.memoizedState)\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null);\n else throw Error(formatProdErrorMessage(558));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (didSuspend = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || didSuspend)\n ) {\n nextProps = workInProgressRoot;\n if (\n null !== nextProps &&\n ((dehydrated = getBumpedLaneForHydration(nextProps, renderLanes)),\n 0 !== dehydrated && dehydrated !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = dehydrated),\n enqueueConcurrentRenderForLane(current, dehydrated),\n scheduleUpdateOnFiber(nextProps, current, dehydrated),\n SelectiveHydrationException)\n );\n renderDidSuspendDelayIfPossible();\n workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n (current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(dehydrated.nextSibling)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.flags |= 4096);\n return workInProgress;\n }\n current = createWorkInProgress(current.child, {\n mode: nextProps.mode,\n children: nextProps.children\n });\n current.ref = workInProgress.ref;\n workInProgress.child = current;\n current.return = workInProgress;\n return current;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" !== current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n isSuspenseInstanceFallback(current)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912);\n return null;\n }\n var nextPrimaryChildren = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextPrimaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextPrimaryChildren },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.sibling = nextProps),\n (workInProgress.child = nextPrimaryChildren),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(null, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n var prevState = current.memoizedState;\n if (\n null !== prevState &&\n ((nextPrimaryChildren = prevState.dehydrated), null !== nextPrimaryChildren)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n showFallback\n )),\n (nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = bailoutOffscreenComponent(null, nextProps)));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextPrimaryChildren))\n ) {\n JSCompiler_temp =\n nextPrimaryChildren.nextSibling &&\n nextPrimaryChildren.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = getBumpedLaneForHydration(JSCompiler_temp, renderLanes)),\n 0 !== nextProps && nextProps !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n isSuspenseInstancePending(nextPrimaryChildren) ||\n renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n isSuspenseInstancePending(nextPrimaryChildren)\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextPrimaryChildren.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (prevState = current.child),\n (digest = prevState.sibling),\n (nextProps = createWorkInProgress(prevState, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags = prevState.subtreeFlags & 65011712),\n null !== digest\n ? (nextPrimaryChildren = createWorkInProgress(\n digest,\n nextPrimaryChildren\n ))\n : ((nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2)),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n bailoutOffscreenComponent(null, nextProps),\n (nextProps = workInProgress.child),\n (nextPrimaryChildren = current.child.memoizedState),\n null === nextPrimaryChildren\n ? (nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes))\n : ((showFallback = nextPrimaryChildren.cachePool),\n null !== showFallback\n ? ((prevState = CacheContext._currentValue),\n (showFallback =\n showFallback.parent !== prevState\n ? { parent: prevState, pool: prevState }\n : showFallback))\n : (showFallback = getSuspendedCache()),\n (nextPrimaryChildren = {\n baseLanes: nextPrimaryChildren.baseLanes | renderLanes,\n cachePool: showFallback\n })),\n (nextProps.memoizedState = nextPrimaryChildren),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(current.child, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode,\n treeForkCount\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode,\n treeForkCount: treeForkCount\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode),\n (renderState.treeForkCount = treeForkCount));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n nextProps = nextProps.children;\n var suspenseContext = suspenseStackCursor.current,\n shouldForceFallback = 0 !== (suspenseContext & 2);\n shouldForceFallback\n ? ((suspenseContext = (suspenseContext & 1) | 2),\n (workInProgress.flags |= 128))\n : (suspenseContext &= 1);\n push(suspenseStackCursor, suspenseContext);\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n nextProps = isHydrating ? treeForkCount : 0;\n if (!shouldForceFallback && null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode,\n nextProps\n );\n break;\n case \"backwards\":\n case \"unstable_legacy-backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode,\n nextProps\n );\n break;\n case \"together\":\n initSuspenseListRenderState(\n workInProgress,\n !1,\n null,\n null,\n void 0,\n nextProps\n );\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 31:\n if (null !== workInProgress.memoizedState)\n return (\n (workInProgress.flags |= 128),\n pushDehydratedActivitySuspenseHandler(workInProgress),\n null\n );\n break;\n case 13:\n var state$102 = workInProgress.memoizedState;\n if (null !== state$102) {\n if (null !== state$102.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state$102 = 0 !== (renderLanes & workInProgress.childLanes);\n state$102 ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state$102 = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state$102)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state$102) break;\n else return null;\n case 22:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n )\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n var props = workInProgress.pendingProps;\n current = resolveLazy(workInProgress.elementType);\n workInProgress.type = current;\n if (\"function\" === typeof current)\n shouldConstruct(current)\n ? ((props = resolveClassComponentProps(current, props)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )));\n else {\n if (void 0 !== current && null !== current) {\n var $$typeof = current.$$typeof;\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n } else if ($$typeof === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n }\n }\n workInProgress = getComponentNameFromType(current) || current;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (props = workInProgress.type),\n ($$typeof = resolveClassComponentProps(\n props,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n props,\n $$typeof,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n props = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n $$typeof = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, props, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n props = nextState.cache;\n pushProvider(workInProgress, CacheContext, props);\n props !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n props = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: props,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else if (props !== $$typeof) {\n $$typeof = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError($$typeof);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (props === $$typeof) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, props, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (props = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (props[internalInstanceKey] = workInProgress),\n (props[internalPropsKey] = current),\n setInitialProperties(props, renderLanes, current),\n markNodeAsHoistable(props),\n (workInProgress.stateNode = props))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((props = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n ($$typeof = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = $$typeof),\n (nextHydratableInstance = getNextHydratable(props.firstChild)))\n : (nextHydratableInstance = $$typeof)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if (($$typeof = props = nextHydratableInstance))\n (props = canHydrateInstance(\n props,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== props\n ? ((workInProgress.stateNode = props),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(props.firstChild)),\n (rootOrSingletonContext = !1),\n ($$typeof = !0))\n : ($$typeof = !1);\n $$typeof || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n $$typeof = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n props = prevState.children;\n shouldSetTextContent($$typeof, prevState)\n ? (props = null)\n : null !== nextState &&\n shouldSetTextContent($$typeof, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n (($$typeof = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = $$typeof));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, props, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (props = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n ))\n : reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (props = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, props.value),\n reconcileChildren(current, workInProgress, props.children, renderLanes),\n workInProgress.child\n );\n case 9:\n return (\n ($$typeof = workInProgress.type._context),\n (props = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n ($$typeof = readContext($$typeof)),\n (props = props($$typeof)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return updateActivityComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n );\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (props = readContext(CacheContext)),\n null === current\n ? (($$typeof = peekCacheFromPool()),\n null === $$typeof &&\n (($$typeof = workInProgressRoot),\n (prevState = createCache()),\n ($$typeof.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && ($$typeof.pooledCacheLanes |= renderLanes),\n ($$typeof = prevState)),\n (workInProgress.memoizedState = { parent: props, cache: $$typeof }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, $$typeof))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n ($$typeof = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n $$typeof.parent !== props\n ? (($$typeof = { parent: props, cache: props }),\n (workInProgress.memoizedState = $$typeof),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n $$typeof),\n pushProvider(workInProgress, CacheContext, props))\n : ((props = prevState.cache),\n pushProvider(workInProgress, CacheContext, props),\n props !== $$typeof.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n oldProps,\n newProps,\n renderLanes\n) {\n if ((type = 0 !== (workInProgress.mode & 32))) type = !1;\n if (type) {\n if (\n ((workInProgress.flags |= 16777216),\n (renderLanes & 335544128) === renderLanes)\n )\n if (workInProgress.stateNode.complete) workInProgress.flags |= 8192;\n else if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$106 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$106 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$106\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$106.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags & 65011712),\n (subtreeFlags |= child$107.flags & 65011712),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n else\n for (child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags),\n (subtreeFlags |= child$107.flags),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n var type = workInProgress.type,\n nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n null,\n newProps,\n renderLanes\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : ((current = current.memoizedProps),\n current !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n current,\n newProps,\n renderLanes\n ));\n return null;\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n nextResource = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, nextResource);\n else {\n var ownerDocument = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (nextResource) {\n case 1:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case 2:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n default:\n switch (type) {\n case \"svg\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case \"math\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n case \"script\":\n nextResource = ownerDocument.createElement(\"div\");\n nextResource.innerHTML = \"<script>\\x3c/script>\";\n nextResource = nextResource.removeChild(\n nextResource.firstChild\n );\n break;\n case \"select\":\n nextResource =\n \"string\" === typeof newProps.is\n ? ownerDocument.createElement(\"select\", {\n is: newProps.is\n })\n : ownerDocument.createElement(\"select\");\n newProps.multiple\n ? (nextResource.multiple = !0)\n : newProps.size && (nextResource.size = newProps.size);\n break;\n default:\n nextResource =\n \"string\" === typeof newProps.is\n ? ownerDocument.createElement(type, { is: newProps.is })\n : ownerDocument.createElement(type);\n }\n }\n nextResource[internalInstanceKey] = workInProgress;\n nextResource[internalPropsKey] = newProps;\n a: for (\n ownerDocument = workInProgress.child;\n null !== ownerDocument;\n\n ) {\n if (5 === ownerDocument.tag || 6 === ownerDocument.tag)\n nextResource.appendChild(ownerDocument.stateNode);\n else if (\n 4 !== ownerDocument.tag &&\n 27 !== ownerDocument.tag &&\n null !== ownerDocument.child\n ) {\n ownerDocument.child.return = ownerDocument;\n ownerDocument = ownerDocument.child;\n continue;\n }\n if (ownerDocument === workInProgress) break a;\n for (; null === ownerDocument.sibling; ) {\n if (\n null === ownerDocument.return ||\n ownerDocument.return === workInProgress\n )\n break a;\n ownerDocument = ownerDocument.return;\n }\n ownerDocument.sibling.return = ownerDocument.return;\n ownerDocument = ownerDocument.sibling;\n }\n workInProgress.stateNode = nextResource;\n a: switch (\n (setInitialProperties(nextResource, type, newProps), type)\n ) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n newProps = !!newProps.autoFocus;\n break a;\n case \"img\":\n newProps = !0;\n break a;\n default:\n newProps = !1;\n }\n newProps && markUpdate(workInProgress);\n }\n }\n bubbleProperties(workInProgress);\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n workInProgress.type,\n null === current ? null : current.memoizedProps,\n workInProgress.pendingProps,\n renderLanes\n );\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n current = rootInstanceStackCursor.current;\n if (popHydrationState(workInProgress)) {\n current = workInProgress.stateNode;\n renderLanes = workInProgress.memoizedProps;\n newProps = null;\n type = hydrationParentFiber;\n if (null !== type)\n switch (type.tag) {\n case 27:\n case 5:\n newProps = type.memoizedProps;\n }\n current[internalInstanceKey] = workInProgress;\n current =\n current.nodeValue === renderLanes ||\n (null !== newProps && !0 === newProps.suppressHydrationWarning) ||\n checkForUnmatchedText(current.nodeValue, renderLanes)\n ? !0\n : !1;\n current || throwOnHydrationMismatch(workInProgress, !0);\n } else\n (current =\n getOwnerDocumentFromRootContainer(current).createTextNode(\n newProps\n )),\n (current[internalInstanceKey] = workInProgress),\n (workInProgress.stateNode = current);\n }\n bubbleProperties(workInProgress);\n return null;\n case 31:\n renderLanes = workInProgress.memoizedState;\n if (null === current || null !== current.memoizedState) {\n newProps = popHydrationState(workInProgress);\n if (null !== renderLanes) {\n if (null === current) {\n if (!newProps) throw Error(formatProdErrorMessage(318));\n current = workInProgress.memoizedState;\n current = null !== current ? current.dehydrated : null;\n if (!current) throw Error(formatProdErrorMessage(557));\n current[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n current = !1;\n } else\n (renderLanes = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = renderLanes),\n (current = !0);\n if (!current) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n if (0 !== (workInProgress.flags & 128))\n throw Error(formatProdErrorMessage(558));\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n type = popHydrationState(workInProgress);\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n if (!type) throw Error(formatProdErrorMessage(318));\n type = workInProgress.memoizedState;\n type = null !== type ? type.dehydrated : null;\n if (!type) throw Error(formatProdErrorMessage(317));\n type[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n type = !1;\n } else\n (type = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = type),\n (type = !0);\n if (!type) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n renderLanes &&\n ((newProps = workInProgress.child),\n (type = null),\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (type = newProps.alternate.memoizedState.cachePool.pool),\n (nextResource = null),\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (nextResource = newProps.memoizedState.cachePool.pool),\n nextResource !== type && (newProps.flags |= 2048));\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n null === current &&\n listenToAllSupportedEvents(workInProgress.stateNode.containerInfo),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type), bubbleProperties(workInProgress), null\n );\n case 19:\n pop(suspenseStackCursor);\n newProps = workInProgress.memoizedState;\n if (null === newProps) return bubbleProperties(workInProgress), null;\n type = 0 !== (workInProgress.flags & 128);\n nextResource = newProps.rendering;\n if (null === nextResource)\n if (type) cutOffTailIfNeeded(newProps, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n nextResource = findFirstSuspended(current);\n if (null !== nextResource) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(newProps, !1);\n current = nextResource.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (renderLanes = workInProgress.child; null !== renderLanes; )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n isHydrating &&\n pushTreeFork(workInProgress, newProps.treeForkCount);\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== newProps.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (type = !0),\n cutOffTailIfNeeded(newProps, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!type)\n if (\n ((current = findFirstSuspended(nextResource)), null !== current)\n ) {\n if (\n ((workInProgress.flags |= 128),\n (type = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(newProps, !0),\n null === newProps.tail &&\n \"hidden\" === newProps.tailMode &&\n !nextResource.alternate &&\n !isHydrating)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - newProps.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (type = !0),\n cutOffTailIfNeeded(newProps, !1),\n (workInProgress.lanes = 4194304));\n newProps.isBackwards\n ? ((nextResource.sibling = workInProgress.child),\n (workInProgress.child = nextResource))\n : ((current = newProps.last),\n null !== current\n ? (current.sibling = nextResource)\n : (workInProgress.child = nextResource),\n (newProps.last = nextResource));\n }\n if (null !== newProps.tail)\n return (\n (current = newProps.tail),\n (newProps.rendering = current),\n (newProps.tail = current.sibling),\n (newProps.renderingStartTime = now()),\n (current.sibling = null),\n (renderLanes = suspenseStackCursor.current),\n push(\n suspenseStackCursor,\n type ? (renderLanes & 1) | 2 : renderLanes & 1\n ),\n isHydrating && pushTreeFork(workInProgress, newProps.treeForkCount),\n current\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n case 30:\n return null;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 31:\n if (null !== workInProgress.memoizedState) {\n popSuspenseHandler(workInProgress);\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated) {\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n}\nfunction unwindInterruptedWork(current, interruptedWork) {\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 31:\n null !== interruptedWork.memoizedState &&\n popSuspenseHandler(interruptedWork);\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n}\nfunction commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0,\n destroy_ = destroy;\n try {\n destroy_();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = current.stateNode;\n break;\n case 30:\n instanceToUse = current.stateNode;\n break;\n default:\n instanceToUse = current.stateNode;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$140) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$140);\n }\n else ref.current = null;\n}\nfunction commitHostMount(finishedWork) {\n var type = finishedWork.type,\n props = finishedWork.memoizedProps,\n instance = finishedWork.stateNode;\n try {\n a: switch (type) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n props.autoFocus && instance.focus();\n break a;\n case \"img\":\n props.src\n ? (instance.src = props.src)\n : props.srcSet && (instance.srcset = props.srcSet);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHostUpdate(finishedWork, newProps, oldProps) {\n try {\n var domElement = finishedWork.stateNode;\n updateProperties(domElement, finishedWork.type, oldProps, newProps);\n domElement[internalPropsKey] = newProps;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction isHostParent(fiber) {\n return (\n 5 === fiber.tag ||\n 3 === fiber.tag ||\n 26 === fiber.tag ||\n (27 === fiber.tag && isSingletonScope(fiber.type)) ||\n 4 === fiber.tag\n );\n}\nfunction getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag;\n\n ) {\n if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n}\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before\n ? (9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent\n ).insertBefore(node, before)\n : ((before =\n 9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent),\n before.appendChild(node),\n (parent = parent._reactRootContainer),\n (null !== parent && void 0 !== parent) ||\n null !== before.onclick ||\n (before.onclick = noop$1));\n else if (\n 4 !== tag &&\n (27 === tag &&\n isSingletonScope(node.type) &&\n ((parent = node.stateNode), (before = null)),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n (node = node.sibling);\n}\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before ? parent.insertBefore(node, before) : parent.appendChild(node);\n else if (\n 4 !== tag &&\n (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNode(node, before, parent), node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(node, before, parent), (node = node.sibling);\n}\nfunction commitHostSingletonAcquisition(finishedWork) {\n var singleton = finishedWork.stateNode,\n props = finishedWork.memoizedProps;\n try {\n for (\n var type = finishedWork.type, attributes = singleton.attributes;\n attributes.length;\n\n )\n singleton.removeAttributeNode(attributes[0]);\n setInitialProperties(singleton, type, props);\n singleton[internalInstanceKey] = finishedWork;\n singleton[internalPropsKey] = props;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nvar offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n needsFormReset = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null;\nfunction commitBeforeMutationEffects(root, firstChild) {\n root = root.containerInfo;\n eventsEnabled = _enabled;\n root = getActiveElementDeep(root);\n if (hasSelectionCapabilities(root)) {\n if (\"selectionStart\" in root)\n var JSCompiler_temp = {\n start: root.selectionStart,\n end: root.selectionEnd\n };\n else\n a: {\n JSCompiler_temp =\n ((JSCompiler_temp = root.ownerDocument) &&\n JSCompiler_temp.defaultView) ||\n window;\n var selection =\n JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();\n if (selection && 0 !== selection.rangeCount) {\n JSCompiler_temp = selection.anchorNode;\n var anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode;\n selection = selection.focusOffset;\n try {\n JSCompiler_temp.nodeType, focusNode.nodeType;\n } catch (e$20) {\n JSCompiler_temp = null;\n break a;\n }\n var length = 0,\n start = -1,\n end = -1,\n indexWithinAnchor = 0,\n indexWithinFocus = 0,\n node = root,\n parentNode = null;\n b: for (;;) {\n for (var next; ; ) {\n node !== JSCompiler_temp ||\n (0 !== anchorOffset && 3 !== node.nodeType) ||\n (start = length + anchorOffset);\n node !== focusNode ||\n (0 !== selection && 3 !== node.nodeType) ||\n (end = length + selection);\n 3 === node.nodeType && (length += node.nodeValue.length);\n if (null === (next = node.firstChild)) break;\n parentNode = node;\n node = next;\n }\n for (;;) {\n if (node === root) break b;\n parentNode === JSCompiler_temp &&\n ++indexWithinAnchor === anchorOffset &&\n (start = length);\n parentNode === focusNode &&\n ++indexWithinFocus === selection &&\n (end = length);\n if (null !== (next = node.nextSibling)) break;\n node = parentNode;\n parentNode = node.parentNode;\n }\n node = next;\n }\n JSCompiler_temp =\n -1 === start || -1 === end ? null : { start: start, end: end };\n } else JSCompiler_temp = null;\n }\n JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };\n } else JSCompiler_temp = null;\n selectionInformation = { focusedElem: root, selectionRange: JSCompiler_temp };\n _enabled = !1;\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((firstChild = nextEffect),\n (root = firstChild.child),\n 0 !== (firstChild.subtreeFlags & 1028) && null !== root)\n )\n (root.return = firstChild), (nextEffect = root);\n else\n for (; null !== nextEffect; ) {\n firstChild = nextEffect;\n focusNode = firstChild.alternate;\n root = firstChild.flags;\n switch (firstChild.tag) {\n case 0:\n if (\n 0 !== (root & 4) &&\n ((root = firstChild.updateQueue),\n (root = null !== root ? root.events : null),\n null !== root)\n )\n for (\n JSCompiler_temp = 0;\n JSCompiler_temp < root.length;\n JSCompiler_temp++\n )\n (anchorOffset = root[JSCompiler_temp]),\n (anchorOffset.ref.impl = anchorOffset.nextImpl);\n break;\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (root & 1024) && null !== focusNode) {\n root = void 0;\n JSCompiler_temp = firstChild;\n anchorOffset = focusNode.memoizedProps;\n focusNode = focusNode.memoizedState;\n selection = JSCompiler_temp.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n JSCompiler_temp.type,\n anchorOffset\n );\n root = selection.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n focusNode\n );\n selection.__reactInternalSnapshotBeforeUpdate = root;\n } catch (error) {\n captureCommitPhaseError(\n JSCompiler_temp,\n JSCompiler_temp.return,\n error\n );\n }\n }\n break;\n case 3:\n if (0 !== (root & 1024))\n if (\n ((root = firstChild.stateNode.containerInfo),\n (JSCompiler_temp = root.nodeType),\n 9 === JSCompiler_temp)\n )\n clearContainerSparingly(root);\n else if (1 === JSCompiler_temp)\n switch (root.nodeName) {\n case \"HEAD\":\n case \"HTML\":\n case \"BODY\":\n clearContainerSparingly(root);\n break;\n default:\n root.textContent = \"\";\n }\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (root & 1024)) throw Error(formatProdErrorMessage(163));\n }\n root = firstChild.sibling;\n if (null !== root) {\n root.return = firstChild.return;\n nextEffect = root;\n break;\n }\n nextEffect = firstChild.return;\n }\n}\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$139) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$139\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (\n flags & 64 &&\n ((finishedRoot = finishedWork.updateQueue), null !== finishedRoot)\n ) {\n current = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n current = finishedWork.child.stateNode;\n break;\n case 1:\n current = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(finishedRoot, current);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 27:\n null === current &&\n flags & 4 &&\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 31:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n flags & 64 &&\n ((finishedRoot = finishedWork.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated),\n null !== finishedRoot &&\n ((finishedWork = retryDehydratedSuspenseBoundary.bind(\n null,\n finishedWork\n )),\n registerSuspenseInstanceRetry(finishedRoot, finishedWork))));\n break;\n case 22:\n flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;\n if (!flags) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n prevProps = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = flags;\n (offscreenSubtreeWasHidden = current) && !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevProps;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n break;\n case 30:\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n}\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n 5 === fiber.tag &&\n ((alternate = fiber.stateNode),\n null !== alternate && detachDeletedInstance(alternate));\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n}\nvar hostParent = null,\n hostParentIsContainer = !1;\nfunction recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent),\n (parent = parent.sibling);\n}\nfunction commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n deletedFiber.memoizedState\n ? deletedFiber.memoizedState.count--\n : deletedFiber.stateNode &&\n ((deletedFiber = deletedFiber.stateNode),\n deletedFiber.parentNode.removeChild(deletedFiber));\n break;\n case 27:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n isSingletonScope(deletedFiber.type) &&\n ((hostParent = deletedFiber.stateNode), (hostParentIsContainer = !1));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n releaseSingletonInstance(deletedFiber.stateNode);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n if (null !== hostParent)\n if (hostParentIsContainer)\n try {\n (9 === hostParent.nodeType\n ? hostParent.body\n : \"HTML\" === hostParent.nodeName\n ? hostParent.ownerDocument.body\n : hostParent\n ).removeChild(deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n hostParent.removeChild(deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n break;\n case 18:\n null !== hostParent &&\n (hostParentIsContainer\n ? ((finishedRoot = hostParent),\n clearHydrationBoundary(\n 9 === finishedRoot.nodeType\n ? finishedRoot.body\n : \"HTML\" === finishedRoot.nodeName\n ? finishedRoot.ownerDocument.body\n : finishedRoot,\n deletedFiber.stateNode\n ),\n retryIfBlockedOn(finishedRoot))\n : clearHydrationBoundary(hostParent, deletedFiber.stateNode));\n break;\n case 4:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = !0;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (prevHostParent = deletedFiber.stateNode),\n \"function\" === typeof prevHostParent.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n prevHostParent\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden =\n (prevHostParent = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n offscreenSubtreeWasHidden = prevHostParent;\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n}\nfunction commitActivityHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState), null !== finishedRoot))\n ) {\n finishedRoot = finishedRoot.dehydrated;\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated), null !== finishedRoot)))\n )\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 31:\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(formatProdErrorMessage(435, finishedWork.tag));\n }\n}\nfunction attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n wakeable.then(retry, retry);\n }\n });\n}\nfunction recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i],\n root = root$jscomp$0,\n returnFiber = parentFiber,\n parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n if (isSingletonScope(parent.type)) {\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n }\n break;\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent) throw Error(formatProdErrorMessage(160));\n commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n hostParent = null;\n hostParentIsContainer = !1;\n root = childToDelete.alternate;\n null !== root && (root.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13886)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0),\n (parentFiber = parentFiber.sibling);\n}\nvar currentHoistableRoot = null;\nfunction commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks),\n null !== flags &&\n ((current = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === current ? flags : current.concat(flags)))));\n break;\n case 26:\n var hoistableRoot = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (flags & 4) {\n var currentResource = null !== current ? current.memoizedState : null;\n flags = finishedWork.memoizedState;\n if (null === current)\n if (null === flags)\n if (null === finishedWork.stateNode) {\n a: {\n flags = finishedWork.type;\n current = finishedWork.memoizedProps;\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n b: switch (flags) {\n case \"title\":\n currentResource =\n hoistableRoot.getElementsByTagName(\"title\")[0];\n if (\n !currentResource ||\n currentResource[internalHoistableMarker] ||\n currentResource[internalInstanceKey] ||\n \"http://www.w3.org/2000/svg\" ===\n currentResource.namespaceURI ||\n currentResource.hasAttribute(\"itemprop\")\n )\n (currentResource = hoistableRoot.createElement(flags)),\n hoistableRoot.head.insertBefore(\n currentResource,\n hoistableRoot.querySelector(\"head > title\")\n );\n setInitialProperties(currentResource, flags, current);\n currentResource[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(currentResource);\n flags = currentResource;\n break a;\n case \"link\":\n var maybeNodes = getHydratableHoistableCache(\n \"link\",\n \"href\",\n hoistableRoot\n ).get(flags + (current.href || \"\"));\n if (maybeNodes)\n for (var i = 0; i < maybeNodes.length; i++)\n if (\n ((currentResource = maybeNodes[i]),\n currentResource.getAttribute(\"href\") ===\n (null == current.href || \"\" === current.href\n ? null\n : current.href) &&\n currentResource.getAttribute(\"rel\") ===\n (null == current.rel ? null : current.rel) &&\n currentResource.getAttribute(\"title\") ===\n (null == current.title ? null : current.title) &&\n currentResource.getAttribute(\"crossorigin\") ===\n (null == current.crossOrigin\n ? null\n : current.crossOrigin))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n currentResource = hoistableRoot.createElement(flags);\n setInitialProperties(currentResource, flags, current);\n hoistableRoot.head.appendChild(currentResource);\n break;\n case \"meta\":\n if (\n (maybeNodes = getHydratableHoistableCache(\n \"meta\",\n \"content\",\n hoistableRoot\n ).get(flags + (current.content || \"\")))\n )\n for (i = 0; i < maybeNodes.length; i++)\n if (\n ((currentResource = maybeNodes[i]),\n currentResource.getAttribute(\"content\") ===\n (null == current.content\n ? null\n : \"\" + current.content) &&\n currentResource.getAttribute(\"name\") ===\n (null == current.name ? null : current.name) &&\n currentResource.getAttribute(\"property\") ===\n (null == current.property\n ? null\n : current.property) &&\n currentResource.getAttribute(\"http-equiv\") ===\n (null == current.httpEquiv\n ? null\n : current.httpEquiv) &&\n currentResource.getAttribute(\"charset\") ===\n (null == current.charSet\n ? null\n : current.charSet))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n currentResource = hoistableRoot.createElement(flags);\n setInitialProperties(currentResource, flags, current);\n hoistableRoot.head.appendChild(currentResource);\n break;\n default:\n throw Error(formatProdErrorMessage(468, flags));\n }\n currentResource[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(currentResource);\n flags = currentResource;\n }\n finishedWork.stateNode = flags;\n } else\n mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n );\n else\n finishedWork.stateNode = acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n );\n else\n currentResource !== flags\n ? (null === currentResource\n ? null !== current.stateNode &&\n ((current = current.stateNode),\n current.parentNode.removeChild(current))\n : currentResource.count--,\n null === flags\n ? mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n ))\n : null === flags &&\n null !== finishedWork.stateNode &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n }\n break;\n case 27:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n null !== current &&\n flags & 4 &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n break;\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (finishedWork.flags & 32) {\n hoistableRoot = finishedWork.stateNode;\n try {\n setTextContent(hoistableRoot, \"\");\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n flags & 4 &&\n null != finishedWork.stateNode &&\n ((hoistableRoot = finishedWork.memoizedProps),\n commitHostUpdate(\n finishedWork,\n hoistableRoot,\n null !== current ? current.memoizedProps : hoistableRoot\n ));\n flags & 1024 && (needsFormReset = !0);\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (null === finishedWork.stateNode)\n throw Error(formatProdErrorMessage(162));\n flags = finishedWork.memoizedProps;\n current = finishedWork.stateNode;\n try {\n current.nodeValue = flags;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n tagCaches = null;\n hoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(root.containerInfo);\n recursivelyTraverseMutationEffects(root, finishedWork);\n currentHoistableRoot = hoistableRoot;\n commitReconciliationEffects(finishedWork);\n if (flags & 4 && null !== current && current.memoizedState.isDehydrated)\n try {\n retryIfBlockedOn(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n needsFormReset &&\n ((needsFormReset = !1), recursivelyResetForms(finishedWork));\n break;\n case 4:\n flags = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n finishedWork.stateNode.containerInfo\n );\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n currentHoistableRoot = flags;\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 31:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n (null !== finishedWork.memoizedState) !==\n (null !== current && null !== current.memoizedState) &&\n (globalMostRecentFallbackTime = now());\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n hoistableRoot = null !== finishedWork.memoizedState;\n var wasHidden = null !== current && null !== current.memoizedState,\n prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n commitReconciliationEffects(finishedWork);\n if (flags & 8192)\n a: for (\n root = finishedWork.stateNode,\n root._visibility = hoistableRoot\n ? root._visibility & -2\n : root._visibility | 1,\n hoistableRoot &&\n (null === current ||\n wasHidden ||\n offscreenSubtreeIsHidden ||\n offscreenSubtreeWasHidden ||\n recursivelyTraverseDisappearLayoutEffects(finishedWork)),\n current = null,\n root = finishedWork;\n ;\n\n ) {\n if (5 === root.tag || 26 === root.tag) {\n if (null === current) {\n wasHidden = current = root;\n try {\n if (((currentResource = wasHidden.stateNode), hoistableRoot))\n (maybeNodes = currentResource.style),\n \"function\" === typeof maybeNodes.setProperty\n ? maybeNodes.setProperty(\"display\", \"none\", \"important\")\n : (maybeNodes.display = \"none\");\n else {\n i = wasHidden.stateNode;\n var styleProp = wasHidden.memoizedProps.style,\n display =\n void 0 !== styleProp &&\n null !== styleProp &&\n styleProp.hasOwnProperty(\"display\")\n ? styleProp.display\n : null;\n i.style.display =\n null == display || \"boolean\" === typeof display\n ? \"\"\n : (\"\" + display).trim();\n }\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (6 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n wasHidden.stateNode.nodeValue = hoistableRoot\n ? \"\"\n : wasHidden.memoizedProps;\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (18 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n var instance = wasHidden.stateNode;\n hoistableRoot\n ? hideOrUnhideDehydratedBoundary(instance, !0)\n : hideOrUnhideDehydratedBoundary(wasHidden.stateNode, !1);\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (\n ((22 !== root.tag && 23 !== root.tag) ||\n null === root.memoizedState ||\n root === finishedWork) &&\n null !== root.child\n ) {\n root.child.return = root;\n root = root.child;\n continue;\n }\n if (root === finishedWork) break a;\n for (; null === root.sibling; ) {\n if (null === root.return || root.return === finishedWork) break a;\n current === root && (current = null);\n root = root.return;\n }\n current === root && (current = null);\n root.sibling.return = root.return;\n root = root.sibling;\n }\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((current = flags.retryQueue),\n null !== current &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, current))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 30:\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n}\nfunction commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n for (\n var hostParentFiber, parentFiber = finishedWork.return;\n null !== parentFiber;\n\n ) {\n if (isHostParent(parentFiber)) {\n hostParentFiber = parentFiber;\n break;\n }\n parentFiber = parentFiber.return;\n }\n if (null == hostParentFiber) throw Error(formatProdErrorMessage(160));\n switch (hostParentFiber.tag) {\n case 27:\n var parent = hostParentFiber.stateNode,\n before = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n case 5:\n var parent$141 = hostParentFiber.stateNode;\n hostParentFiber.flags & 32 &&\n (setTextContent(parent$141, \"\"), (hostParentFiber.flags &= -33));\n var before$142 = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before$142, parent$141);\n break;\n case 3:\n case 4:\n var parent$143 = hostParentFiber.stateNode.containerInfo,\n before$144 = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n before$144,\n parent$143\n );\n break;\n default:\n throw Error(formatProdErrorMessage(161));\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n}\nfunction recursivelyResetForms(parentFiber) {\n if (parentFiber.subtreeFlags & 1024)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var fiber = parentFiber;\n recursivelyResetForms(fiber);\n 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 27:\n releaseSingletonInstance(finishedWork.stateNode);\n case 26:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 30:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var current = parentFiber.alternate,\n finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n current = finishedWork;\n finishedRoot = current.stateNode;\n if (\"function\" === typeof finishedRoot.componentDidMount)\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n current = finishedWork;\n finishedRoot = current.updateQueue;\n if (null !== finishedRoot) {\n var instance = current.stateNode;\n try {\n var hiddenCallbacks = finishedRoot.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n finishedRoot.shared.hiddenCallbacks = null, finishedRoot = 0;\n finishedRoot < hiddenCallbacks.length;\n finishedRoot++\n )\n callCallback(hiddenCallbacks[finishedRoot], instance);\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 27:\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 31:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitActivityHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 30:\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n}\nfunction commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n}\nfunction recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 1:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((finishedRoot = null),\n null !== finishedWork.alternate &&\n (finishedRoot = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== finishedRoot &&\n (finishedWork.refCount++,\n null != finishedRoot && releaseCache(finishedRoot)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n finishedRoot.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 31:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 13:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n id = finishedWork.alternate;\n null !== finishedWork.memoizedState\n ? _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork)\n : _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256) || !1\n ));\n flags & 2048 && commitOffscreenPassiveMountEffects(id, finishedWork);\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n}\nfunction recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects &&\n (0 !== (parentFiber.subtreeFlags & 10256) || !1);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 2\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nvar suspenseyCommitFlag = 8192;\nfunction recursivelyAccumulateSuspenseyCommit(\n parentFiber,\n committedLanes,\n suspendedState\n) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(\n parentFiber,\n committedLanes,\n suspendedState\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction accumulateSuspenseyCommitOnFiber(\n fiber,\n committedLanes,\n suspendedState\n) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n fiber.flags & suspenseyCommitFlag &&\n null !== fiber.memoizedState &&\n suspendResource(\n suspendedState,\n currentHoistableRoot,\n fiber.memoizedState,\n fiber.memoizedProps\n );\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n break;\n case 3:\n case 4:\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(fiber.stateNode.containerInfo);\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n currentHoistableRoot = previousHoistableRoot;\n break;\n case 22:\n null === fiber.memoizedState &&\n ((previousHoistableRoot = fiber.alternate),\n null !== previousHoistableRoot &&\n null !== previousHoistableRoot.memoizedState\n ? ((previousHoistableRoot = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n ),\n (suspenseyCommitFlag = previousHoistableRoot))\n : recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n ));\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n }\n}\nfunction detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n}\nfunction recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 2 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n}\nfunction recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 2 &&\n ((i._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n}\nvar DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n },\n cacheSignal: function () {\n return readContext(CacheContext).controller.signal;\n }\n },\n PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n globalMostRecentTransitionTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n pendingEffectsStatus = 0,\n pendingEffectsRoot = null,\n pendingFinishedWork = null,\n pendingEffectsLanes = 0,\n pendingEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n pendingRecoverableErrors = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\nfunction requestUpdateLane() {\n return 0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes\n ? workInProgressRootRenderLanes & -workInProgressRootRenderLanes\n : null !== ReactSharedInternals.T\n ? requestTransitionLane()\n : resolveUpdatePriority();\n}\nfunction requestDeferredLane() {\n if (0 === workInProgressDeferredLane)\n if (0 === (workInProgressRootRenderLanes & 536870912) || isHydrating) {\n var lane = nextTransitionDeferredLane;\n nextTransitionDeferredLane <<= 1;\n 0 === (nextTransitionDeferredLane & 3932160) &&\n (nextTransitionDeferredLane = 262144);\n workInProgressDeferredLane = lane;\n } else workInProgressDeferredLane = 536870912;\n lane = suspenseHandlerStackCursor.current;\n null !== lane && (lane.flags |= 32);\n return workInProgressDeferredLane;\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root);\n}\nfunction performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 127) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result = root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n var wasRootDehydrated = root.current.memoizedState.isDehydrated;\n wasRootDehydrated &&\n (prepareFreshStack(root, JSCompiler_inline_result).flags |= 256);\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (2 !== JSCompiler_inline_result) {\n if (\n workInProgressRootDidAttachPingListener &&\n !wasRootDehydrated\n ) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = renderWasConcurrent)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n renderWasConcurrent\n ));\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n renderWasConcurrent = exitStatus;\n switch (renderWasConcurrent) {\n case 0:\n case 1:\n throw Error(formatProdErrorMessage(345));\n case 4:\n if ((lanes & 4194048) !== lanes) break;\n case 6:\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(formatProdErrorMessage(329));\n }\n if (\n (lanes & 62914560) === lanes &&\n ((exitStatus = globalMostRecentFallbackTime + 300 - now()),\n 10 < exitStatus)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0, !0)) break a;\n pendingEffectsLanes = lanes;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n \"Throttled\",\n -0,\n 0\n ),\n exitStatus\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n null,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n}\nfunction commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n) {\n root.timeoutHandle = -1;\n suspendedCommitReason = finishedWork.subtreeFlags;\n if (\n suspendedCommitReason & 8192 ||\n 16785408 === (suspendedCommitReason & 16785408)\n ) {\n suspendedCommitReason = {\n stylesheets: null,\n count: 0,\n imgCount: 0,\n imgBytes: 0,\n suspenseyImages: [],\n waitingForImages: !0,\n waitingForViewTransition: !1,\n unsuspend: noop$1\n };\n accumulateSuspenseyCommitOnFiber(\n finishedWork,\n lanes,\n suspendedCommitReason\n );\n var timeoutOffset =\n (lanes & 62914560) === lanes\n ? globalMostRecentFallbackTime - now()\n : (lanes & 4194048) === lanes\n ? globalMostRecentTransitionTime - now()\n : 0;\n timeoutOffset = waitForCommitToBeReady(\n suspendedCommitReason,\n timeoutOffset\n );\n if (null !== timeoutOffset) {\n pendingEffectsLanes = lanes;\n root.cancelPendingCommit = timeoutOffset(\n commitRoot.bind(\n null,\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n exitStatus,\n suspendedCommitReason,\n null,\n completedRenderStartTime,\n completedRenderEndTime\n )\n );\n markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);\n return;\n }\n }\n commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n}\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n}\nfunction markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$6 = 31 - clz32(lanes),\n lane = 1 << index$6;\n didAttemptEntireTree[index$6] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n}\nfunction flushSyncWork$1() {\n return 0 === (executionContext & 6)\n ? (flushSyncWorkAcrossRoots_impl(0, !1), !1)\n : !0;\n}\nfunction resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber$1 = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState$1 = null),\n (thenableIndexCounter$1 = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n}\nfunction prepareFreshStack(root, lanes) {\n var timeoutHandle = root.timeoutHandle;\n -1 !== timeoutHandle &&\n ((root.timeoutHandle = -1), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n pendingEffectsLanes = 0;\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$4 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$4;\n lanes |= root[index$4];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n}\nfunction handleThrow(root, thrownValue) {\n currentlyRenderingFiber = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException || thrownValue === SuspenseActionException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n}\nfunction shouldRemainOnPreviousScreen() {\n var handler = suspenseHandlerStackCursor.current;\n return null === handler\n ? !0\n : (workInProgressRootRenderLanes & 4194048) ===\n workInProgressRootRenderLanes\n ? null === shellBoundary\n ? !0\n : !1\n : (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n ? handler === shellBoundary\n : !1;\n}\nfunction pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n}\nfunction pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n}\nfunction renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194048) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n}\nfunction renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 9:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$165) {\n handleThrow(root, thrownValue$165);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber$1 = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n}\nfunction workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n}\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n case 9:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n (2 !== workInProgressSuspendedReason &&\n 9 !== workInProgressSuspendedReason) ||\n workInProgressRoot !== root ||\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress;\n if (\n resource\n ? preloadResource(resource)\n : hostFiber.stateNode.complete\n ) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(formatProdErrorMessage(462));\n }\n }\n workLoopConcurrentByScheduler();\n break;\n } catch (thrownValue$167) {\n handleThrow(root, thrownValue$167);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n}\nfunction workLoopConcurrentByScheduler() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n}\nfunction performUnitOfWork(unitOfWork) {\n var next = beginWork(unitOfWork.alternate, unitOfWork, entangledRenderLanes);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n) {\n lastContextDependency = currentlyRenderingFiber$1 = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (isHydrating || 1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason ||\n 9 === suspendedReason ||\n 3 === suspendedReason ||\n 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n}\nfunction completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n}\nfunction unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768), (next.subtreeFlags = 0), (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n}\nfunction commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n root.cancelPendingCommit = null;\n do flushPendingEffects();\n while (0 !== pendingEffectsStatus);\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n if (null !== finishedWork) {\n if (finishedWork === root.current) throw Error(formatProdErrorMessage(177));\n didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes;\n didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n lanes,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n pendingFinishedWork = finishedWork;\n pendingEffectsRoot = root;\n pendingEffectsLanes = lanes;\n pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;\n pendingPassiveTransitions = transitions;\n pendingRecoverableErrors = recoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? ((root.callbackNode = null),\n (root.callbackPriority = 0),\n scheduleCallback$1(NormalPriority$1, function () {\n flushPassiveEffects();\n return null;\n }))\n : ((root.callbackNode = null), (root.callbackPriority = 0));\n recoverableErrors = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) {\n recoverableErrors = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n transitions = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n spawnedLane = executionContext;\n executionContext |= 4;\n try {\n commitBeforeMutationEffects(root, finishedWork, lanes);\n } finally {\n (executionContext = spawnedLane),\n (ReactDOMSharedInternals.p = transitions),\n (ReactSharedInternals.T = recoverableErrors);\n }\n }\n pendingEffectsStatus = 1;\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n }\n}\nfunction flushMutationEffects() {\n if (1 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {\n rootMutationHasEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitMutationEffectsOnFiber(finishedWork, root);\n var priorSelectionInformation = selectionInformation,\n curFocusedElem = getActiveElementDeep(root.containerInfo),\n priorFocusedElem = priorSelectionInformation.focusedElem,\n priorSelectionRange = priorSelectionInformation.selectionRange;\n if (\n curFocusedElem !== priorFocusedElem &&\n priorFocusedElem &&\n priorFocusedElem.ownerDocument &&\n containsNode(\n priorFocusedElem.ownerDocument.documentElement,\n priorFocusedElem\n )\n ) {\n if (\n null !== priorSelectionRange &&\n hasSelectionCapabilities(priorFocusedElem)\n ) {\n var start = priorSelectionRange.start,\n end = priorSelectionRange.end;\n void 0 === end && (end = start);\n if (\"selectionStart\" in priorFocusedElem)\n (priorFocusedElem.selectionStart = start),\n (priorFocusedElem.selectionEnd = Math.min(\n end,\n priorFocusedElem.value.length\n ));\n else {\n var doc = priorFocusedElem.ownerDocument || document,\n win = (doc && doc.defaultView) || window;\n if (win.getSelection) {\n var selection = win.getSelection(),\n length = priorFocusedElem.textContent.length,\n start$jscomp$0 = Math.min(priorSelectionRange.start, length),\n end$jscomp$0 =\n void 0 === priorSelectionRange.end\n ? start$jscomp$0\n : Math.min(priorSelectionRange.end, length);\n !selection.extend &&\n start$jscomp$0 > end$jscomp$0 &&\n ((curFocusedElem = end$jscomp$0),\n (end$jscomp$0 = start$jscomp$0),\n (start$jscomp$0 = curFocusedElem));\n var startMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n start$jscomp$0\n ),\n endMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n end$jscomp$0\n );\n if (\n startMarker &&\n endMarker &&\n (1 !== selection.rangeCount ||\n selection.anchorNode !== startMarker.node ||\n selection.anchorOffset !== startMarker.offset ||\n selection.focusNode !== endMarker.node ||\n selection.focusOffset !== endMarker.offset)\n ) {\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n start$jscomp$0 > end$jscomp$0\n ? (selection.addRange(range),\n selection.extend(endMarker.node, endMarker.offset))\n : (range.setEnd(endMarker.node, endMarker.offset),\n selection.addRange(range));\n }\n }\n }\n }\n doc = [];\n for (\n selection = priorFocusedElem;\n (selection = selection.parentNode);\n\n )\n 1 === selection.nodeType &&\n doc.push({\n element: selection,\n left: selection.scrollLeft,\n top: selection.scrollTop\n });\n \"function\" === typeof priorFocusedElem.focus &&\n priorFocusedElem.focus();\n for (\n priorFocusedElem = 0;\n priorFocusedElem < doc.length;\n priorFocusedElem++\n ) {\n var info = doc[priorFocusedElem];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n _enabled = !!eventsEnabled;\n selectionInformation = eventsEnabled = null;\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootMutationHasEffect);\n }\n }\n root.current = finishedWork;\n pendingEffectsStatus = 2;\n }\n}\nfunction flushLayoutEffects() {\n if (2 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772);\n if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) {\n rootHasLayoutEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork);\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootHasLayoutEffect);\n }\n }\n pendingEffectsStatus = 3;\n }\n}\nfunction flushSpawnedWork() {\n if (4 === pendingEffectsStatus || 3 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n requestPaint();\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n recoverableErrors = pendingRecoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? (pendingEffectsStatus = 5)\n : ((pendingEffectsStatus = 0),\n (pendingFinishedWork = pendingEffectsRoot = null),\n releaseRootPooledCache(root, root.pendingLanes));\n var remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n lanesToEventPriority(lanes);\n finishedWork = finishedWork.stateNode;\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n finishedWork,\n void 0,\n 128 === (finishedWork.current.flags & 128)\n );\n } catch (err) {}\n if (null !== recoverableErrors) {\n finishedWork = ReactSharedInternals.T;\n remainingLanes = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n ReactSharedInternals.T = null;\n try {\n for (\n var onRecoverableError = root.onRecoverableError, i = 0;\n i < recoverableErrors.length;\n i++\n ) {\n var recoverableError = recoverableErrors[i];\n onRecoverableError(recoverableError.value, {\n componentStack: recoverableError.stack\n });\n }\n } finally {\n (ReactSharedInternals.T = finishedWork),\n (ReactDOMSharedInternals.p = remainingLanes);\n }\n }\n 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();\n ensureRootIsScheduled(root);\n remainingLanes = root.pendingLanes;\n 0 !== (lanes & 261930) && 0 !== (remainingLanes & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n }\n}\nfunction releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n}\nfunction flushPendingEffects() {\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n return flushPassiveEffects();\n}\nfunction flushPassiveEffects() {\n if (5 !== pendingEffectsStatus) return !1;\n var root = pendingEffectsRoot,\n remainingLanes = pendingEffectsRemainingLanes;\n pendingEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingEffectsLanes),\n prevTransition = ReactSharedInternals.T,\n previousPriority = ReactDOMSharedInternals.p;\n try {\n ReactDOMSharedInternals.p = 32 > renderPriority ? 32 : renderPriority;\n ReactSharedInternals.T = null;\n renderPriority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = pendingEffectsRoot,\n lanes = pendingEffectsLanes;\n pendingEffectsStatus = 0;\n pendingFinishedWork = pendingEffectsRoot = null;\n pendingEffectsLanes = 0;\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(331));\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n renderPriority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n return !0;\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition),\n releaseRootPooledCache(root, remainingLanes);\n }\n}\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n}\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n}\nfunction attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2) && prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n}\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane && (retryLane = claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n}\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 31:\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(formatProdErrorMessage(314));\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction scheduleCallback$1(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n}\nvar firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0;\nfunction ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0), scheduleImmediateRootScheduleTask());\n}\nfunction flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root$170 = firstScheduledRoot; null !== root$170; ) {\n if (!onlyLegacy)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root$170.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root$170.suspendedLanes,\n pingedLanes = root$170.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326741\n ? (JSCompiler_inline_result & 201326741) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$170, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root$170,\n root$170 === workInProgressRoot ? JSCompiler_inline_result : 0,\n null !== root$170.cancelPendingCommit ||\n -1 !== root$170.timeoutHandle\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root$170, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$170, JSCompiler_inline_result));\n root$170 = root$170.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n}\nfunction processRootScheduleInImmediateTask() {\n processRootScheduleInMicrotask();\n}\nfunction processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n var syncTransitionLanes = 0;\n 0 !== currentEventTransitionLane &&\n shouldAttemptEagerTransition() &&\n (syncTransitionLanes = currentEventTransitionLane);\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n if (0 === nextLanes)\n (root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev);\n else if (\n ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))\n )\n mightHavePendingSyncWork = !0;\n root = next;\n }\n (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus) ||\n flushSyncWorkAcrossRoots_impl(syncTransitionLanes, !1);\n 0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);\n}\nfunction scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$5 = 31 - clz32(lanes),\n lane = 1 << index$5,\n expirationTime = expirationTimes[index$5];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$5] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes && null !== pingedLanes && cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n}\nfunction performWorkOnRootViaSchedulerTask(root, didTimeout) {\n if (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus)\n return (root.callbackNode = null), (root.callbackPriority = 0), null;\n var originalCallbackNode = root.callbackNode;\n if (flushPendingEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode && root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n}\nfunction performSyncWorkOnRoot(root, lanes) {\n if (flushPendingEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n}\nfunction scheduleImmediateRootScheduleTask() {\n scheduleMicrotask(function () {\n 0 !== (executionContext & 6)\n ? scheduleCallback$3(\n ImmediatePriority,\n processRootScheduleInImmediateTask\n )\n : processRootScheduleInMicrotask();\n });\n}\nfunction requestTransitionLane() {\n if (0 === currentEventTransitionLane) {\n var actionScopeLane = currentEntangledLane;\n 0 === actionScopeLane &&\n ((actionScopeLane = nextTransitionUpdateLane),\n (nextTransitionUpdateLane <<= 1),\n 0 === (nextTransitionUpdateLane & 261888) &&\n (nextTransitionUpdateLane = 256));\n currentEventTransitionLane = actionScopeLane;\n }\n return currentEventTransitionLane;\n}\nfunction coerceFormActionProp(actionProp) {\n return null == actionProp ||\n \"symbol\" === typeof actionProp ||\n \"boolean\" === typeof actionProp\n ? null\n : \"function\" === typeof actionProp\n ? actionProp\n : sanitizeURL(\"\" + actionProp);\n}\nfunction createFormDataWithSubmitter(form, submitter) {\n var temp = submitter.ownerDocument.createElement(\"input\");\n temp.name = submitter.name;\n temp.value = submitter.value;\n form.id && temp.setAttribute(\"form\", form.id);\n submitter.parentNode.insertBefore(temp, submitter);\n form = new FormData(form);\n temp.parentNode.removeChild(temp);\n return form;\n}\nfunction extractEvents$1(\n dispatchQueue,\n domEventName,\n maybeTargetInst,\n nativeEvent,\n nativeEventTarget\n) {\n if (\n \"submit\" === domEventName &&\n maybeTargetInst &&\n maybeTargetInst.stateNode === nativeEventTarget\n ) {\n var action = coerceFormActionProp(\n (nativeEventTarget[internalPropsKey] || null).action\n ),\n submitter = nativeEvent.submitter;\n submitter &&\n ((domEventName = (domEventName = submitter[internalPropsKey] || null)\n ? coerceFormActionProp(domEventName.formAction)\n : submitter.getAttribute(\"formAction\")),\n null !== domEventName && ((action = domEventName), (submitter = null)));\n var event = new SyntheticEvent(\n \"action\",\n \"action\",\n null,\n nativeEvent,\n nativeEventTarget\n );\n dispatchQueue.push({\n event: event,\n listeners: [\n {\n instance: null,\n listener: function () {\n if (nativeEvent.defaultPrevented) {\n if (0 !== currentEventTransitionLane) {\n var formData = submitter\n ? createFormDataWithSubmitter(nativeEventTarget, submitter)\n : new FormData(nativeEventTarget);\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n null,\n formData\n );\n }\n } else\n \"function\" === typeof action &&\n (event.preventDefault(),\n (formData = submitter\n ? createFormDataWithSubmitter(nativeEventTarget, submitter)\n : new FormData(nativeEventTarget)),\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n action,\n formData\n ));\n },\n currentTarget: nativeEventTarget\n }\n ]\n });\n }\n}\nfor (\n var i$jscomp$inline_1577 = 0;\n i$jscomp$inline_1577 < simpleEventPluginEvents.length;\n i$jscomp$inline_1577++\n) {\n var eventName$jscomp$inline_1578 =\n simpleEventPluginEvents[i$jscomp$inline_1577],\n domEventName$jscomp$inline_1579 =\n eventName$jscomp$inline_1578.toLowerCase(),\n capitalizedEvent$jscomp$inline_1580 =\n eventName$jscomp$inline_1578[0].toUpperCase() +\n eventName$jscomp$inline_1578.slice(1);\n registerSimpleEvent(\n domEventName$jscomp$inline_1579,\n \"on\" + capitalizedEvent$jscomp$inline_1580\n );\n}\nregisterSimpleEvent(ANIMATION_END, \"onAnimationEnd\");\nregisterSimpleEvent(ANIMATION_ITERATION, \"onAnimationIteration\");\nregisterSimpleEvent(ANIMATION_START, \"onAnimationStart\");\nregisterSimpleEvent(\"dblclick\", \"onDoubleClick\");\nregisterSimpleEvent(\"focusin\", \"onFocus\");\nregisterSimpleEvent(\"focusout\", \"onBlur\");\nregisterSimpleEvent(TRANSITION_RUN, \"onTransitionRun\");\nregisterSimpleEvent(TRANSITION_START, \"onTransitionStart\");\nregisterSimpleEvent(TRANSITION_CANCEL, \"onTransitionCancel\");\nregisterSimpleEvent(TRANSITION_END, \"onTransitionEnd\");\nregisterDirectEvent(\"onMouseEnter\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onMouseLeave\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onPointerEnter\", [\"pointerout\", \"pointerover\"]);\nregisterDirectEvent(\"onPointerLeave\", [\"pointerout\", \"pointerover\"]);\nregisterTwoPhaseEvent(\n \"onChange\",\n \"change click focusin focusout input keydown keyup selectionchange\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onSelect\",\n \"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\n \" \"\n )\n);\nregisterTwoPhaseEvent(\"onBeforeInput\", [\n \"compositionend\",\n \"keypress\",\n \"textInput\",\n \"paste\"\n]);\nregisterTwoPhaseEvent(\n \"onCompositionEnd\",\n \"compositionend focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionStart\",\n \"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionUpdate\",\n \"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \")\n);\nvar mediaEventTypes =\n \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\n \" \"\n ),\n nonDelegatedEvents = new Set(\n \"beforetoggle cancel close invalid load scroll scrollend toggle\"\n .split(\" \")\n .concat(mediaEventTypes)\n );\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n eventSystemFlags = 0 !== (eventSystemFlags & 4);\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event;\n _dispatchQueue$i = _dispatchQueue$i.listeners;\n a: {\n var previousInstance = void 0;\n if (eventSystemFlags)\n for (\n var i$jscomp$0 = _dispatchQueue$i.length - 1;\n 0 <= i$jscomp$0;\n i$jscomp$0--\n ) {\n var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n else\n for (\n i$jscomp$0 = 0;\n i$jscomp$0 < _dispatchQueue$i.length;\n i$jscomp$0++\n ) {\n _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];\n instance = _dispatchListeners$i.instance;\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n }\n }\n}\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n var JSCompiler_inline_result = targetElement[internalEventHandlersKey];\n void 0 === JSCompiler_inline_result &&\n (JSCompiler_inline_result = targetElement[internalEventHandlersKey] =\n new Set());\n var listenerSetKey = domEventName + \"__bubble\";\n JSCompiler_inline_result.has(listenerSetKey) ||\n (addTrappedEventListener(targetElement, domEventName, 2, !1),\n JSCompiler_inline_result.add(listenerSetKey));\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n var eventSystemFlags = 0;\n isCapturePhaseListener && (eventSystemFlags |= 4);\n addTrappedEventListener(\n target,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n );\n}\nvar listeningMarker = \"_reactListening\" + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = !0;\n allNativeEvents.forEach(function (domEventName) {\n \"selectionchange\" !== domEventName &&\n (nonDelegatedEvents.has(domEventName) ||\n listenToNativeEvent(domEventName, !1, rootContainerElement),\n listenToNativeEvent(domEventName, !0, rootContainerElement));\n });\n var ownerDocument =\n 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n null === ownerDocument ||\n ownerDocument[listeningMarker] ||\n ((ownerDocument[listeningMarker] = !0),\n listenToNativeEvent(\"selectionchange\", !1, ownerDocument));\n }\n}\nfunction addTrappedEventListener(\n targetContainer,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n) {\n switch (getEventPriority(domEventName)) {\n case 2:\n var listenerWrapper = dispatchDiscreteEvent;\n break;\n case 8:\n listenerWrapper = dispatchContinuousEvent;\n break;\n default:\n listenerWrapper = dispatchEvent;\n }\n eventSystemFlags = listenerWrapper.bind(\n null,\n domEventName,\n eventSystemFlags,\n targetContainer\n );\n listenerWrapper = void 0;\n !passiveBrowserEventsSupported ||\n (\"touchstart\" !== domEventName &&\n \"touchmove\" !== domEventName &&\n \"wheel\" !== domEventName) ||\n (listenerWrapper = !0);\n isCapturePhaseListener\n ? void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n capture: !0,\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !0)\n : void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !1);\n}\nfunction dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n targetInst$jscomp$0,\n targetContainer\n) {\n var ancestorInst = targetInst$jscomp$0;\n if (\n 0 === (eventSystemFlags & 1) &&\n 0 === (eventSystemFlags & 2) &&\n null !== targetInst$jscomp$0\n )\n a: for (;;) {\n if (null === targetInst$jscomp$0) return;\n var nodeTag = targetInst$jscomp$0.tag;\n if (3 === nodeTag || 4 === nodeTag) {\n var container = targetInst$jscomp$0.stateNode.containerInfo;\n if (container === targetContainer) break;\n if (4 === nodeTag)\n for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {\n var grandTag = nodeTag.tag;\n if (\n (3 === grandTag || 4 === grandTag) &&\n nodeTag.stateNode.containerInfo === targetContainer\n )\n return;\n nodeTag = nodeTag.return;\n }\n for (; null !== container; ) {\n nodeTag = getClosestInstanceFromNode(container);\n if (null === nodeTag) return;\n grandTag = nodeTag.tag;\n if (\n 5 === grandTag ||\n 6 === grandTag ||\n 26 === grandTag ||\n 27 === grandTag\n ) {\n targetInst$jscomp$0 = ancestorInst = nodeTag;\n continue a;\n }\n container = container.parentNode;\n }\n }\n targetInst$jscomp$0 = targetInst$jscomp$0.return;\n }\n batchedUpdates$1(function () {\n var targetInst = ancestorInst,\n nativeEventTarget = getEventTarget(nativeEvent),\n dispatchQueue = [];\n a: {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n if (void 0 !== reactName) {\n var SyntheticEventCtor = SyntheticEvent,\n reactEventType = domEventName;\n switch (domEventName) {\n case \"keypress\":\n if (0 === getEventCharCode(nativeEvent)) break a;\n case \"keydown\":\n case \"keyup\":\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n case \"focusin\":\n reactEventType = \"focus\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"focusout\":\n reactEventType = \"blur\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"beforeblur\":\n case \"afterblur\":\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"click\":\n if (2 === nativeEvent.button) break a;\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n case \"scroll\":\n case \"scrollend\":\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n case \"wheel\":\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n case \"copy\":\n case \"cut\":\n case \"paste\":\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n case \"toggle\":\n case \"beforetoggle\":\n SyntheticEventCtor = SyntheticToggleEvent;\n }\n var inCapturePhase = 0 !== (eventSystemFlags & 4),\n accumulateTargetOnly =\n !inCapturePhase &&\n (\"scroll\" === domEventName || \"scrollend\" === domEventName),\n reactEventName = inCapturePhase\n ? null !== reactName\n ? reactName + \"Capture\"\n : null\n : reactName;\n inCapturePhase = [];\n for (\n var instance = targetInst, lastHostComponent;\n null !== instance;\n\n ) {\n var _instance = instance;\n lastHostComponent = _instance.stateNode;\n _instance = _instance.tag;\n (5 !== _instance && 26 !== _instance && 27 !== _instance) ||\n null === lastHostComponent ||\n null === reactEventName ||\n ((_instance = getListener(instance, reactEventName)),\n null != _instance &&\n inCapturePhase.push(\n createDispatchListener(instance, _instance, lastHostComponent)\n ));\n if (accumulateTargetOnly) break;\n instance = instance.return;\n }\n 0 < inCapturePhase.length &&\n ((reactName = new SyntheticEventCtor(\n reactName,\n reactEventType,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: reactName, listeners: inCapturePhase }));\n }\n }\n if (0 === (eventSystemFlags & 7)) {\n a: {\n reactName =\n \"mouseover\" === domEventName || \"pointerover\" === domEventName;\n SyntheticEventCtor =\n \"mouseout\" === domEventName || \"pointerout\" === domEventName;\n if (\n reactName &&\n nativeEvent !== currentReplayingEvent &&\n (reactEventType =\n nativeEvent.relatedTarget || nativeEvent.fromElement) &&\n (getClosestInstanceFromNode(reactEventType) ||\n reactEventType[internalContainerInstanceKey])\n )\n break a;\n if (SyntheticEventCtor || reactName) {\n reactName =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget\n : (reactName = nativeEventTarget.ownerDocument)\n ? reactName.defaultView || reactName.parentWindow\n : window;\n if (SyntheticEventCtor) {\n if (\n ((reactEventType =\n nativeEvent.relatedTarget || nativeEvent.toElement),\n (SyntheticEventCtor = targetInst),\n (reactEventType = reactEventType\n ? getClosestInstanceFromNode(reactEventType)\n : null),\n null !== reactEventType &&\n ((accumulateTargetOnly =\n getNearestMountedFiber(reactEventType)),\n (inCapturePhase = reactEventType.tag),\n reactEventType !== accumulateTargetOnly ||\n (5 !== inCapturePhase &&\n 27 !== inCapturePhase &&\n 6 !== inCapturePhase)))\n )\n reactEventType = null;\n } else (SyntheticEventCtor = null), (reactEventType = targetInst);\n if (SyntheticEventCtor !== reactEventType) {\n inCapturePhase = SyntheticMouseEvent;\n _instance = \"onMouseLeave\";\n reactEventName = \"onMouseEnter\";\n instance = \"mouse\";\n if (\"pointerout\" === domEventName || \"pointerover\" === domEventName)\n (inCapturePhase = SyntheticPointerEvent),\n (_instance = \"onPointerLeave\"),\n (reactEventName = \"onPointerEnter\"),\n (instance = \"pointer\");\n accumulateTargetOnly =\n null == SyntheticEventCtor\n ? reactName\n : getNodeFromInstance(SyntheticEventCtor);\n lastHostComponent =\n null == reactEventType\n ? reactName\n : getNodeFromInstance(reactEventType);\n reactName = new inCapturePhase(\n _instance,\n instance + \"leave\",\n SyntheticEventCtor,\n nativeEvent,\n nativeEventTarget\n );\n reactName.target = accumulateTargetOnly;\n reactName.relatedTarget = lastHostComponent;\n _instance = null;\n getClosestInstanceFromNode(nativeEventTarget) === targetInst &&\n ((inCapturePhase = new inCapturePhase(\n reactEventName,\n instance + \"enter\",\n reactEventType,\n nativeEvent,\n nativeEventTarget\n )),\n (inCapturePhase.target = lastHostComponent),\n (inCapturePhase.relatedTarget = accumulateTargetOnly),\n (_instance = inCapturePhase));\n accumulateTargetOnly = _instance;\n if (SyntheticEventCtor && reactEventType)\n b: {\n inCapturePhase = getParent;\n reactEventName = SyntheticEventCtor;\n instance = reactEventType;\n lastHostComponent = 0;\n for (\n _instance = reactEventName;\n _instance;\n _instance = inCapturePhase(_instance)\n )\n lastHostComponent++;\n _instance = 0;\n for (var tempB = instance; tempB; tempB = inCapturePhase(tempB))\n _instance++;\n for (; 0 < lastHostComponent - _instance; )\n (reactEventName = inCapturePhase(reactEventName)),\n lastHostComponent--;\n for (; 0 < _instance - lastHostComponent; )\n (instance = inCapturePhase(instance)), _instance--;\n for (; lastHostComponent--; ) {\n if (\n reactEventName === instance ||\n (null !== instance && reactEventName === instance.alternate)\n ) {\n inCapturePhase = reactEventName;\n break b;\n }\n reactEventName = inCapturePhase(reactEventName);\n instance = inCapturePhase(instance);\n }\n inCapturePhase = null;\n }\n else inCapturePhase = null;\n null !== SyntheticEventCtor &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n reactName,\n SyntheticEventCtor,\n inCapturePhase,\n !1\n );\n null !== reactEventType &&\n null !== accumulateTargetOnly &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n accumulateTargetOnly,\n reactEventType,\n inCapturePhase,\n !0\n );\n }\n }\n }\n a: {\n reactName = targetInst ? getNodeFromInstance(targetInst) : window;\n SyntheticEventCtor =\n reactName.nodeName && reactName.nodeName.toLowerCase();\n if (\n \"select\" === SyntheticEventCtor ||\n (\"input\" === SyntheticEventCtor && \"file\" === reactName.type)\n )\n var getTargetInstFunc = getTargetInstForChangeEvent;\n else if (isTextInputElement(reactName))\n if (isInputEventSupported)\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n var handleEventFunc = handleEventsForInputEventPolyfill;\n }\n else\n (SyntheticEventCtor = reactName.nodeName),\n !SyntheticEventCtor ||\n \"input\" !== SyntheticEventCtor.toLowerCase() ||\n (\"checkbox\" !== reactName.type && \"radio\" !== reactName.type)\n ? targetInst &&\n isCustomElement(targetInst.elementType) &&\n (getTargetInstFunc = getTargetInstForChangeEvent)\n : (getTargetInstFunc = getTargetInstForClickEvent);\n if (\n getTargetInstFunc &&\n (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))\n ) {\n createAndAccumulateChangeEvent(\n dispatchQueue,\n getTargetInstFunc,\n nativeEvent,\n nativeEventTarget\n );\n break a;\n }\n handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);\n \"focusout\" === domEventName &&\n targetInst &&\n \"number\" === reactName.type &&\n null != targetInst.memoizedProps.value &&\n setDefaultValue(reactName, \"number\", reactName.value);\n }\n handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;\n switch (domEventName) {\n case \"focusin\":\n if (\n isTextInputElement(handleEventFunc) ||\n \"true\" === handleEventFunc.contentEditable\n )\n (activeElement = handleEventFunc),\n (activeElementInst = targetInst),\n (lastSelection = null);\n break;\n case \"focusout\":\n lastSelection = activeElementInst = activeElement = null;\n break;\n case \"mousedown\":\n mouseDown = !0;\n break;\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n mouseDown = !1;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n case \"selectionchange\":\n if (skipSelectionChangeEvent) break;\n case \"keydown\":\n case \"keyup\":\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n var fallbackData;\n if (canUseCompositionEvent)\n b: {\n switch (domEventName) {\n case \"compositionstart\":\n var eventType = \"onCompositionStart\";\n break b;\n case \"compositionend\":\n eventType = \"onCompositionEnd\";\n break b;\n case \"compositionupdate\":\n eventType = \"onCompositionUpdate\";\n break b;\n }\n eventType = void 0;\n }\n else\n isComposing\n ? isFallbackCompositionEnd(domEventName, nativeEvent) &&\n (eventType = \"onCompositionEnd\")\n : \"keydown\" === domEventName &&\n 229 === nativeEvent.keyCode &&\n (eventType = \"onCompositionStart\");\n eventType &&\n (useFallbackCompositionData &&\n \"ko\" !== nativeEvent.locale &&\n (isComposing || \"onCompositionStart\" !== eventType\n ? \"onCompositionEnd\" === eventType &&\n isComposing &&\n (fallbackData = getData())\n : ((root = nativeEventTarget),\n (startText = \"value\" in root ? root.value : root.textContent),\n (isComposing = !0))),\n (handleEventFunc = accumulateTwoPhaseListeners(targetInst, eventType)),\n 0 < handleEventFunc.length &&\n ((eventType = new SyntheticCompositionEvent(\n eventType,\n domEventName,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: eventType, listeners: handleEventFunc }),\n fallbackData\n ? (eventType.data = fallbackData)\n : ((fallbackData = getDataFromCustomEvent(nativeEvent)),\n null !== fallbackData && (eventType.data = fallbackData))));\n if (\n (fallbackData = canUseTextInputEvent\n ? getNativeBeforeInputChars(domEventName, nativeEvent)\n : getFallbackBeforeInputChars(domEventName, nativeEvent))\n )\n (eventType = accumulateTwoPhaseListeners(targetInst, \"onBeforeInput\")),\n 0 < eventType.length &&\n ((handleEventFunc = new SyntheticCompositionEvent(\n \"onBeforeInput\",\n \"beforeinput\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({\n event: handleEventFunc,\n listeners: eventType\n }),\n (handleEventFunc.data = fallbackData));\n extractEvents$1(\n dispatchQueue,\n domEventName,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n }\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n });\n}\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n for (\n var captureName = reactName + \"Capture\", listeners = [];\n null !== targetFiber;\n\n ) {\n var _instance2 = targetFiber,\n stateNode = _instance2.stateNode;\n _instance2 = _instance2.tag;\n (5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2) ||\n null === stateNode ||\n ((_instance2 = getListener(targetFiber, captureName)),\n null != _instance2 &&\n listeners.unshift(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ),\n (_instance2 = getListener(targetFiber, reactName)),\n null != _instance2 &&\n listeners.push(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ));\n if (3 === targetFiber.tag) return listeners;\n targetFiber = targetFiber.return;\n }\n return [];\n}\nfunction getParent(inst) {\n if (null === inst) return null;\n do inst = inst.return;\n while (inst && 5 !== inst.tag && 27 !== inst.tag);\n return inst ? inst : null;\n}\nfunction accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n event,\n target,\n common,\n inCapturePhase\n) {\n for (\n var registrationName = event._reactName, listeners = [];\n null !== target && target !== common;\n\n ) {\n var _instance3 = target,\n alternate = _instance3.alternate,\n stateNode = _instance3.stateNode;\n _instance3 = _instance3.tag;\n if (null !== alternate && alternate === common) break;\n (5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3) ||\n null === stateNode ||\n ((alternate = stateNode),\n inCapturePhase\n ? ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.unshift(\n createDispatchListener(target, stateNode, alternate)\n ))\n : inCapturePhase ||\n ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.push(\n createDispatchListener(target, stateNode, alternate)\n )));\n target = target.return;\n }\n 0 !== listeners.length &&\n dispatchQueue.push({ event: event, listeners: listeners });\n}\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g,\n NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\nfunction normalizeMarkupForTextOrAttribute(markup) {\n return (\"string\" === typeof markup ? markup : \"\" + markup)\n .replace(NORMALIZE_NEWLINES_REGEX, \"\\n\")\n .replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, \"\");\n}\nfunction checkForUnmatchedText(serverText, clientText) {\n clientText = normalizeMarkupForTextOrAttribute(clientText);\n return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;\n}\nfunction setProp(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"children\":\n \"string\" === typeof value\n ? \"body\" === tag ||\n (\"textarea\" === tag && \"\" === value) ||\n setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n \"body\" !== tag &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"className\":\n setValueForKnownAttribute(domElement, \"class\", value);\n break;\n case \"tabIndex\":\n setValueForKnownAttribute(domElement, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n setValueForKnownAttribute(domElement, key, value);\n break;\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"data\":\n if (\"object\" !== tag) {\n setValueForKnownAttribute(domElement, \"data\", value);\n break;\n }\n case \"src\":\n case \"href\":\n if (\"\" === value && (\"a\" !== tag || \"href\" !== key)) {\n domElement.removeAttribute(key);\n break;\n }\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"action\":\n case \"formAction\":\n if (\"function\" === typeof value) {\n domElement.setAttribute(\n key,\n \"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\"\n );\n break;\n } else\n \"function\" === typeof prevValue &&\n (\"formAction\" === key\n ? (\"input\" !== tag &&\n setProp(domElement, tag, \"name\", props.name, props, null),\n setProp(\n domElement,\n tag,\n \"formEncType\",\n props.formEncType,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formMethod\",\n props.formMethod,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formTarget\",\n props.formTarget,\n props,\n null\n ))\n : (setProp(domElement, tag, \"encType\", props.encType, props, null),\n setProp(domElement, tag, \"method\", props.method, props, null),\n setProp(domElement, tag, \"target\", props.target, props, null)));\n if (\n null == value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n break;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n domElement.innerHTML = key;\n }\n }\n break;\n case \"multiple\":\n domElement.multiple =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"muted\":\n domElement.muted =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"autoFocus\":\n break;\n case \"xlinkHref\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"boolean\" === typeof value ||\n \"symbol\" === typeof value\n ) {\n domElement.removeAttribute(\"xlink:href\");\n break;\n }\n key = sanitizeURL(\"\" + value);\n domElement.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n key\n );\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n null != value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\" + value)\n : domElement.removeAttribute(key);\n break;\n case \"inert\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\")\n : domElement.removeAttribute(key);\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? domElement.setAttribute(key, \"\")\n : !1 !== value &&\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"rowSpan\":\n case \"start\":\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value)\n ? domElement.removeAttribute(key)\n : domElement.setAttribute(key, value);\n break;\n case \"popover\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n setValueForAttribute(domElement, \"popover\", value);\n break;\n case \"xlinkActuate\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:actuate\",\n value\n );\n break;\n case \"xlinkArcrole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:arcrole\",\n value\n );\n break;\n case \"xlinkRole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:role\",\n value\n );\n break;\n case \"xlinkShow\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:show\",\n value\n );\n break;\n case \"xlinkTitle\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:title\",\n value\n );\n break;\n case \"xlinkType\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:type\",\n value\n );\n break;\n case \"xmlBase\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:base\",\n value\n );\n break;\n case \"xmlLang\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:lang\",\n value\n );\n break;\n case \"xmlSpace\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:space\",\n value\n );\n break;\n case \"is\":\n setValueForAttribute(domElement, \"is\", value);\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (\n !(2 < key.length) ||\n (\"o\" !== key[0] && \"O\" !== key[0]) ||\n (\"n\" !== key[1] && \"N\" !== key[1])\n )\n (key = aliases.get(key) || key),\n setValueForAttribute(domElement, key, value);\n }\n}\nfunction setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n domElement.innerHTML = key;\n }\n }\n break;\n case \"children\":\n \"string\" === typeof value\n ? setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n break;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (!registrationNameDependencies.hasOwnProperty(key))\n a: {\n if (\n \"o\" === key[0] &&\n \"n\" === key[1] &&\n ((props = key.endsWith(\"Capture\")),\n (tag = key.slice(2, props ? key.length - 7 : void 0)),\n (prevValue = domElement[internalPropsKey] || null),\n (prevValue = null != prevValue ? prevValue[key] : null),\n \"function\" === typeof prevValue &&\n domElement.removeEventListener(tag, prevValue, props),\n \"function\" === typeof value)\n ) {\n \"function\" !== typeof prevValue &&\n null !== prevValue &&\n (key in domElement\n ? (domElement[key] = null)\n : domElement.hasAttribute(key) &&\n domElement.removeAttribute(key));\n domElement.addEventListener(tag, value, props);\n break a;\n }\n key in domElement\n ? (domElement[key] = value)\n : !0 === value\n ? domElement.setAttribute(key, \"\")\n : setValueForAttribute(domElement, key, value);\n }\n }\n}\nfunction setInitialProperties(domElement, tag, props) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"img\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n var hasSrc = !1,\n hasSrcSet = !1,\n propKey;\n for (propKey in props)\n if (props.hasOwnProperty(propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"src\":\n hasSrc = !0;\n break;\n case \"srcSet\":\n hasSrcSet = !0;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, propKey, propValue, props, null);\n }\n }\n hasSrcSet &&\n setProp(domElement, tag, \"srcSet\", props.srcSet, props, null);\n hasSrc && setProp(domElement, tag, \"src\", props.src, props, null);\n return;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n var defaultValue = (propKey = propValue = hasSrcSet = null),\n checked = null,\n defaultChecked = null;\n for (hasSrc in props)\n if (props.hasOwnProperty(hasSrc)) {\n var propValue$184 = props[hasSrc];\n if (null != propValue$184)\n switch (hasSrc) {\n case \"name\":\n hasSrcSet = propValue$184;\n break;\n case \"type\":\n propValue = propValue$184;\n break;\n case \"checked\":\n checked = propValue$184;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$184;\n break;\n case \"value\":\n propKey = propValue$184;\n break;\n case \"defaultValue\":\n defaultValue = propValue$184;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propValue$184)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(domElement, tag, hasSrc, propValue$184, props, null);\n }\n }\n initInput(\n domElement,\n propKey,\n defaultValue,\n checked,\n defaultChecked,\n propValue,\n hasSrcSet,\n !1\n );\n return;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n hasSrc = propValue = propKey = null;\n for (hasSrcSet in props)\n if (\n props.hasOwnProperty(hasSrcSet) &&\n ((defaultValue = props[hasSrcSet]), null != defaultValue)\n )\n switch (hasSrcSet) {\n case \"value\":\n propKey = defaultValue;\n break;\n case \"defaultValue\":\n propValue = defaultValue;\n break;\n case \"multiple\":\n hasSrc = defaultValue;\n default:\n setProp(domElement, tag, hasSrcSet, defaultValue, props, null);\n }\n tag = propKey;\n props = propValue;\n domElement.multiple = !!hasSrc;\n null != tag\n ? updateOptions(domElement, !!hasSrc, tag, !1)\n : null != props && updateOptions(domElement, !!hasSrc, props, !0);\n return;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n propKey = hasSrcSet = hasSrc = null;\n for (propValue in props)\n if (\n props.hasOwnProperty(propValue) &&\n ((defaultValue = props[propValue]), null != defaultValue)\n )\n switch (propValue) {\n case \"value\":\n hasSrc = defaultValue;\n break;\n case \"defaultValue\":\n hasSrcSet = defaultValue;\n break;\n case \"children\":\n propKey = defaultValue;\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != defaultValue) throw Error(formatProdErrorMessage(91));\n break;\n default:\n setProp(domElement, tag, propValue, defaultValue, props, null);\n }\n initTextarea(domElement, hasSrc, hasSrcSet, propKey);\n return;\n case \"option\":\n for (checked in props)\n if (\n props.hasOwnProperty(checked) &&\n ((hasSrc = props[checked]), null != hasSrc)\n )\n switch (checked) {\n case \"selected\":\n domElement.selected =\n hasSrc &&\n \"function\" !== typeof hasSrc &&\n \"symbol\" !== typeof hasSrc;\n break;\n default:\n setProp(domElement, tag, checked, hasSrc, props, null);\n }\n return;\n case \"dialog\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n listenToNonDelegatedEvent(\"cancel\", domElement);\n listenToNonDelegatedEvent(\"close\", domElement);\n break;\n case \"iframe\":\n case \"object\":\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"video\":\n case \"audio\":\n for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)\n listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);\n break;\n case \"image\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", domElement);\n break;\n case \"embed\":\n case \"source\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", domElement),\n listenToNonDelegatedEvent(\"load\", domElement);\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (defaultChecked in props)\n if (\n props.hasOwnProperty(defaultChecked) &&\n ((hasSrc = props[defaultChecked]), null != hasSrc)\n )\n switch (defaultChecked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, defaultChecked, hasSrc, props, null);\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (propValue$184 in props)\n props.hasOwnProperty(propValue$184) &&\n ((hasSrc = props[propValue$184]),\n void 0 !== hasSrc &&\n setPropOnCustomElement(\n domElement,\n tag,\n propValue$184,\n hasSrc,\n props,\n void 0\n ));\n return;\n }\n }\n for (defaultValue in props)\n props.hasOwnProperty(defaultValue) &&\n ((hasSrc = props[defaultValue]),\n null != hasSrc &&\n setProp(domElement, tag, defaultValue, hasSrc, props, null));\n}\nfunction updateProperties(domElement, tag, lastProps, nextProps) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"input\":\n var name = null,\n type = null,\n value = null,\n defaultValue = null,\n lastDefaultValue = null,\n checked = null,\n defaultChecked = null;\n for (propKey in lastProps) {\n var lastProp = lastProps[propKey];\n if (lastProps.hasOwnProperty(propKey) && null != lastProp)\n switch (propKey) {\n case \"checked\":\n break;\n case \"value\":\n break;\n case \"defaultValue\":\n lastDefaultValue = lastProp;\n default:\n nextProps.hasOwnProperty(propKey) ||\n setProp(domElement, tag, propKey, null, nextProps, lastProp);\n }\n }\n for (var propKey$201 in nextProps) {\n var propKey = nextProps[propKey$201];\n lastProp = lastProps[propKey$201];\n if (\n nextProps.hasOwnProperty(propKey$201) &&\n (null != propKey || null != lastProp)\n )\n switch (propKey$201) {\n case \"type\":\n type = propKey;\n break;\n case \"name\":\n name = propKey;\n break;\n case \"checked\":\n checked = propKey;\n break;\n case \"defaultChecked\":\n defaultChecked = propKey;\n break;\n case \"value\":\n value = propKey;\n break;\n case \"defaultValue\":\n defaultValue = propKey;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n propKey !== lastProp &&\n setProp(\n domElement,\n tag,\n propKey$201,\n propKey,\n nextProps,\n lastProp\n );\n }\n }\n updateInput(\n domElement,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n );\n return;\n case \"select\":\n propKey = value = defaultValue = propKey$201 = null;\n for (type in lastProps)\n if (\n ((lastDefaultValue = lastProps[type]),\n lastProps.hasOwnProperty(type) && null != lastDefaultValue)\n )\n switch (type) {\n case \"value\":\n break;\n case \"multiple\":\n propKey = lastDefaultValue;\n default:\n nextProps.hasOwnProperty(type) ||\n setProp(\n domElement,\n tag,\n type,\n null,\n nextProps,\n lastDefaultValue\n );\n }\n for (name in nextProps)\n if (\n ((type = nextProps[name]),\n (lastDefaultValue = lastProps[name]),\n nextProps.hasOwnProperty(name) &&\n (null != type || null != lastDefaultValue))\n )\n switch (name) {\n case \"value\":\n propKey$201 = type;\n break;\n case \"defaultValue\":\n defaultValue = type;\n break;\n case \"multiple\":\n value = type;\n default:\n type !== lastDefaultValue &&\n setProp(\n domElement,\n tag,\n name,\n type,\n nextProps,\n lastDefaultValue\n );\n }\n tag = defaultValue;\n lastProps = value;\n nextProps = propKey;\n null != propKey$201\n ? updateOptions(domElement, !!lastProps, propKey$201, !1)\n : !!nextProps !== !!lastProps &&\n (null != tag\n ? updateOptions(domElement, !!lastProps, tag, !0)\n : updateOptions(domElement, !!lastProps, lastProps ? [] : \"\", !1));\n return;\n case \"textarea\":\n propKey = propKey$201 = null;\n for (defaultValue in lastProps)\n if (\n ((name = lastProps[defaultValue]),\n lastProps.hasOwnProperty(defaultValue) &&\n null != name &&\n !nextProps.hasOwnProperty(defaultValue))\n )\n switch (defaultValue) {\n case \"value\":\n break;\n case \"children\":\n break;\n default:\n setProp(domElement, tag, defaultValue, null, nextProps, name);\n }\n for (value in nextProps)\n if (\n ((name = nextProps[value]),\n (type = lastProps[value]),\n nextProps.hasOwnProperty(value) && (null != name || null != type))\n )\n switch (value) {\n case \"value\":\n propKey$201 = name;\n break;\n case \"defaultValue\":\n propKey = name;\n break;\n case \"children\":\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != name) throw Error(formatProdErrorMessage(91));\n break;\n default:\n name !== type &&\n setProp(domElement, tag, value, name, nextProps, type);\n }\n updateTextarea(domElement, propKey$201, propKey);\n return;\n case \"option\":\n for (var propKey$217 in lastProps)\n if (\n ((propKey$201 = lastProps[propKey$217]),\n lastProps.hasOwnProperty(propKey$217) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$217))\n )\n switch (propKey$217) {\n case \"selected\":\n domElement.selected = !1;\n break;\n default:\n setProp(\n domElement,\n tag,\n propKey$217,\n null,\n nextProps,\n propKey$201\n );\n }\n for (lastDefaultValue in nextProps)\n if (\n ((propKey$201 = nextProps[lastDefaultValue]),\n (propKey = lastProps[lastDefaultValue]),\n nextProps.hasOwnProperty(lastDefaultValue) &&\n propKey$201 !== propKey &&\n (null != propKey$201 || null != propKey))\n )\n switch (lastDefaultValue) {\n case \"selected\":\n domElement.selected =\n propKey$201 &&\n \"function\" !== typeof propKey$201 &&\n \"symbol\" !== typeof propKey$201;\n break;\n default:\n setProp(\n domElement,\n tag,\n lastDefaultValue,\n propKey$201,\n nextProps,\n propKey\n );\n }\n return;\n case \"img\":\n case \"link\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (var propKey$222 in lastProps)\n (propKey$201 = lastProps[propKey$222]),\n lastProps.hasOwnProperty(propKey$222) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$222) &&\n setProp(domElement, tag, propKey$222, null, nextProps, propKey$201);\n for (checked in nextProps)\n if (\n ((propKey$201 = nextProps[checked]),\n (propKey = lastProps[checked]),\n nextProps.hasOwnProperty(checked) &&\n propKey$201 !== propKey &&\n (null != propKey$201 || null != propKey))\n )\n switch (checked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey$201)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(\n domElement,\n tag,\n checked,\n propKey$201,\n nextProps,\n propKey\n );\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (var propKey$227 in lastProps)\n (propKey$201 = lastProps[propKey$227]),\n lastProps.hasOwnProperty(propKey$227) &&\n void 0 !== propKey$201 &&\n !nextProps.hasOwnProperty(propKey$227) &&\n setPropOnCustomElement(\n domElement,\n tag,\n propKey$227,\n void 0,\n nextProps,\n propKey$201\n );\n for (defaultChecked in nextProps)\n (propKey$201 = nextProps[defaultChecked]),\n (propKey = lastProps[defaultChecked]),\n !nextProps.hasOwnProperty(defaultChecked) ||\n propKey$201 === propKey ||\n (void 0 === propKey$201 && void 0 === propKey) ||\n setPropOnCustomElement(\n domElement,\n tag,\n defaultChecked,\n propKey$201,\n nextProps,\n propKey\n );\n return;\n }\n }\n for (var propKey$232 in lastProps)\n (propKey$201 = lastProps[propKey$232]),\n lastProps.hasOwnProperty(propKey$232) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$232) &&\n setProp(domElement, tag, propKey$232, null, nextProps, propKey$201);\n for (lastProp in nextProps)\n (propKey$201 = nextProps[lastProp]),\n (propKey = lastProps[lastProp]),\n !nextProps.hasOwnProperty(lastProp) ||\n propKey$201 === propKey ||\n (null == propKey$201 && null == propKey) ||\n setProp(domElement, tag, lastProp, propKey$201, nextProps, propKey);\n}\nfunction isLikelyStaticResource(initiatorType) {\n switch (initiatorType) {\n case \"css\":\n case \"script\":\n case \"font\":\n case \"img\":\n case \"image\":\n case \"input\":\n case \"link\":\n return !0;\n default:\n return !1;\n }\n}\nfunction estimateBandwidth() {\n if (\"function\" === typeof performance.getEntriesByType) {\n for (\n var count = 0,\n bits = 0,\n resourceEntries = performance.getEntriesByType(\"resource\"),\n i = 0;\n i < resourceEntries.length;\n i++\n ) {\n var entry = resourceEntries[i],\n transferSize = entry.transferSize,\n initiatorType = entry.initiatorType,\n duration = entry.duration;\n if (transferSize && duration && isLikelyStaticResource(initiatorType)) {\n initiatorType = 0;\n duration = entry.responseEnd;\n for (i += 1; i < resourceEntries.length; i++) {\n var overlapEntry = resourceEntries[i],\n overlapStartTime = overlapEntry.startTime;\n if (overlapStartTime > duration) break;\n var overlapTransferSize = overlapEntry.transferSize,\n overlapInitiatorType = overlapEntry.initiatorType;\n overlapTransferSize &&\n isLikelyStaticResource(overlapInitiatorType) &&\n ((overlapEntry = overlapEntry.responseEnd),\n (initiatorType +=\n overlapTransferSize *\n (overlapEntry < duration\n ? 1\n : (duration - overlapStartTime) /\n (overlapEntry - overlapStartTime))));\n }\n --i;\n bits += (8 * (transferSize + initiatorType)) / (entry.duration / 1e3);\n count++;\n if (10 < count) break;\n }\n }\n if (0 < count) return bits / count / 1e6;\n }\n return navigator.connection &&\n ((count = navigator.connection.downlink), \"number\" === typeof count)\n ? count\n : 5;\n}\nvar eventsEnabled = null,\n selectionInformation = null;\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n}\nfunction getOwnHostContext(namespaceURI) {\n switch (namespaceURI) {\n case \"http://www.w3.org/2000/svg\":\n return 1;\n case \"http://www.w3.org/1998/Math/MathML\":\n return 2;\n default:\n return 0;\n }\n}\nfunction getChildHostContextProd(parentNamespace, type) {\n if (0 === parentNamespace)\n switch (type) {\n case \"svg\":\n return 1;\n case \"math\":\n return 2;\n default:\n return 0;\n }\n return 1 === parentNamespace && \"foreignObject\" === type\n ? 0\n : parentNamespace;\n}\nfunction shouldSetTextContent(type, props) {\n return (\n \"textarea\" === type ||\n \"noscript\" === type ||\n \"string\" === typeof props.children ||\n \"number\" === typeof props.children ||\n \"bigint\" === typeof props.children ||\n (\"object\" === typeof props.dangerouslySetInnerHTML &&\n null !== props.dangerouslySetInnerHTML &&\n null != props.dangerouslySetInnerHTML.__html)\n );\n}\nvar currentPopstateTransitionEvent = null;\nfunction shouldAttemptEagerTransition() {\n var event = window.event;\n if (event && \"popstate\" === event.type) {\n if (event === currentPopstateTransitionEvent) return !1;\n currentPopstateTransitionEvent = event;\n return !0;\n }\n currentPopstateTransitionEvent = null;\n return !1;\n}\nvar scheduleTimeout = \"function\" === typeof setTimeout ? setTimeout : void 0,\n cancelTimeout = \"function\" === typeof clearTimeout ? clearTimeout : void 0,\n localPromise = \"function\" === typeof Promise ? Promise : void 0,\n scheduleMicrotask =\n \"function\" === typeof queueMicrotask\n ? queueMicrotask\n : \"undefined\" !== typeof localPromise\n ? function (callback) {\n return localPromise\n .resolve(null)\n .then(callback)\n .catch(handleErrorInNextTick);\n }\n : scheduleTimeout;\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n}\nfunction isSingletonScope(type) {\n return \"head\" === type;\n}\nfunction clearHydrationBoundary(parentInstance, hydrationInstance) {\n var node = hydrationInstance,\n depth = 0;\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node || \"/&\" === node)) {\n if (0 === depth) {\n parentInstance.removeChild(nextNode);\n retryIfBlockedOn(hydrationInstance);\n return;\n }\n depth--;\n } else if (\n \"$\" === node ||\n \"$?\" === node ||\n \"$~\" === node ||\n \"$!\" === node ||\n \"&\" === node\n )\n depth++;\n else if (\"html\" === node)\n releaseSingletonInstance(parentInstance.ownerDocument.documentElement);\n else if (\"head\" === node) {\n node = parentInstance.ownerDocument.head;\n releaseSingletonInstance(node);\n for (var node$jscomp$0 = node.firstChild; node$jscomp$0; ) {\n var nextNode$jscomp$0 = node$jscomp$0.nextSibling,\n nodeName = node$jscomp$0.nodeName;\n node$jscomp$0[internalHoistableMarker] ||\n \"SCRIPT\" === nodeName ||\n \"STYLE\" === nodeName ||\n (\"LINK\" === nodeName &&\n \"stylesheet\" === node$jscomp$0.rel.toLowerCase()) ||\n node.removeChild(node$jscomp$0);\n node$jscomp$0 = nextNode$jscomp$0;\n }\n } else\n \"body\" === node &&\n releaseSingletonInstance(parentInstance.ownerDocument.body);\n node = nextNode;\n } while (node);\n retryIfBlockedOn(hydrationInstance);\n}\nfunction hideOrUnhideDehydratedBoundary(suspenseInstance, isHidden) {\n var node = suspenseInstance;\n suspenseInstance = 0;\n do {\n var nextNode = node.nextSibling;\n 1 === node.nodeType\n ? isHidden\n ? ((node._stashedDisplay = node.style.display),\n (node.style.display = \"none\"))\n : ((node.style.display = node._stashedDisplay || \"\"),\n \"\" === node.getAttribute(\"style\") && node.removeAttribute(\"style\"))\n : 3 === node.nodeType &&\n (isHidden\n ? ((node._stashedText = node.nodeValue), (node.nodeValue = \"\"))\n : (node.nodeValue = node._stashedText || \"\"));\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node))\n if (0 === suspenseInstance) break;\n else suspenseInstance--;\n else\n (\"$\" !== node && \"$?\" !== node && \"$~\" !== node && \"$!\" !== node) ||\n suspenseInstance++;\n node = nextNode;\n } while (node);\n}\nfunction clearContainerSparingly(container) {\n var nextNode = container.firstChild;\n nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);\n for (; nextNode; ) {\n var node = nextNode;\n nextNode = nextNode.nextSibling;\n switch (node.nodeName) {\n case \"HTML\":\n case \"HEAD\":\n case \"BODY\":\n clearContainerSparingly(node);\n detachDeletedInstance(node);\n continue;\n case \"SCRIPT\":\n case \"STYLE\":\n continue;\n case \"LINK\":\n if (\"stylesheet\" === node.rel.toLowerCase()) continue;\n }\n container.removeChild(node);\n }\n}\nfunction canHydrateInstance(instance, type, props, inRootOrSingleton) {\n for (; 1 === instance.nodeType; ) {\n var anyProps = props;\n if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {\n if (\n !inRootOrSingleton &&\n (\"INPUT\" !== instance.nodeName || \"hidden\" !== instance.type)\n )\n break;\n } else if (!inRootOrSingleton)\n if (\"input\" === type && \"hidden\" === instance.type) {\n var name = null == anyProps.name ? null : \"\" + anyProps.name;\n if (\n \"hidden\" === anyProps.type &&\n instance.getAttribute(\"name\") === name\n )\n return instance;\n } else return instance;\n else if (!instance[internalHoistableMarker])\n switch (type) {\n case \"meta\":\n if (!instance.hasAttribute(\"itemprop\")) break;\n return instance;\n case \"link\":\n name = instance.getAttribute(\"rel\");\n if (\"stylesheet\" === name && instance.hasAttribute(\"data-precedence\"))\n break;\n else if (\n name !== anyProps.rel ||\n instance.getAttribute(\"href\") !==\n (null == anyProps.href || \"\" === anyProps.href\n ? null\n : anyProps.href) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) ||\n instance.getAttribute(\"title\") !==\n (null == anyProps.title ? null : anyProps.title)\n )\n break;\n return instance;\n case \"style\":\n if (instance.hasAttribute(\"data-precedence\")) break;\n return instance;\n case \"script\":\n name = instance.getAttribute(\"src\");\n if (\n (name !== (null == anyProps.src ? null : anyProps.src) ||\n instance.getAttribute(\"type\") !==\n (null == anyProps.type ? null : anyProps.type) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) &&\n name &&\n instance.hasAttribute(\"async\") &&\n !instance.hasAttribute(\"itemprop\")\n )\n break;\n return instance;\n default:\n return instance;\n }\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) break;\n }\n return null;\n}\nfunction canHydrateTextInstance(instance, text, inRootOrSingleton) {\n if (\"\" === text) return null;\n for (; 3 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction canHydrateHydrationBoundary(instance, inRootOrSingleton) {\n for (; 8 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return \"$?\" === instance.data || \"$~\" === instance.data;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return (\n \"$!\" === instance.data ||\n (\"$?\" === instance.data && \"loading\" !== instance.ownerDocument.readyState)\n );\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n var ownerDocument = instance.ownerDocument;\n if (\"$~\" === instance.data) instance._reactRetry = callback;\n else if (\"$?\" !== instance.data || \"loading\" !== ownerDocument.readyState)\n callback();\n else {\n var listener = function () {\n callback();\n ownerDocument.removeEventListener(\"DOMContentLoaded\", listener);\n };\n ownerDocument.addEventListener(\"DOMContentLoaded\", listener);\n instance._reactRetry = listener;\n }\n}\nfunction getNextHydratable(node) {\n for (; null != node; node = node.nextSibling) {\n var nodeType = node.nodeType;\n if (1 === nodeType || 3 === nodeType) break;\n if (8 === nodeType) {\n nodeType = node.data;\n if (\n \"$\" === nodeType ||\n \"$!\" === nodeType ||\n \"$?\" === nodeType ||\n \"$~\" === nodeType ||\n \"&\" === nodeType ||\n \"F!\" === nodeType ||\n \"F\" === nodeType\n )\n break;\n if (\"/$\" === nodeType || \"/&\" === nodeType) return null;\n }\n }\n return node;\n}\nvar previousHydratableOnEnteringScopedSingleton = null;\nfunction getNextHydratableInstanceAfterHydrationBoundary(hydrationInstance) {\n hydrationInstance = hydrationInstance.nextSibling;\n for (var depth = 0; hydrationInstance; ) {\n if (8 === hydrationInstance.nodeType) {\n var data = hydrationInstance.data;\n if (\"/$\" === data || \"/&\" === data) {\n if (0 === depth)\n return getNextHydratable(hydrationInstance.nextSibling);\n depth--;\n } else\n (\"$\" !== data &&\n \"$!\" !== data &&\n \"$?\" !== data &&\n \"$~\" !== data &&\n \"&\" !== data) ||\n depth++;\n }\n hydrationInstance = hydrationInstance.nextSibling;\n }\n return null;\n}\nfunction getParentHydrationBoundary(targetInstance) {\n targetInstance = targetInstance.previousSibling;\n for (var depth = 0; targetInstance; ) {\n if (8 === targetInstance.nodeType) {\n var data = targetInstance.data;\n if (\n \"$\" === data ||\n \"$!\" === data ||\n \"$?\" === data ||\n \"$~\" === data ||\n \"&\" === data\n ) {\n if (0 === depth) return targetInstance;\n depth--;\n } else (\"/$\" !== data && \"/&\" !== data) || depth++;\n }\n targetInstance = targetInstance.previousSibling;\n }\n return null;\n}\nfunction resolveSingletonInstance(type, props, rootContainerInstance) {\n props = getOwnerDocumentFromRootContainer(rootContainerInstance);\n switch (type) {\n case \"html\":\n type = props.documentElement;\n if (!type) throw Error(formatProdErrorMessage(452));\n return type;\n case \"head\":\n type = props.head;\n if (!type) throw Error(formatProdErrorMessage(453));\n return type;\n case \"body\":\n type = props.body;\n if (!type) throw Error(formatProdErrorMessage(454));\n return type;\n default:\n throw Error(formatProdErrorMessage(451));\n }\n}\nfunction releaseSingletonInstance(instance) {\n for (var attributes = instance.attributes; attributes.length; )\n instance.removeAttributeNode(attributes[0]);\n detachDeletedInstance(instance);\n}\nvar preloadPropsMap = new Map(),\n preconnectsSet = new Set();\nfunction getHoistableRoot(container) {\n return \"function\" === typeof container.getRootNode\n ? container.getRootNode()\n : 9 === container.nodeType\n ? container\n : container.ownerDocument;\n}\nvar previousDispatcher = ReactDOMSharedInternals.d;\nReactDOMSharedInternals.d = {\n f: flushSyncWork,\n r: requestFormReset,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n};\nfunction flushSyncWork() {\n var previousWasRendering = previousDispatcher.f(),\n wasRendering = flushSyncWork$1();\n return previousWasRendering || wasRendering;\n}\nfunction requestFormReset(form) {\n var formInst = getInstanceFromNode(form);\n null !== formInst && 5 === formInst.tag && \"form\" === formInst.type\n ? requestFormReset$1(formInst)\n : previousDispatcher.r(form);\n}\nvar globalDocument = \"undefined\" === typeof document ? null : document;\nfunction preconnectAs(rel, href, crossOrigin) {\n var ownerDocument = globalDocument;\n if (ownerDocument && \"string\" === typeof href && href) {\n var limitedEscapedHref =\n escapeSelectorAttributeValueInsideDoubleQuotes(href);\n limitedEscapedHref =\n 'link[rel=\"' + rel + '\"][href=\"' + limitedEscapedHref + '\"]';\n \"string\" === typeof crossOrigin &&\n (limitedEscapedHref += '[crossorigin=\"' + crossOrigin + '\"]');\n preconnectsSet.has(limitedEscapedHref) ||\n (preconnectsSet.add(limitedEscapedHref),\n (rel = { rel: rel, crossOrigin: crossOrigin, href: href }),\n null === ownerDocument.querySelector(limitedEscapedHref) &&\n ((href = ownerDocument.createElement(\"link\")),\n setInitialProperties(href, \"link\", rel),\n markNodeAsHoistable(href),\n ownerDocument.head.appendChild(href)));\n }\n}\nfunction prefetchDNS(href) {\n previousDispatcher.D(href);\n preconnectAs(\"dns-prefetch\", href, null);\n}\nfunction preconnect(href, crossOrigin) {\n previousDispatcher.C(href, crossOrigin);\n preconnectAs(\"preconnect\", href, crossOrigin);\n}\nfunction preload(href, as, options) {\n previousDispatcher.L(href, as, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href && as) {\n var preloadSelector =\n 'link[rel=\"preload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"]';\n \"image\" === as\n ? options && options.imageSrcSet\n ? ((preloadSelector +=\n '[imagesrcset=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSrcSet\n ) +\n '\"]'),\n \"string\" === typeof options.imageSizes &&\n (preloadSelector +=\n '[imagesizes=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSizes\n ) +\n '\"]'))\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]')\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]');\n var key = preloadSelector;\n switch (as) {\n case \"style\":\n key = getStyleKey(href);\n break;\n case \"script\":\n key = getScriptKey(href);\n }\n preloadPropsMap.has(key) ||\n ((href = assign(\n {\n rel: \"preload\",\n href:\n \"image\" === as && options && options.imageSrcSet ? void 0 : href,\n as: as\n },\n options\n )),\n preloadPropsMap.set(key, href),\n null !== ownerDocument.querySelector(preloadSelector) ||\n (\"style\" === as &&\n ownerDocument.querySelector(getStylesheetSelectorFromKey(key))) ||\n (\"script\" === as &&\n ownerDocument.querySelector(getScriptSelectorFromKey(key))) ||\n ((as = ownerDocument.createElement(\"link\")),\n setInitialProperties(as, \"link\", href),\n markNodeAsHoistable(as),\n ownerDocument.head.appendChild(as)));\n }\n}\nfunction preloadModule(href, options) {\n previousDispatcher.m(href, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var as = options && \"string\" === typeof options.as ? options.as : \"script\",\n preloadSelector =\n 'link[rel=\"modulepreload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"][href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]',\n key = preloadSelector;\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n key = getScriptKey(href);\n }\n if (\n !preloadPropsMap.has(key) &&\n ((href = assign({ rel: \"modulepreload\", href: href }, options)),\n preloadPropsMap.set(key, href),\n null === ownerDocument.querySelector(preloadSelector))\n ) {\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))\n return;\n }\n as = ownerDocument.createElement(\"link\");\n setInitialProperties(as, \"link\", href);\n markNodeAsHoistable(as);\n ownerDocument.head.appendChild(as);\n }\n }\n}\nfunction preinitStyle(href, precedence, options) {\n previousDispatcher.S(href, precedence, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var styles = getResourcesFromRoot(ownerDocument).hoistableStyles,\n key = getStyleKey(href);\n precedence = precedence || \"default\";\n var resource = styles.get(key);\n if (!resource) {\n var state = { loading: 0, preload: null };\n if (\n (resource = ownerDocument.querySelector(\n getStylesheetSelectorFromKey(key)\n ))\n )\n state.loading = 5;\n else {\n href = assign(\n { rel: \"stylesheet\", href: href, \"data-precedence\": precedence },\n options\n );\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(href, options);\n var link = (resource = ownerDocument.createElement(\"link\"));\n markNodeAsHoistable(link);\n setInitialProperties(link, \"link\", href);\n link._p = new Promise(function (resolve, reject) {\n link.onload = resolve;\n link.onerror = reject;\n });\n link.addEventListener(\"load\", function () {\n state.loading |= 1;\n });\n link.addEventListener(\"error\", function () {\n state.loading |= 2;\n });\n state.loading |= 4;\n insertStylesheet(resource, precedence, ownerDocument);\n }\n resource = {\n type: \"stylesheet\",\n instance: resource,\n count: 1,\n state: state\n };\n styles.set(key, resource);\n }\n }\n}\nfunction preinitScript(src, options) {\n previousDispatcher.X(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0 }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction preinitModuleScript(src, options) {\n previousDispatcher.M(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0, type: \"module\" }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction getResource(type, currentProps, pendingProps, currentResource) {\n var JSCompiler_inline_result = (JSCompiler_inline_result =\n rootInstanceStackCursor.current)\n ? getHoistableRoot(JSCompiler_inline_result)\n : null;\n if (!JSCompiler_inline_result) throw Error(formatProdErrorMessage(446));\n switch (type) {\n case \"meta\":\n case \"title\":\n return null;\n case \"style\":\n return \"string\" === typeof pendingProps.precedence &&\n \"string\" === typeof pendingProps.href\n ? ((currentProps = getStyleKey(pendingProps.href)),\n (pendingProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles),\n (currentResource = pendingProps.get(currentProps)),\n currentResource ||\n ((currentResource = {\n type: \"style\",\n instance: null,\n count: 0,\n state: null\n }),\n pendingProps.set(currentProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null };\n case \"link\":\n if (\n \"stylesheet\" === pendingProps.rel &&\n \"string\" === typeof pendingProps.href &&\n \"string\" === typeof pendingProps.precedence\n ) {\n type = getStyleKey(pendingProps.href);\n var styles$243 = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles,\n resource$244 = styles$243.get(type);\n resource$244 ||\n ((JSCompiler_inline_result =\n JSCompiler_inline_result.ownerDocument || JSCompiler_inline_result),\n (resource$244 = {\n type: \"stylesheet\",\n instance: null,\n count: 0,\n state: { loading: 0, preload: null }\n }),\n styles$243.set(type, resource$244),\n (styles$243 = JSCompiler_inline_result.querySelector(\n getStylesheetSelectorFromKey(type)\n )) &&\n !styles$243._p &&\n ((resource$244.instance = styles$243),\n (resource$244.state.loading = 5)),\n preloadPropsMap.has(type) ||\n ((pendingProps = {\n rel: \"preload\",\n as: \"style\",\n href: pendingProps.href,\n crossOrigin: pendingProps.crossOrigin,\n integrity: pendingProps.integrity,\n media: pendingProps.media,\n hrefLang: pendingProps.hrefLang,\n referrerPolicy: pendingProps.referrerPolicy\n }),\n preloadPropsMap.set(type, pendingProps),\n styles$243 ||\n preloadStylesheet(\n JSCompiler_inline_result,\n type,\n pendingProps,\n resource$244.state\n )));\n if (currentProps && null === currentResource)\n throw Error(formatProdErrorMessage(528, \"\"));\n return resource$244;\n }\n if (currentProps && null !== currentResource)\n throw Error(formatProdErrorMessage(529, \"\"));\n return null;\n case \"script\":\n return (\n (currentProps = pendingProps.async),\n (pendingProps = pendingProps.src),\n \"string\" === typeof pendingProps &&\n currentProps &&\n \"function\" !== typeof currentProps &&\n \"symbol\" !== typeof currentProps\n ? ((currentProps = getScriptKey(pendingProps)),\n (pendingProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableScripts),\n (currentResource = pendingProps.get(currentProps)),\n currentResource ||\n ((currentResource = {\n type: \"script\",\n instance: null,\n count: 0,\n state: null\n }),\n pendingProps.set(currentProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null }\n );\n default:\n throw Error(formatProdErrorMessage(444, type));\n }\n}\nfunction getStyleKey(href) {\n return 'href=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '\"';\n}\nfunction getStylesheetSelectorFromKey(key) {\n return 'link[rel=\"stylesheet\"][' + key + \"]\";\n}\nfunction stylesheetPropsFromRawProps(rawProps) {\n return assign({}, rawProps, {\n \"data-precedence\": rawProps.precedence,\n precedence: null\n });\n}\nfunction preloadStylesheet(ownerDocument, key, preloadProps, state) {\n ownerDocument.querySelector('link[rel=\"preload\"][as=\"style\"][' + key + \"]\")\n ? (state.loading = 1)\n : ((key = ownerDocument.createElement(\"link\")),\n (state.preload = key),\n key.addEventListener(\"load\", function () {\n return (state.loading |= 1);\n }),\n key.addEventListener(\"error\", function () {\n return (state.loading |= 2);\n }),\n setInitialProperties(key, \"link\", preloadProps),\n markNodeAsHoistable(key),\n ownerDocument.head.appendChild(key));\n}\nfunction getScriptKey(src) {\n return '[src=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '\"]';\n}\nfunction getScriptSelectorFromKey(key) {\n return \"script[async]\" + key;\n}\nfunction acquireResource(hoistableRoot, resource, props) {\n resource.count++;\n if (null === resource.instance)\n switch (resource.type) {\n case \"style\":\n var instance = hoistableRoot.querySelector(\n 'style[data-href~=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(props.href) +\n '\"]'\n );\n if (instance)\n return (\n (resource.instance = instance),\n markNodeAsHoistable(instance),\n instance\n );\n var styleProps = assign({}, props, {\n \"data-href\": props.href,\n \"data-precedence\": props.precedence,\n href: null,\n precedence: null\n });\n instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement(\n \"style\"\n );\n markNodeAsHoistable(instance);\n setInitialProperties(instance, \"style\", styleProps);\n insertStylesheet(instance, props.precedence, hoistableRoot);\n return (resource.instance = instance);\n case \"stylesheet\":\n styleProps = getStyleKey(props.href);\n var instance$249 = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(styleProps)\n );\n if (instance$249)\n return (\n (resource.state.loading |= 4),\n (resource.instance = instance$249),\n markNodeAsHoistable(instance$249),\n instance$249\n );\n instance = stylesheetPropsFromRawProps(props);\n (styleProps = preloadPropsMap.get(styleProps)) &&\n adoptPreloadPropsForStylesheet(instance, styleProps);\n instance$249 = (\n hoistableRoot.ownerDocument || hoistableRoot\n ).createElement(\"link\");\n markNodeAsHoistable(instance$249);\n var linkInstance = instance$249;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance$249, \"link\", instance);\n resource.state.loading |= 4;\n insertStylesheet(instance$249, props.precedence, hoistableRoot);\n return (resource.instance = instance$249);\n case \"script\":\n instance$249 = getScriptKey(props.src);\n if (\n (styleProps = hoistableRoot.querySelector(\n getScriptSelectorFromKey(instance$249)\n ))\n )\n return (\n (resource.instance = styleProps),\n markNodeAsHoistable(styleProps),\n styleProps\n );\n instance = props;\n if ((styleProps = preloadPropsMap.get(instance$249)))\n (instance = assign({}, props)),\n adoptPreloadPropsForScript(instance, styleProps);\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n styleProps = hoistableRoot.createElement(\"script\");\n markNodeAsHoistable(styleProps);\n setInitialProperties(styleProps, \"link\", instance);\n hoistableRoot.head.appendChild(styleProps);\n return (resource.instance = styleProps);\n case \"void\":\n return null;\n default:\n throw Error(formatProdErrorMessage(443, resource.type));\n }\n else\n \"stylesheet\" === resource.type &&\n 0 === (resource.state.loading & 4) &&\n ((instance = resource.instance),\n (resource.state.loading |= 4),\n insertStylesheet(instance, props.precedence, hoistableRoot));\n return resource.instance;\n}\nfunction insertStylesheet(instance, precedence, root) {\n for (\n var nodes = root.querySelectorAll(\n 'link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'\n ),\n last = nodes.length ? nodes[nodes.length - 1] : null,\n prior = last,\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (node.dataset.precedence === precedence) prior = node;\n else if (prior !== last) break;\n }\n prior\n ? prior.parentNode.insertBefore(instance, prior.nextSibling)\n : ((precedence = 9 === root.nodeType ? root.head : root),\n precedence.insertBefore(instance, precedence.firstChild));\n}\nfunction adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {\n null == stylesheetProps.crossOrigin &&\n (stylesheetProps.crossOrigin = preloadProps.crossOrigin);\n null == stylesheetProps.referrerPolicy &&\n (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);\n null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);\n}\nfunction adoptPreloadPropsForScript(scriptProps, preloadProps) {\n null == scriptProps.crossOrigin &&\n (scriptProps.crossOrigin = preloadProps.crossOrigin);\n null == scriptProps.referrerPolicy &&\n (scriptProps.referrerPolicy = preloadProps.referrerPolicy);\n null == scriptProps.integrity &&\n (scriptProps.integrity = preloadProps.integrity);\n}\nvar tagCaches = null;\nfunction getHydratableHoistableCache(type, keyAttribute, ownerDocument) {\n if (null === tagCaches) {\n var cache = new Map();\n var caches = (tagCaches = new Map());\n caches.set(ownerDocument, cache);\n } else\n (caches = tagCaches),\n (cache = caches.get(ownerDocument)),\n cache || ((cache = new Map()), caches.set(ownerDocument, cache));\n if (cache.has(type)) return cache;\n cache.set(type, null);\n ownerDocument = ownerDocument.getElementsByTagName(type);\n for (caches = 0; caches < ownerDocument.length; caches++) {\n var node = ownerDocument[caches];\n if (\n !(\n node[internalHoistableMarker] ||\n node[internalInstanceKey] ||\n (\"link\" === type && \"stylesheet\" === node.getAttribute(\"rel\"))\n ) &&\n \"http://www.w3.org/2000/svg\" !== node.namespaceURI\n ) {\n var nodeKey = node.getAttribute(keyAttribute) || \"\";\n nodeKey = type + nodeKey;\n var existing = cache.get(nodeKey);\n existing ? existing.push(node) : cache.set(nodeKey, [node]);\n }\n }\n return cache;\n}\nfunction mountHoistable(hoistableRoot, type, instance) {\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n hoistableRoot.head.insertBefore(\n instance,\n \"title\" === type ? hoistableRoot.querySelector(\"head > title\") : null\n );\n}\nfunction isHostHoistableType(type, props, hostContext) {\n if (1 === hostContext || null != props.itemProp) return !1;\n switch (type) {\n case \"meta\":\n case \"title\":\n return !0;\n case \"style\":\n if (\n \"string\" !== typeof props.precedence ||\n \"string\" !== typeof props.href ||\n \"\" === props.href\n )\n break;\n return !0;\n case \"link\":\n if (\n \"string\" !== typeof props.rel ||\n \"string\" !== typeof props.href ||\n \"\" === props.href ||\n props.onLoad ||\n props.onError\n )\n break;\n switch (props.rel) {\n case \"stylesheet\":\n return (\n (type = props.disabled),\n \"string\" === typeof props.precedence && null == type\n );\n default:\n return !0;\n }\n case \"script\":\n if (\n props.async &&\n \"function\" !== typeof props.async &&\n \"symbol\" !== typeof props.async &&\n !props.onLoad &&\n !props.onError &&\n props.src &&\n \"string\" === typeof props.src\n )\n return !0;\n }\n return !1;\n}\nfunction preloadResource(resource) {\n return \"stylesheet\" === resource.type && 0 === (resource.state.loading & 3)\n ? !1\n : !0;\n}\nfunction suspendResource(state, hoistableRoot, resource, props) {\n if (\n \"stylesheet\" === resource.type &&\n (\"string\" !== typeof props.media ||\n !1 !== matchMedia(props.media).matches) &&\n 0 === (resource.state.loading & 4)\n ) {\n if (null === resource.instance) {\n var key = getStyleKey(props.href),\n instance = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(key)\n );\n if (instance) {\n hoistableRoot = instance._p;\n null !== hoistableRoot &&\n \"object\" === typeof hoistableRoot &&\n \"function\" === typeof hoistableRoot.then &&\n (state.count++,\n (state = onUnsuspend.bind(state)),\n hoistableRoot.then(state, state));\n resource.state.loading |= 4;\n resource.instance = instance;\n markNodeAsHoistable(instance);\n return;\n }\n instance = hoistableRoot.ownerDocument || hoistableRoot;\n props = stylesheetPropsFromRawProps(props);\n (key = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(props, key);\n instance = instance.createElement(\"link\");\n markNodeAsHoistable(instance);\n var linkInstance = instance;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance, \"link\", props);\n resource.instance = instance;\n }\n null === state.stylesheets && (state.stylesheets = new Map());\n state.stylesheets.set(resource, hoistableRoot);\n (hoistableRoot = resource.state.preload) &&\n 0 === (resource.state.loading & 3) &&\n (state.count++,\n (resource = onUnsuspend.bind(state)),\n hoistableRoot.addEventListener(\"load\", resource),\n hoistableRoot.addEventListener(\"error\", resource));\n }\n}\nvar estimatedBytesWithinLimit = 0;\nfunction waitForCommitToBeReady(state, timeoutOffset) {\n state.stylesheets &&\n 0 === state.count &&\n insertSuspendedStylesheets(state, state.stylesheets);\n return 0 < state.count || 0 < state.imgCount\n ? function (commit) {\n var stylesheetTimer = setTimeout(function () {\n state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets);\n if (state.unsuspend) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n }, 6e4 + timeoutOffset);\n 0 < state.imgBytes &&\n 0 === estimatedBytesWithinLimit &&\n (estimatedBytesWithinLimit = 62500 * estimateBandwidth());\n var imgTimer = setTimeout(\n function () {\n state.waitingForImages = !1;\n if (\n 0 === state.count &&\n (state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets),\n state.unsuspend)\n ) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n },\n (state.imgBytes > estimatedBytesWithinLimit ? 50 : 800) +\n timeoutOffset\n );\n state.unsuspend = commit;\n return function () {\n state.unsuspend = null;\n clearTimeout(stylesheetTimer);\n clearTimeout(imgTimer);\n };\n }\n : null;\n}\nfunction onUnsuspend() {\n this.count--;\n if (0 === this.count && (0 === this.imgCount || !this.waitingForImages))\n if (this.stylesheets) insertSuspendedStylesheets(this, this.stylesheets);\n else if (this.unsuspend) {\n var unsuspend = this.unsuspend;\n this.unsuspend = null;\n unsuspend();\n }\n}\nvar precedencesByRoot = null;\nfunction insertSuspendedStylesheets(state, resources) {\n state.stylesheets = null;\n null !== state.unsuspend &&\n (state.count++,\n (precedencesByRoot = new Map()),\n resources.forEach(insertStylesheetIntoRoot, state),\n (precedencesByRoot = null),\n onUnsuspend.call(state));\n}\nfunction insertStylesheetIntoRoot(root, resource) {\n if (!(resource.state.loading & 4)) {\n var precedences = precedencesByRoot.get(root);\n if (precedences) var last = precedences.get(null);\n else {\n precedences = new Map();\n precedencesByRoot.set(root, precedences);\n for (\n var nodes = root.querySelectorAll(\n \"link[data-precedence],style[data-precedence]\"\n ),\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (\n \"LINK\" === node.nodeName ||\n \"not all\" !== node.getAttribute(\"media\")\n )\n precedences.set(node.dataset.precedence, node), (last = node);\n }\n last && precedences.set(null, last);\n }\n nodes = resource.instance;\n node = nodes.getAttribute(\"data-precedence\");\n i = precedences.get(node) || last;\n i === last && precedences.set(null, nodes);\n precedences.set(node, nodes);\n this.count++;\n last = onUnsuspend.bind(this);\n nodes.addEventListener(\"load\", last);\n nodes.addEventListener(\"error\", last);\n i\n ? i.parentNode.insertBefore(nodes, i.nextSibling)\n : ((root = 9 === root.nodeType ? root.head : root),\n root.insertBefore(nodes, root.firstChild));\n resource.state.loading |= 4;\n }\n}\nvar HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Provider: null,\n Consumer: null,\n _currentValue: sharedNotPendingObject,\n _currentValue2: sharedNotPendingObject,\n _threadCount: 0\n};\nfunction FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator,\n formState\n) {\n this.tag = 1;\n this.containerInfo = containerInfo;\n this.pingCache = this.current = this.pendingChildren = null;\n this.timeoutHandle = -1;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n}\nfunction createFiberRoot(\n containerInfo,\n tag,\n hydrate,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n formState,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator\n) {\n containerInfo = new FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator,\n formState\n );\n tag = 1;\n !0 === isStrictMode && (tag |= 24);\n isStrictMode = createFiberImplClass(3, null, null, tag);\n containerInfo.current = isStrictMode;\n isStrictMode.stateNode = containerInfo;\n tag = createCache();\n tag.refCount++;\n containerInfo.pooledCache = tag;\n tag.refCount++;\n isStrictMode.memoizedState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: tag\n };\n initializeUpdateQueue(isStrictMode);\n return containerInfo;\n}\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) return emptyContextObject;\n parentComponent = emptyContextObject;\n return parentComponent;\n}\nfunction updateContainerImpl(\n rootFiber,\n lane,\n element,\n container,\n parentComponent,\n callback\n) {\n parentComponent = getContextForSubtree(parentComponent);\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(rootFiber, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, rootFiber, lane),\n entangleTransitions(element, rootFiber, lane));\n}\nfunction markRetryLaneImpl(fiber, retryLane) {\n fiber = fiber.memoizedState;\n if (null !== fiber && null !== fiber.dehydrated) {\n var a = fiber.retryLane;\n fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;\n }\n}\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);\n}\nfunction attemptContinuousHydration(fiber) {\n if (13 === fiber.tag || 31 === fiber.tag) {\n var root = enqueueConcurrentRenderForLane(fiber, 67108864);\n null !== root && scheduleUpdateOnFiber(root, fiber, 67108864);\n markRetryLaneIfNotHydrated(fiber, 67108864);\n }\n}\nfunction attemptHydrationAtCurrentPriority(fiber) {\n if (13 === fiber.tag || 31 === fiber.tag) {\n var lane = requestUpdateLane();\n lane = getBumpedLaneForHydrationByLane(lane);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n null !== root && scheduleUpdateOnFiber(root, fiber, lane);\n markRetryLaneIfNotHydrated(fiber, lane);\n }\n}\nvar _enabled = !0;\nfunction dispatchDiscreteEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 2),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchContinuousEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 8),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchEvent(\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (_enabled) {\n var blockedOn = findInstanceBlockingEvent(nativeEvent);\n if (null === blockedOn)\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n ),\n clearIfContinuousEvent(domEventName, nativeEvent);\n else if (\n queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n )\n nativeEvent.stopPropagation();\n else if (\n (clearIfContinuousEvent(domEventName, nativeEvent),\n eventSystemFlags & 4 &&\n -1 < discreteReplayableEvents.indexOf(domEventName))\n ) {\n for (; null !== blockedOn; ) {\n var fiber = getInstanceFromNode(blockedOn);\n if (null !== fiber)\n switch (fiber.tag) {\n case 3:\n fiber = fiber.stateNode;\n if (fiber.current.memoizedState.isDehydrated) {\n var lanes = getHighestPriorityLanes(fiber.pendingLanes);\n if (0 !== lanes) {\n var root = fiber;\n root.pendingLanes |= 2;\n for (root.entangledLanes |= 2; lanes; ) {\n var lane = 1 << (31 - clz32(lanes));\n root.entanglements[1] |= lane;\n lanes &= ~lane;\n }\n ensureRootIsScheduled(fiber);\n 0 === (executionContext & 6) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !1));\n }\n }\n break;\n case 31:\n case 13:\n (root = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== root && scheduleUpdateOnFiber(root, fiber, 2),\n flushSyncWork$1(),\n markRetryLaneIfNotHydrated(fiber, 2);\n }\n fiber = findInstanceBlockingEvent(nativeEvent);\n null === fiber &&\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n );\n if (fiber === blockedOn) break;\n blockedOn = fiber;\n }\n null !== blockedOn && nativeEvent.stopPropagation();\n } else\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n null,\n targetContainer\n );\n }\n}\nfunction findInstanceBlockingEvent(nativeEvent) {\n nativeEvent = getEventTarget(nativeEvent);\n return findInstanceBlockingTarget(nativeEvent);\n}\nvar return_targetInst = null;\nfunction findInstanceBlockingTarget(targetNode) {\n return_targetInst = null;\n targetNode = getClosestInstanceFromNode(targetNode);\n if (null !== targetNode) {\n var nearestMounted = getNearestMountedFiber(targetNode);\n if (null === nearestMounted) targetNode = null;\n else {\n var tag = nearestMounted.tag;\n if (13 === tag) {\n targetNode = getSuspenseInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (31 === tag) {\n targetNode = getActivityInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (3 === tag) {\n if (nearestMounted.stateNode.current.memoizedState.isDehydrated)\n return 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n targetNode = null;\n } else nearestMounted !== targetNode && (targetNode = null);\n }\n }\n return_targetInst = targetNode;\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n case \"beforetoggle\":\n case \"cancel\":\n case \"click\":\n case \"close\":\n case \"contextmenu\":\n case \"copy\":\n case \"cut\":\n case \"auxclick\":\n case \"dblclick\":\n case \"dragend\":\n case \"dragstart\":\n case \"drop\":\n case \"focusin\":\n case \"focusout\":\n case \"input\":\n case \"invalid\":\n case \"keydown\":\n case \"keypress\":\n case \"keyup\":\n case \"mousedown\":\n case \"mouseup\":\n case \"paste\":\n case \"pause\":\n case \"play\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointerup\":\n case \"ratechange\":\n case \"reset\":\n case \"resize\":\n case \"seeked\":\n case \"submit\":\n case \"toggle\":\n case \"touchcancel\":\n case \"touchend\":\n case \"touchstart\":\n case \"volumechange\":\n case \"change\":\n case \"selectionchange\":\n case \"textInput\":\n case \"compositionstart\":\n case \"compositionend\":\n case \"compositionupdate\":\n case \"beforeblur\":\n case \"afterblur\":\n case \"beforeinput\":\n case \"blur\":\n case \"fullscreenchange\":\n case \"focus\":\n case \"hashchange\":\n case \"popstate\":\n case \"select\":\n case \"selectstart\":\n return 2;\n case \"drag\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"mousemove\":\n case \"mouseout\":\n case \"mouseover\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"scroll\":\n case \"touchmove\":\n case \"wheel\":\n case \"mouseenter\":\n case \"mouseleave\":\n case \"pointerenter\":\n case \"pointerleave\":\n return 8;\n case \"message\":\n switch (getCurrentPriorityLevel()) {\n case ImmediatePriority:\n return 2;\n case UserBlockingPriority:\n return 8;\n case NormalPriority$1:\n case LowPriority:\n return 32;\n case IdlePriority:\n return 268435456;\n default:\n return 32;\n }\n default:\n return 32;\n }\n}\nvar hasScheduledReplayAttempt = !1,\n queuedFocus = null,\n queuedDrag = null,\n queuedMouse = null,\n queuedPointers = new Map(),\n queuedPointerCaptures = new Map(),\n queuedExplicitHydrationTargets = [],\n discreteReplayableEvents =\n \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\".split(\n \" \"\n );\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"focusin\":\n case \"focusout\":\n queuedFocus = null;\n break;\n case \"dragenter\":\n case \"dragleave\":\n queuedDrag = null;\n break;\n case \"mouseover\":\n case \"mouseout\":\n queuedMouse = null;\n break;\n case \"pointerover\":\n case \"pointerout\":\n queuedPointers.delete(nativeEvent.pointerId);\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n queuedPointerCaptures.delete(nativeEvent.pointerId);\n }\n}\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(\n existingQueuedEvent,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (\n null === existingQueuedEvent ||\n existingQueuedEvent.nativeEvent !== nativeEvent\n )\n return (\n (existingQueuedEvent = {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n }),\n null !== blockedOn &&\n ((blockedOn = getInstanceFromNode(blockedOn)),\n null !== blockedOn && attemptContinuousHydration(blockedOn)),\n existingQueuedEvent\n );\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n blockedOn = existingQueuedEvent.targetContainers;\n null !== targetContainer &&\n -1 === blockedOn.indexOf(targetContainer) &&\n blockedOn.push(targetContainer);\n return existingQueuedEvent;\n}\nfunction queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n switch (domEventName) {\n case \"focusin\":\n return (\n (queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedFocus,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"dragenter\":\n return (\n (queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedDrag,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"mouseover\":\n return (\n (queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedMouse,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"pointerover\":\n var pointerId = nativeEvent.pointerId;\n queuedPointers.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointers.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n );\n return !0;\n case \"gotpointercapture\":\n return (\n (pointerId = nativeEvent.pointerId),\n queuedPointerCaptures.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointerCaptures.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n ),\n !0\n );\n }\n return !1;\n}\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n if (null !== targetInst) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n if (null !== nearestMounted)\n if (((targetInst = nearestMounted.tag), 13 === targetInst)) {\n if (\n ((targetInst = getSuspenseInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (31 === targetInst) {\n if (\n ((targetInst = getActivityInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (\n 3 === targetInst &&\n nearestMounted.stateNode.current.memoizedState.isDehydrated\n ) {\n queuedTarget.blockedOn =\n 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n return;\n }\n }\n queuedTarget.blockedOn = null;\n}\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (null !== queuedEvent.blockedOn) return !1;\n for (\n var targetContainers = queuedEvent.targetContainers;\n 0 < targetContainers.length;\n\n ) {\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);\n if (null === nextBlockedOn) {\n nextBlockedOn = queuedEvent.nativeEvent;\n var nativeEventClone = new nextBlockedOn.constructor(\n nextBlockedOn.type,\n nextBlockedOn\n );\n currentReplayingEvent = nativeEventClone;\n nextBlockedOn.target.dispatchEvent(nativeEventClone);\n currentReplayingEvent = null;\n } else\n return (\n (targetContainers = getInstanceFromNode(nextBlockedOn)),\n null !== targetContainers &&\n attemptContinuousHydration(targetContainers),\n (queuedEvent.blockedOn = nextBlockedOn),\n !1\n );\n targetContainers.shift();\n }\n return !0;\n}\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);\n}\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = !1;\n null !== queuedFocus &&\n attemptReplayContinuousQueuedEvent(queuedFocus) &&\n (queuedFocus = null);\n null !== queuedDrag &&\n attemptReplayContinuousQueuedEvent(queuedDrag) &&\n (queuedDrag = null);\n null !== queuedMouse &&\n attemptReplayContinuousQueuedEvent(queuedMouse) &&\n (queuedMouse = null);\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n queuedEvent.blockedOn === unblocked &&\n ((queuedEvent.blockedOn = null),\n hasScheduledReplayAttempt ||\n ((hasScheduledReplayAttempt = !0),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n replayUnblockedEvents\n )));\n}\nvar lastScheduledReplayQueue = null;\nfunction scheduleReplayQueueIfNeeded(formReplayingQueue) {\n lastScheduledReplayQueue !== formReplayingQueue &&\n ((lastScheduledReplayQueue = formReplayingQueue),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n function () {\n lastScheduledReplayQueue === formReplayingQueue &&\n (lastScheduledReplayQueue = null);\n for (var i = 0; i < formReplayingQueue.length; i += 3) {\n var form = formReplayingQueue[i],\n submitterOrAction = formReplayingQueue[i + 1],\n formData = formReplayingQueue[i + 2];\n if (\"function\" !== typeof submitterOrAction)\n if (null === findInstanceBlockingTarget(submitterOrAction || form))\n continue;\n else break;\n var formInst = getInstanceFromNode(form);\n null !== formInst &&\n (formReplayingQueue.splice(i, 3),\n (i -= 3),\n startHostTransition(\n formInst,\n {\n pending: !0,\n data: formData,\n method: form.method,\n action: submitterOrAction\n },\n submitterOrAction,\n formData\n ));\n }\n }\n ));\n}\nfunction retryIfBlockedOn(unblocked) {\n function unblock(queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n }\n null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {\n var queuedTarget = queuedExplicitHydrationTargets[i];\n queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);\n }\n for (\n ;\n 0 < queuedExplicitHydrationTargets.length &&\n ((i = queuedExplicitHydrationTargets[0]), null === i.blockedOn);\n\n )\n attemptExplicitHydrationTarget(i),\n null === i.blockedOn && queuedExplicitHydrationTargets.shift();\n i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;\n if (null != i)\n for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {\n var form = i[queuedTarget],\n submitterOrAction = i[queuedTarget + 1],\n formProps = form[internalPropsKey] || null;\n if (\"function\" === typeof submitterOrAction)\n formProps || scheduleReplayQueueIfNeeded(i);\n else if (formProps) {\n var action = null;\n if (submitterOrAction && submitterOrAction.hasAttribute(\"formAction\"))\n if (\n ((form = submitterOrAction),\n (formProps = submitterOrAction[internalPropsKey] || null))\n )\n action = formProps.formAction;\n else {\n if (null !== findInstanceBlockingTarget(form)) continue;\n }\n else action = formProps.action;\n \"function\" === typeof action\n ? (i[queuedTarget + 1] = action)\n : (i.splice(queuedTarget, 3), (queuedTarget -= 3));\n scheduleReplayQueueIfNeeded(i);\n }\n }\n}\nfunction defaultOnDefaultTransitionIndicator() {\n function handleNavigate(event) {\n event.canIntercept &&\n \"react-transition\" === event.info &&\n event.intercept({\n handler: function () {\n return new Promise(function (resolve) {\n return (pendingResolve = resolve);\n });\n },\n focusReset: \"manual\",\n scroll: \"manual\"\n });\n }\n function handleNavigateComplete() {\n null !== pendingResolve && (pendingResolve(), (pendingResolve = null));\n isCancelled || setTimeout(startFakeNavigation, 20);\n }\n function startFakeNavigation() {\n if (!isCancelled && !navigation.transition) {\n var currentEntry = navigation.currentEntry;\n currentEntry &&\n null != currentEntry.url &&\n navigation.navigate(currentEntry.url, {\n state: currentEntry.getState(),\n info: \"react-transition\",\n history: \"replace\"\n });\n }\n }\n if (\"object\" === typeof navigation) {\n var isCancelled = !1,\n pendingResolve = null;\n navigation.addEventListener(\"navigate\", handleNavigate);\n navigation.addEventListener(\"navigatesuccess\", handleNavigateComplete);\n navigation.addEventListener(\"navigateerror\", handleNavigateComplete);\n setTimeout(startFakeNavigation, 100);\n return function () {\n isCancelled = !0;\n navigation.removeEventListener(\"navigate\", handleNavigate);\n navigation.removeEventListener(\"navigatesuccess\", handleNavigateComplete);\n navigation.removeEventListener(\"navigateerror\", handleNavigateComplete);\n null !== pendingResolve && (pendingResolve(), (pendingResolve = null));\n };\n }\n}\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render =\n function (children) {\n var root = this._internalRoot;\n if (null === root) throw Error(formatProdErrorMessage(409));\n var current = root.current,\n lane = requestUpdateLane();\n updateContainerImpl(current, lane, children, root, null, null);\n };\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount =\n function () {\n var root = this._internalRoot;\n if (null !== root) {\n this._internalRoot = null;\n var container = root.containerInfo;\n updateContainerImpl(root.current, 2, null, root, null, null);\n flushSyncWork$1();\n container[internalContainerInstanceKey] = null;\n }\n };\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {\n if (target) {\n var updatePriority = resolveUpdatePriority();\n target = { blockedOn: null, target: target, priority: updatePriority };\n for (\n var i = 0;\n i < queuedExplicitHydrationTargets.length &&\n 0 !== updatePriority &&\n updatePriority < queuedExplicitHydrationTargets[i].priority;\n i++\n );\n queuedExplicitHydrationTargets.splice(i, 0, target);\n 0 === i && attemptExplicitHydrationTarget(target);\n }\n};\nvar isomorphicReactPackageVersion$jscomp$inline_1840 = React.version;\nif (\n \"19.2.6\" !==\n isomorphicReactPackageVersion$jscomp$inline_1840\n)\n throw Error(\n formatProdErrorMessage(\n 527,\n isomorphicReactPackageVersion$jscomp$inline_1840,\n \"19.2.6\"\n )\n );\nReactDOMSharedInternals.findDOMNode = function (componentOrElement) {\n var fiber = componentOrElement._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof componentOrElement.render)\n throw Error(formatProdErrorMessage(188));\n componentOrElement = Object.keys(componentOrElement).join(\",\");\n throw Error(formatProdErrorMessage(268, componentOrElement));\n }\n componentOrElement = findCurrentFiberUsingSlowPath(fiber);\n componentOrElement =\n null !== componentOrElement\n ? findCurrentHostFiberImpl(componentOrElement)\n : null;\n componentOrElement =\n null === componentOrElement ? null : componentOrElement.stateNode;\n return componentOrElement;\n};\nvar internals$jscomp$inline_2347 = {\n bundleType: 0,\n version: \"19.2.6\",\n rendererPackageName: \"react-dom\",\n currentDispatcherRef: ReactSharedInternals,\n reconcilerVersion: \"19.2.6\"\n};\nif (\"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {\n var hook$jscomp$inline_2348 = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (\n !hook$jscomp$inline_2348.isDisabled &&\n hook$jscomp$inline_2348.supportsFiber\n )\n try {\n (rendererID = hook$jscomp$inline_2348.inject(\n internals$jscomp$inline_2347\n )),\n (injectedHook = hook$jscomp$inline_2348);\n } catch (err) {}\n}\nexports.createRoot = function (container, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError));\n options = createFiberRoot(\n container,\n 1,\n !1,\n null,\n null,\n isStrictMode,\n identifierPrefix,\n null,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n defaultOnDefaultTransitionIndicator\n );\n container[internalContainerInstanceKey] = options.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMRoot(options);\n};\nexports.hydrateRoot = function (container, initialChildren, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError,\n formState = null;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError),\n void 0 !== options.formState && (formState = options.formState));\n initialChildren = createFiberRoot(\n container,\n 1,\n !0,\n initialChildren,\n null != options ? options : null,\n isStrictMode,\n identifierPrefix,\n formState,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n defaultOnDefaultTransitionIndicator\n );\n initialChildren.context = getContextForSubtree(null);\n options = initialChildren.current;\n isStrictMode = requestUpdateLane();\n isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);\n identifierPrefix = createUpdate(isStrictMode);\n identifierPrefix.callback = null;\n enqueueUpdate(options, identifierPrefix, isStrictMode);\n options = isStrictMode;\n initialChildren.current.lanes = options;\n markRootUpdated$1(initialChildren, options);\n ensureRootIsScheduled(initialChildren);\n container[internalContainerInstanceKey] = initialChildren.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMHydrationRoot(initialChildren);\n};\nexports.version = \"19.2.6\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom-client.production.js');\n} else {\n module.exports = require('./cjs/react-dom-client.development.js');\n}\n","","export const LicenceType = {\n FREEWARE: 0,\n TRIAL: 1,\n PROFESSIONAL: 2,\n};\nexport const LicenceStatus = {\n AUTHORIZED: 24,\n FAILED: 23,\n EXPIRED: 22,\n};\n// Helper functions for reverse lookup (equivalent to enum[value])\nexport function getLicenceTypeName(value) {\n const entry = Object.entries(LicenceType).find(([_, v]) => v === value);\n return entry ? entry[0] : \"FREEWARE\";\n}\nexport function getLicenceStatusName(value) {\n const entry = Object.entries(LicenceStatus).find(([_, v]) => v === value);\n return entry ? entry[0] : \"FAILED\";\n}\n/**\n * Extract a display name from an email address.\n * Splits the local part on `.`, `-`, `_` and capitalises each word.\n * e.g. \"john.doe@acme.com\" → \"John Doe\"\n */\nexport function extractNameFromEmail(email) {\n const local = email.split(\"@\")[0] ?? email;\n return local\n .split(/[.\\-_]/)\n .filter((w) => w.length > 0)\n .map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())\n .join(\" \");\n}\n//# sourceMappingURL=common.js.map","import { LicenceStatus, LicenceType } from \"./common.js\";\nconst millisecondsPerHour = 3600 * 1000;\nconst millisecondsPerDay = millisecondsPerHour * 24;\nexport function getDaysLeft(licence) {\n if (!licence.licenceInfo.expiryDate)\n return 0;\n const expiryDate = new Date(licence.licenceInfo.expiryDate);\n const timeLeft = expiryDate.getTime() - Date.now();\n if (timeLeft < 0)\n return 0;\n const daysLeft = Math.floor(timeLeft / millisecondsPerDay);\n return daysLeft;\n}\nexport function getHoursLeft(licence) {\n if (!licence.licenceInfo.expiryDate)\n return 0;\n const expiryDate = new Date(licence.licenceInfo.expiryDate);\n const timeLeft = expiryDate.getTime() - Date.now();\n if (timeLeft < 0)\n return 0;\n const hoursLeft = Math.floor(timeLeft / millisecondsPerHour);\n return hoursLeft;\n}\nexport function getEffectiveLicenceType(licenceType, licenceStatus) {\n if (licenceStatus !== LicenceStatus.AUTHORIZED) {\n return LicenceType.FREEWARE;\n }\n return licenceType;\n}\nfunction _aa(licence) {\n return !licence\n ? new Date(0)\n : licence instanceof Date\n ? licence\n : new Date(licence.licenceInfo ? licence.licenceInfo.expiryDate : 0);\n}\nexport function getDaysLeft2(licence) {\n const expiryDate = _aa(licence);\n const now = new Date();\n const daysLeft = Math.floor((expiryDate.getTime() - now.getTime()) / millisecondsPerDay);\n return daysLeft;\n}\nexport function getHoursLeft2(licence) {\n const expiryDate = _aa(licence);\n const now = new Date();\n const hoursLeft = Math.floor((expiryDate.getTime() - now.getTime()) / millisecondsPerHour);\n return hoursLeft;\n}\n//# sourceMappingURL=date.js.map","export function makePath(part1: string, part2: string): string {\n if (part1.startsWith(\"/\")) {\n part1 = part1.slice(1);\n }\n if (part1.endsWith(\"/\")) {\n part1 = part1.slice(0, -1);\n }\n if (part2.startsWith(\"/\")) {\n part2 = part2.slice(1);\n }\n if (!part1) {\n return `/${part2}`;\n }\n return `/${part1}/${part2}`;\n}\n","import { type ILicenceInfo, makePath } from \"./licence_stuff\";\n\nexport type { ILicenceInfo } from \"opcua-for-nodered-tools\";\n\ninterface NodeREDBrowser {\n settings: Record<string, unknown>;\n version(): string;\n nodes: unknown[];\n // Add other RED properties you use\n}\n\ndeclare const RED: NodeREDBrowser;\n\n// The Vite-built bundle is always loaded from\n// `<baseApiUrl>/config/assets/index-<hash>.js`. We derive the API base\n// from the script's own URL so it doesn't depend on the URL bar (which\n// can omit the trailing slash, carry a hash like #support, or carry a\n// query string like ?test=PRO — all of which used to break the API\n// path the page issued requests against).\nexport function getApiBaseFromScriptUrl(scriptUrl: string): string {\n const u = new URL(scriptUrl, \"http://placeholder.invalid\");\n const stripped = u.pathname.replace(/\\/config\\/assets\\/[^/]+$/, \"\");\n if (stripped === u.pathname) {\n // No `/config/assets/<file>` suffix — vite dev server (`/src/main.tsx`)\n // or some unexpected layout. Fall back to root so dev mode keeps\n // working against a Node-RED at the same origin.\n return \"/\";\n }\n return stripped || \"/\";\n}\n\nfunction getApiBase(): string {\n const scriptUrl =\n (typeof import.meta !== \"undefined\" && import.meta.url) ||\n (document.currentScript as HTMLScriptElement | null)?.src ||\n window.location.href;\n return getApiBaseFromScriptUrl(scriptUrl);\n}\n\nexport function makeApiUrl(apiPath: string): string {\n if (!apiPath.startsWith(\"/\")) {\n apiPath = `/${apiPath}`;\n }\n return makePath(getApiBase(), apiPath);\n}\n\nexport interface IActivateOptions {\n username: string;\n email: string;\n licence: string;\n}\n\nconst days = 24 * 60 * 60 * 1000;\nconst daysLeft = 3;\n\nexport const fakeLicenceAuthorizedTrial: ILicenceInfo = {\n status: \"AUTHORIZED\",\n type: \"TRIAL\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n expiryDate: new Date(Date.now() + daysLeft * days).toISOString(),\n licenceType: \"node-locked\",\n onPremiseServerHost: \"\",\n licenceId: \"123456TRIAL\",\n },\n};\nexport const fakeLicenceExpiredTrial: ILicenceInfo = {\n status: \"EXPIRED\",\n type: \"TRIAL\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n expiryDate: new Date(Date.now() - daysLeft * days).toISOString(),\n expired: true,\n licenceType: \"node-locked\",\n onPremiseServerHost: \"\",\n licenceId: \"123456TRIAL-EXPIRED\",\n },\n};\n\nconst fakeLicenceFreeware: ILicenceInfo = {\n status: \"AUTHORIZED\",\n type: \"FREEWARE\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n expiryDate: \"\",\n licenceType: \"node-locked\",\n onPremiseServerHost: \"\",\n licenceId: \"\",\n },\n};\n\nconst fakeLicenceProValid: ILicenceInfo = {\n status: \"AUTHORIZED\",\n type: \"PROFESSIONAL\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n expiryDate: new Date(Date.now() + daysLeft * days).toISOString(),\n licenceType: \"node-locked\",\n onPremiseServerHost: \"\",\n licenceId: \"123456PRO\",\n },\n};\nconst fakeLicenceProPermanentValid: ILicenceInfo = {\n status: \"AUTHORIZED\",\n type: \"PROFESSIONAL\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n expired: \"permanent\",\n expiryDate: new Date(Date.now() + daysLeft * days).toISOString(),\n licenceType: \"node-locked\",\n onPremiseServerHost: \"\",\n licenceId: \"123456PRO\",\n },\n};\n\nconst fakeLicenceProDegraded: ILicenceInfo = {\n status: \"AUTHORIZED\",\n type: \"PROFESSIONAL\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n statusText: \"Licensed (degraded — offline)\",\n expiryDate: new Date(Date.now() + daysLeft * days).toISOString(),\n licenceType: \"hosted-floating\",\n onPremiseServerHost: \"\",\n licenceId: \"123456PRO-DEGRADED\",\n } as any,\n};\n\nconst fakeLicenceProExpired: ILicenceInfo = {\n status: \"EXPIRED\",\n type: \"PROFESSIONAL\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n expiryDate: new Date(Date.now() - daysLeft * days).toISOString(),\n licenceType: \"node-locked\",\n onPremiseServerHost: \"\",\n licenceId: \"123456\",\n },\n};\n\nexport const fakeLicenceFloatingOnPremise: ILicenceInfo = {\n status: \"AUTHORIZED\",\n type: \"PROFESSIONAL\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n expiryDate: new Date(Date.now() + daysLeft * days).toISOString(),\n licenceType: \"OnPremise-Floating\",\n onPremiseServerHost: \"https://localhost:8080\",\n licenceId: \"\",\n },\n};\n\nconst fakeLicenceFloatingOnPremiseFailed: ILicenceInfo = {\n status: \"FAILED\",\n type: \"PROFESSIONAL\",\n message: \"Failed to connect to licence server\",\n productName: \"OPC UA for Node-RED\",\n productVersion: \"3.84.0\",\n licenceInfo: {\n expiryDate: new Date(Date.now() - daysLeft * days).toISOString(),\n licenceType: \"OnPremise-Floating\",\n onPremiseServerHost: \"https://localhost:8080\",\n licenceId: \"\",\n },\n};\nexport const config = {\n mode: \"\",\n currentLicence: fakeLicenceProExpired,\n key: \"123456\",\n request: \"ABCDEFG\",\n activationKey: \"HIJKLM\",\n};\nexport function setTestMode(t: string) {\n config.mode = \"DEBUG\";\n t = t.replace(/_/m, \"-\");\n switch (t) {\n case \"PRO\":\n config.currentLicence = fakeLicenceProValid;\n break;\n case \"TRIAL\":\n config.currentLicence = fakeLicenceAuthorizedTrial;\n break;\n case \"TRIAL-EXPIRED\":\n config.currentLicence = fakeLicenceExpiredTrial;\n break;\n case \"PRO-EXPIRED\":\n config.currentLicence = fakeLicenceProExpired;\n break;\n case \"FREEWARE\":\n config.currentLicence = fakeLicenceFreeware;\n break;\n case \"FLOATING-ON-PREMISE\":\n config.currentLicence = fakeLicenceFloatingOnPremise;\n break;\n case \"FLOATING-ON-PREMISE-FAILED\":\n config.currentLicence = fakeLicenceFloatingOnPremiseFailed;\n break;\n case \"PRO-PERMANENT\":\n config.currentLicence = fakeLicenceProPermanentValid;\n break;\n case \"PRO-DEGRADED\":\n config.currentLicence = fakeLicenceProDegraded;\n break;\n default:\n console.log(\"Invalid mode \", t);\n break;\n }\n}\n\nconst wait = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\nexport const getActivationRequest = async (options: IActivateOptions): Promise<string> => {\n if (config.mode === \"DEBUG\") {\n await wait(1000);\n if (options.licence === config.key) {\n return config.request;\n }\n return \"\"; // { result: \"error\", message: \"invalid request\" };\n }\n\n const url = makeApiUrl(\"/licence/offline/request\");\n const result = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(options),\n });\n const json = (await result.json()) as {\n message: string;\n result: string;\n request?: string;\n };\n if (json.result !== \"OK\" || !json.request) {\n console.log(json.message);\n return \"\";\n }\n return json.request;\n};\n\nexport const activateOffLine = async (offlineKey: string): Promise<boolean> => {\n if (config.mode === \"DEBUG\") {\n await wait(1000);\n if (offlineKey === config.activationKey) {\n config.currentLicence = fakeLicenceProValid;\n return true;\n }\n return false; // { result: \"error\", message: \"invalid request\" };\n }\n const url = makeApiUrl(\"/licence/offline/activate\");\n const result = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ offlineKey }),\n });\n if (result.status !== 200) {\n console.log(\"error\");\n return false;\n }\n return true;\n};\n\nexport const activateLicence = async (options: IActivateOptions) => {\n const url = makeApiUrl(\"/licence/activate\");\n const result = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(options),\n });\n if (result.status !== 200) {\n console.log(\"error\");\n return;\n }\n return \"OK\";\n};\n\nexport const getLicenceInfo = async (): Promise<ILicenceInfo> => {\n if (config.mode === \"DEBUG\") {\n await wait(1000);\n return config.currentLicence;\n }\n\n try {\n const url = makeApiUrl(\"/licenceInfo\");\n const result = await fetch(url, { method: \"POST\" });\n if (result.status !== 200) {\n throw new Error(`Invalid api call${result.status} ${result.statusText}`);\n }\n const json = (await result.json()) as ILicenceInfo;\n return json;\n } catch (err) {\n console.log((err as Error).message);\n throw err;\n }\n};\n\nconst getQueryParams = (query = null): Record<string, string> => {\n return (\n (query || window.location.search.replace(\"?\", \"\"))\n\n // get array of KeyValue pairs\n .split(\"&\")\n\n // Decode values\n .map((pair) => {\n const [key, val] = pair.split(\"=\");\n return [key, decodeURIComponent(val || \"\")];\n })\n\n // array to object\n .reduce(\n (result, [key, val]) => {\n result[key] = val;\n return result;\n },\n {} as Record<string, string>,\n )\n );\n};\nexport const configureAPI = () => {\n const qs = getQueryParams();\n if (qs.test) {\n setTestMode(qs.test);\n }\n};\n\n/**\n * US-023: Save a JWT activation key via the backend.\n * The backend writes it to `activation.key`, triggers a recheck,\n * and reports whether the orchestrator actually moved into a paid\n * tier. On rejection the response carries a stable `reason` code\n * (e.g. \"expired\", \"verification-failed\") and a UI-ready message.\n */\nexport interface SaveActivationKeyResponse {\n success: boolean;\n message: string;\n reason?: string;\n tier?: string;\n status?: string;\n}\n\nexport const saveActivationKey = async (activationKey: string): Promise<SaveActivationKeyResponse> => {\n if (config.mode === \"DEBUG\") {\n await wait(1000);\n return { success: true, message: \"Activation key saved (debug mode).\" };\n }\n\n const url = makeApiUrl(\"/licence/activation-key\");\n try {\n const result = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ activationKey }),\n });\n const json = (await result.json()) as {\n result: string;\n message?: string;\n reason?: string;\n tier?: string;\n status?: string;\n };\n return {\n success: result.ok && json.result === \"OK\",\n message: json.message ?? (result.ok ? \"Activation key saved.\" : \"Failed to save activation key.\"),\n reason: json.reason,\n tier: json.tier,\n status: json.status,\n };\n } catch (err) {\n return { success: false, message: (err as Error).message };\n }\n};\n\n/**\n * BKL-018 US-056: fetch the stored trial JWT so the config-panel\n * can embed it in a QR code pointing at Kyu's /request-pro landing\n * page. Only returns a value while the current licence is TRIAL —\n * the backend returns 404 otherwise.\n */\nexport const getTrialJwtForRequest = async (): Promise<{ trialJwt: string; kyuUrl: string } | null> => {\n if (config.mode === \"DEBUG\") {\n await wait(200);\n // A small but syntactically-valid JWT-ish blob so the QR\n // renders something demo-ably in dev mode.\n return {\n trialJwt:\n \"eyJhbGciOiJFZERTQSJ9.eyJpc3MiOiJzdGVyZml2ZSIsImxpYyI6IlRSSUFMIiwiaW5zdGFsbGF0aW9uSWQiOiI1NTBlODQwMC1lMjliLTQxZDQtYTcxNi00NDY2NTU0NDAwMDAifQ.fake-signature-for-debug-mode\",\n kyuUrl: \"https://kyu.sterfive.com\",\n };\n }\n try {\n const url = makeApiUrl(\"/licence/trial-jwt\");\n const result = await fetch(url, { method: \"GET\" });\n if (result.status !== 200) {\n return null;\n }\n const json = (await result.json()) as {\n result: string;\n trialJwt?: string;\n kyuUrl?: string;\n };\n if (json.result !== \"OK\" || !json.trialJwt) {\n return null;\n }\n return {\n trialJwt: json.trialJwt,\n kyuUrl: json.kyuUrl ?? \"https://kyu.sterfive.com\",\n };\n } catch (err) {\n console.log(\"Error fetching trial JWT:\", err);\n return null;\n }\n};\n\n/**\n * Derive the short installation code (`XXXX-XXXX`) from a trial\n * JWT by reading its `installationId` claim. Mirrors the\n * server-side `formatInstallationCode` helper in sterfive-kyu-backend.\n *\n * BKL-018 US-055.\n */\nexport function installationCodeFromTrialJwt(trialJwt: string): string | null {\n try {\n const parts = trialJwt.split(\".\");\n if (parts.length !== 3) return null;\n // JWT payloads are base64url — translate to standard base64\n const b64 = parts[1].replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = b64 + \"===\".slice((b64.length + 3) % 4);\n const payload = JSON.parse(atob(padded)) as { installationId?: string };\n const id = payload.installationId;\n if (!id || !/^[0-9a-f-]+$/i.test(id)) return null;\n const hex = id.replace(/-/g, \"\").slice(0, 8).toLowerCase();\n if (hex.length < 8) return null;\n return `${hex.slice(0, 4)}-${hex.slice(4, 8)}`;\n } catch {\n return null;\n }\n}\n\nexport const refreshLicence = async (): Promise<boolean> => {\n if (config.mode === \"DEBUG\") {\n await wait(500);\n return true;\n }\n try {\n const url = makeApiUrl(\"/licence/refresh\");\n const result = await fetch(url, { method: \"POST\" });\n return result.status === 200;\n } catch (err) {\n console.log(\"Error checking licence:\", err);\n return false;\n }\n};\n\n/**\n * Hard reload — tears the licence engine down and rebuilds it from scratch\n * server-side, then re-verifies. Recovers an instance whose engine failed to\n * load earlier (e.g. unwritable cache after an upgrade) but has since been\n * repaired, without restarting Node-RED. Unlike refresh, it drops the stale\n * in-process native handle.\n */\nexport const reloadLicence = async (): Promise<boolean> => {\n if (config.mode === \"DEBUG\") {\n await wait(500);\n return true;\n }\n try {\n const url = makeApiUrl(\"/licence/reload\");\n const result = await fetch(url, { method: \"POST\" });\n return result.status === 200;\n } catch (err) {\n console.log(\"Error reloading licence engine:\", err);\n return false;\n }\n};\n","export default \"__VITE_ASSET__VRAku6fjghkApIISiBWPzg__\"","export const copyToClipboard = (myText: string) => {\n navigator.clipboard.writeText(myText).then(\n () => {\n console.log(\"Async: Copying to clipboard was successful!\");\n },\n (err) => {\n console.error(\"Async: Could not copy text: \", err);\n },\n );\n};\n","export const downloadKey = (fileContent: string, filename: string) => {\n const blob = new Blob([fileContent], { type: \"text/plain\" });\n const downloadLink = document.createElement(\"a\");\n downloadLink.download = filename;\n downloadLink.href = window.URL.createObjectURL(blob);\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n};\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { type ChangeEvent, type FormEvent, useState } from \"react\";\nimport { activateLicence, activateOffLine, getActivationRequest, type IActivateOptions } from \"../api\";\nimport { copyToClipboard } from \"../utils/clipboard\";\nimport { downloadKey } from \"../utils/download\";\n\nconst doDebug = false;\n\nexport const OffLineActivateLicenceForm = ({ onActivated }: { onActivated: () => void }) => {\n const [step, setStep] = useState<number>(0);\n const [activationRequest, setActivationRequest] = useState(\"\");\n const [activationError, setActivationError] = useState(\"\");\n const [activating, setActivating] = useState(false);\n const [licence, setLicence] = useState(\"\");\n const [offlineKey, setOfflineKey] = useState(\"\");\n\n const onNext = async () => {\n try {\n // retrieve the licence key\n const data: IActivateOptions = {\n licence: licence,\n email: \"\",\n username: \"\",\n };\n const activationRequest = await getActivationRequest(data);\n if (activationRequest) {\n setStep(1);\n setActivationRequest(activationRequest);\n }\n } catch (err) {\n console.log(err);\n }\n };\n const onActivateClicked_ = async () => {\n setActivating(true);\n setActivationError(\"\");\n\n const result = await activateOffLine(offlineKey);\n setActivating(false);\n result;\n if (result) {\n onActivated();\n setStep(2);\n } else {\n setActivationError(\"Invalid Activation Key\");\n }\n };\n\n const onDownload = () => {\n downloadKey(activationRequest, \"activation-request.txt\");\n };\n const onCopyToClipboard = () => {\n copyToClipboard(activationRequest);\n };\n return (\n <div className=\"space-y-4\">\n {(step === 0 || step === 1) && (\n <div className=\"space-y-4\">\n <div>\n <div className={step === 0 ? \"active-step mb-2\" : \"inactive-step mb-2\"}>\n {step === 0 ? \"Enter your licence key\" : \"Licence Key\"}\n </div>\n <div className=\"flex items-center gap-2\">\n <input\n type=\"text\"\n className=\"flex-1 input-licence\"\n id=\"licence\"\n placeholder=\"Enter licence key\"\n value={licence}\n onChange={(e) => setLicence(e.target.value)}\n />\n {step === 0 && (\n <button type=\"button\" onClick={onNext} className=\"btn-primary whitespace-nowrap\">\n Next →\n </button>\n )}\n </div>\n </div>\n\n {step === 1 && (\n <div className=\"mt-6 space-y-6\">\n <div className=\"p-4 border border-blue-200 rounded-lg bg-blue-50\">\n <p className=\"mb-4 text-sm text-gray-700\">\n Download the request file and send it to{\" \"}\n <a\n href=\"mailto:support@sterfive.com\"\n className=\"font-semibold text-blue-600 hover:text-blue-800\"\n >\n support@sterfive.com\n </a>\n </p>\n <div className=\"flex flex-wrap gap-2\">\n <button type=\"button\" className=\"flex items-center gap-2 btn-primary\" onClick={onDownload}>\n <span>📥</span> Download Request\n </button>\n <button\n type=\"button\"\n className=\"flex items-center gap-2 bg-gray-500 btn-primary hover:bg-gray-700\"\n onClick={onCopyToClipboard}\n >\n <span>📋</span> Copy to Clipboard\n </button>\n </div>\n </div>\n\n {doDebug && (\n <pre className=\"p-2 overflow-auto text-xs bg-gray-100 rounded\">\n {(activationRequest.match(/.{1,80}/g) || []).join(\"\\n\")}\n </pre>\n )}\n\n <div>\n <label className=\"label\" htmlFor=\"offlineKey\">\n Activation Response from Sterfive\n </label>\n <textarea\n className={`w-full min-h-[120px] rounded-md border px-3 py-2 focus:outline-none focus:ring-2 ${\n activationError\n ? \"border-red-500 focus:ring-red-500\"\n : \"border-gray-300 focus:ring-blue-500\"\n }`}\n id=\"offlineKey\"\n placeholder=\"Paste the activation response here...\"\n value={offlineKey}\n onChange={(e) => setOfflineKey(e.target.value)}\n />\n {activationError && (\n <p className=\"flex items-center gap-1 mt-2 text-sm text-red-600\">\n <span>⚠️</span> {activationError}\n </p>\n )}\n {activating && (\n <p className=\"flex items-center gap-1 mt-2 text-sm text-blue-600\">\n <span>⏳</span> Activating... please wait\n </p>\n )}\n </div>\n\n <button\n type=\"submit\"\n onClick={onActivateClicked_}\n className=\"w-full py-3 text-lg font-bold btn-primary\"\n disabled={activating}\n >\n {activating ? \"Activating...\" : \"Activate Licence\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport const OnlineActivateLicenceForm = ({ onActivated }: { onActivated: () => void }) => {\n const [formData, setFormData] = useState<IActivateOptions>({\n licence: \"\",\n email: \"\",\n username: \"\",\n });\n\n const [errors, setErrors] = useState<IActivateOptions>({\n licence: \"\",\n email: \"\",\n username: \"\",\n });\n\n const onActivateClicked = async () => {\n if (validate()) {\n const result = await activateLicence(formData);\n if (result) {\n onActivated();\n }\n }\n };\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target as unknown as {\n name: string;\n value: string;\n };\n\n setFormData({ ...formData, [name]: value });\n };\n\n const validate = () => {\n const tempErrors: IActivateOptions = {\n licence: \"\",\n email: \"\",\n username: \"\",\n };\n\n const example = \"123456-ABCDEF-123456-ABCDEF-123456-ABCDEF\";\n tempErrors.licence = formData.licence\n ? formData.licence.match(/([0-9A-F]{6}-){5}[0-9A-F]{6}/)\n ? \"\"\n : `Invalid format: should be line ${example}`\n : \"This field is required.\";\n tempErrors.email = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(formData.email) ? \"\" : \"Email is not valid.\";\n tempErrors.username = formData.username ? \"\" : \"This field is required.\";\n setErrors(tempErrors);\n return Object.values(tempErrors).every((x) => x === \"\");\n };\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n onActivateClicked();\n };\n return (\n <div className=\"w-full max-w-2xl mx-auto\">\n <form className=\"px-8 pt-6 pb-8 space-y-6 bg-white rounded-lg shadow-lg\" onSubmit={handleSubmit}>\n <div>\n <label className=\"label\" htmlFor=\"licence\">\n Licence Key\n </label>\n <input\n className={`input-field ${errors.licence ? \"border-red-500 focus:ring-red-500\" : \"\"}`}\n type=\"text\"\n id=\"licence\"\n name=\"licence\"\n value={formData.licence}\n onChange={handleChange}\n placeholder=\"123456-ABCDEF-123456-ABCDEF-123456-ABCDEF\"\n required\n />\n {errors.licence && (\n <p className=\"flex items-center gap-1 mt-1 text-xs text-red-500\">\n <span>⚠️</span> {errors.licence}\n </p>\n )}\n </div>\n\n <div>\n <label className=\"label\" htmlFor=\"email\">\n Email Address\n </label>\n <input\n className={`input-field ${errors.email ? \"border-red-500 focus:ring-red-500\" : \"\"}`}\n type=\"email\"\n id=\"email\"\n name=\"email\"\n value={formData.email}\n onChange={handleChange}\n placeholder=\"your.email@example.com\"\n required\n />\n {errors.email && (\n <p className=\"flex items-center gap-1 mt-1 text-xs text-red-500\">\n <span>⚠️</span> {errors.email}\n </p>\n )}\n </div>\n\n <div>\n <label className=\"label\" htmlFor=\"username\">\n Full Name\n </label>\n <input\n className={`input-field ${errors.username ? \"border-red-500 focus:ring-red-500\" : \"\"}`}\n type=\"text\"\n id=\"username\"\n name=\"username\"\n value={formData.username}\n onChange={handleChange}\n placeholder=\"John Doe\"\n required\n />\n {errors.username && (\n <p className=\"flex items-center gap-1 mt-1 text-xs text-red-500\">\n <span>⚠️</span> {errors.username}\n </p>\n )}\n </div>\n\n <div className=\"pt-4\">\n <button type=\"submit\" className=\"w-full py-3 text-lg font-bold btn-primary\">\n Activate Licence\n </button>\n </div>\n </form>\n </div>\n );\n};\n\nexport const ActivationForm = ({ onActivated }: { onActivated: () => Promise<void> }) => {\n const [isOffLine, setIsOffline] = useState(false);\n\n return (\n <div className=\"w-full max-w-2xl mx-auto\">\n <div className=\"p-6 space-y-6 bg-white rounded-lg shadow-lg\">\n {/* Tab-style mode selector */}\n <div className=\"grid grid-cols-2 gap-3 pb-4 border-b border-gray-200\">\n <button\n type=\"button\"\n onClick={() => setIsOffline(false)}\n className={`flex flex-col items-center gap-1 px-4 py-3 rounded-lg border-2 transition-all ${\n !isOffLine\n ? \"border-blue-600 bg-blue-50 text-blue-700 shadow-sm\"\n : \"border-gray-200 bg-white text-gray-500 hover:border-gray-300 hover:bg-gray-50\"\n }`}\n >\n <span className=\"text-lg\">🌐</span>\n <span className=\"text-sm font-semibold\">Online Activation</span>\n <span className=\"text-xs opacity-70\">Requires internet</span>\n </button>\n <button\n type=\"button\"\n onClick={() => setIsOffline(true)}\n className={`flex flex-col items-center gap-1 px-4 py-3 rounded-lg border-2 transition-all ${\n isOffLine\n ? \"border-blue-600 bg-blue-50 text-blue-700 shadow-sm\"\n : \"border-gray-200 bg-white text-gray-500 hover:border-gray-300 hover:bg-gray-50\"\n }`}\n >\n <span className=\"text-lg\">📴</span>\n <span className=\"text-sm font-semibold\">Offline Activation</span>\n <span className=\"text-xs opacity-70\">For air-gapped systems</span>\n </button>\n </div>\n\n <div className=\"pt-2\">\n {isOffLine ? (\n <OffLineActivateLicenceForm onActivated={onActivated} />\n ) : (\n <OnlineActivateLicenceForm onActivated={onActivated} />\n )}\n </div>\n </div>\n </div>\n );\n};\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport function compareAsc(dateLeft, dateRight) {\n const diff = +toDate(dateLeft) - +toDate(dateRight);\n\n if (diff < 0) return -1;\n else if (diff > 0) return 1;\n\n // Return 0 if diff is 0; return NaN if diff is NaN\n return diff;\n}\n\n// Fallback for modularized imports:\nexport default compareAsc;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\n\n/**\n * The {@link differenceInCalendarMonths} function options.\n */\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - An object with options\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();\n const monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth();\n\n return yearsDiff * 12 + monthsDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n","export function getRoundingMethod(method) {\n return (number) => {\n const round = method ? Math[method] : Math.trunc;\n const result = round(number);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n };\n}\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n *\n * @returns The number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport function differenceInMilliseconds(laterDate, earlierDate) {\n return +toDate(laterDate) - +toDate(earlierDate);\n}\n\n// Fallback for modularized imports:\nexport default differenceInMilliseconds;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link endOfDay} function options.\n */\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link endOfMonth} function options.\n */\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { endOfDay } from \"./endOfDay.js\";\nimport { endOfMonth } from \"./endOfMonth.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date is the last day of a month\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport function isLastDayOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n return +endOfDay(_date, options) === +endOfMonth(_date, options);\n}\n\n// Fallback for modularized imports:\nexport default isLastDayOfMonth;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { compareAsc } from \"./compareAsc.js\";\nimport { differenceInCalendarMonths } from \"./differenceInCalendarMonths.js\";\nimport { isLastDayOfMonth } from \"./isLastDayOfMonth.js\";\n\n/**\n * The {@link differenceInMonths} function options.\n */\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - An object with options\n *\n * @returns The number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport function differenceInMonths(laterDate, earlierDate, options) {\n const [laterDate_, workingLaterDate, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n laterDate,\n earlierDate,\n );\n\n const sign = compareAsc(workingLaterDate, earlierDate_);\n const difference = Math.abs(\n differenceInCalendarMonths(workingLaterDate, earlierDate_),\n );\n\n if (difference < 1) return 0;\n\n if (workingLaterDate.getMonth() === 1 && workingLaterDate.getDate() > 27)\n workingLaterDate.setDate(30);\n\n workingLaterDate.setMonth(workingLaterDate.getMonth() - sign * difference);\n\n let isLastMonthNotFull = compareAsc(workingLaterDate, earlierDate_) === -sign;\n\n if (\n isLastDayOfMonth(laterDate_) &&\n difference === 1 &&\n compareAsc(laterDate_, earlierDate_) === 1\n ) {\n isLastMonthNotFull = false;\n }\n\n const result = sign * (difference - +isLastMonthNotFull);\n return result === 0 ? 0 : result;\n}\n\n// Fallback for modularized imports:\nexport default differenceInMonths;\n","import { getRoundingMethod } from \"./_lib/getRoundingMethod.js\";\nimport { differenceInMilliseconds } from \"./differenceInMilliseconds.js\";\n\n/**\n * The {@link differenceInSeconds} function options.\n */\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - An object with options.\n *\n * @returns The number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport function differenceInSeconds(laterDate, earlierDate, options) {\n const diff = differenceInMilliseconds(laterDate, earlierDate) / 1000;\n return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// Fallback for modularized imports:\nexport default differenceInSeconds;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { compareAsc } from \"./compareAsc.js\";\nimport { minutesInDay, minutesInMonth } from \"./constants.js\";\nimport { differenceInMonths } from \"./differenceInMonths.js\";\nimport { differenceInSeconds } from \"./differenceInSeconds.js\";\n\n/**\n * The {@link formatDistance} function options.\n */\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @param laterDate - The date\n * @param earlierDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\nexport function formatDistance(laterDate, earlierDate, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n const minutesInAlmostTwoDays = 2520;\n\n const comparison = compareAsc(laterDate, earlierDate);\n\n if (isNaN(comparison)) throw new RangeError(\"Invalid time value\");\n\n const localizeOptions = Object.assign({}, options, {\n addSuffix: options?.addSuffix,\n comparison: comparison,\n });\n\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n ...(comparison > 0 ? [earlierDate, laterDate] : [laterDate, earlierDate]),\n );\n\n const seconds = differenceInSeconds(earlierDate_, laterDate_);\n const offsetInSeconds =\n (getTimezoneOffsetInMilliseconds(earlierDate_) -\n getTimezoneOffsetInMilliseconds(laterDate_)) /\n 1000;\n const minutes = Math.round((seconds - offsetInSeconds) / 60);\n let months;\n\n // 0 up to 2 mins\n if (minutes < 2) {\n if (options?.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n }\n }\n\n // 2 mins up to 0.75 hrs\n } else if (minutes < 45) {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n\n // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n\n // 1.5 hrs up to 24 hrs\n } else if (minutes < minutesInDay) {\n const hours = Math.round(minutes / 60);\n return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n\n // 1 day up to 1.75 days\n } else if (minutes < minutesInAlmostTwoDays) {\n return locale.formatDistance(\"xDays\", 1, localizeOptions);\n\n // 1.75 days up to 30 days\n } else if (minutes < minutesInMonth) {\n const days = Math.round(minutes / minutesInDay);\n return locale.formatDistance(\"xDays\", days, localizeOptions);\n\n // 1 month up to 2 months\n } else if (minutes < minutesInMonth * 2) {\n months = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n }\n\n months = differenceInMonths(earlierDate_, laterDate_);\n\n // 2 months up to 12 months\n if (months < 12) {\n const nearestMonth = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n\n // 1 year up to max Date\n } else {\n const monthsSinceStartOfYear = months % 12;\n const years = Math.trunc(months / 12);\n\n // N years up to 1 years 3 months\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n\n // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance(\"overXYears\", years, localizeOptions);\n\n // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n }\n }\n}\n\n// Fallback for modularized imports:\nexport default formatDistance;\n","import { useState } from \"react\";\nimport { saveActivationKey } from \"../api\";\n\n/**\n * US-023: Manual JWT activation key entry for Docker users.\n *\n * Shows a collapsible instruction block + textarea + save button.\n * On save, calls the backend which writes `activation.key` and\n * triggers a recheck.\n */\nexport function ActivationKeyEntry({ onSaved }: { onSaved: () => void }) {\n const [jwt, setJwt] = useState(\"\");\n const [saving, setSaving] = useState(false);\n const [error, setError] = useState<string | undefined>();\n const [success, setSuccess] = useState(false);\n const [showHelp, setShowHelp] = useState(false);\n\n const handleSave = async () => {\n if (!jwt.trim()) {\n setError(\"Please paste your activation key.\");\n return;\n }\n setSaving(true);\n setError(undefined);\n try {\n const result = await saveActivationKey(jwt);\n if (result.success) {\n setSuccess(true);\n setTimeout(() => onSaved(), 1500);\n } else {\n setError(result.message ?? \"Failed to save activation key.\");\n }\n } catch (err) {\n setError((err as Error).message);\n } finally {\n setSaving(false);\n }\n };\n\n if (success) {\n return (\n <div className=\"w-full max-w-lg p-6 border-t-4 border-green-500 bg-white rounded-lg shadow-lg my-4\">\n <div className=\"flex items-center gap-3 text-green-700\">\n <svg className=\"w-8 h-8\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" role=\"img\" aria-label=\"success\">\n <title>success</title>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span className=\"text-lg font-bold\">Activation key saved!</span>\n </div>\n <p className=\"mt-2 text-sm text-gray-600\">Rechecking licence status…</p>\n </div>\n );\n }\n\n return (\n <div className=\"w-full max-w-lg p-6 border-t-4 border-blue-500 bg-white rounded-lg shadow-lg my-4\">\n <div className=\"flex items-center gap-3 mb-4\">\n <span className=\"text-2xl\">🔑</span>\n <h2 className=\"text-lg font-bold text-gray-700\">Activation Key</h2>\n </div>\n\n {/* Collapsible help */}\n <button\n type=\"button\"\n onClick={() => setShowHelp(!showHelp)}\n className=\"flex items-center gap-2 mb-3 text-sm font-medium text-blue-600 hover:text-blue-800 transition-colors\"\n >\n <svg\n className={`w-4 h-4 transition-transform ${showHelp ? \"rotate-90\" : \"\"}`}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"toggle\"\n >\n <title>toggle</title>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n How to activate in Docker\n </button>\n\n {showHelp && (\n <div className=\"p-3 mb-4 text-sm text-blue-800 bg-blue-50 rounded-md space-y-2\">\n <p>\n <strong>1.</strong> Complete the registration wizard above to receive your activation key by email.\n </p>\n <p>\n <strong>2.</strong> Copy the JWT token from the email (it starts with{\" \"}\n <code className=\"px-1 py-0.5 bg-blue-100 rounded text-xs\">eyJ…</code>).\n </p>\n <p>\n <strong>3.</strong> Paste it below and click <strong>Save &amp; Activate</strong>.\n </p>\n <p className=\"text-xs text-blue-600\">\n Alternatively, you can mount the key as a Docker volume at{\" \"}\n <code className=\"px-1 py-0.5 bg-blue-100 rounded\">~/.sterfive/opcua-for-node-red/activation.key</code>\n </p>\n </div>\n )}\n\n {/* Textarea */}\n <textarea\n id=\"activation-key-input\"\n className=\"w-full p-3 border border-gray-300 rounded-lg text-sm font-mono resize-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all\"\n rows={4}\n placeholder=\"Paste your JWT activation key here (eyJ…)\"\n value={jwt}\n onChange={(e) => {\n setJwt(e.target.value);\n setError(undefined);\n }}\n disabled={saving}\n />\n\n {/* Error */}\n {error && <div className=\"mt-2 p-2 text-sm text-red-700 bg-red-50 rounded-md\">{error}</div>}\n\n {/* Save button */}\n <button\n id=\"save-activation-key\"\n type=\"button\"\n onClick={handleSave}\n disabled={saving || !jwt.trim()}\n className=\"w-full mt-3 py-3 font-semibold text-white bg-blue-600 rounded-lg hover:bg-blue-700 disabled:bg-gray-300 disabled:cursor-not-allowed transition-all shadow-md\"\n >\n {saving ? \"Saving…\" : \"Save & Activate\"}\n </button>\n </div>\n );\n}\n","import { format, formatDistance } from \"date-fns\";\nimport type { ILicenceInfo } from \"../api\";\nimport { extractNameFromEmail, getDaysLeft } from \"../utils/date\";\nimport { ActivationKeyEntry } from \"./ActivationKeyEntry\";\n\n// --- ICONS ---\nconst SuccessIcon = () => (\n <svg\n className=\"w-8 h-8 text-green-500\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"success\"\n >\n <title>success</title>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n);\nconst ErrorIcon = () => (\n <svg\n className=\"w-8 h-8 text-red-500\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"error\"\n >\n <title>error</title>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n);\nconst WarningIcon = () => (\n <svg\n className=\"w-8 h-8 text-yellow-500\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"warning\"\n >\n <title>warning</title>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n);\nconst InfoIcon = () => (\n <svg\n className=\"w-8 h-8 text-blue-500\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"info\"\n >\n <title>info</title>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n);\n\n// --- REUSABLE UI COMPONENTS ---\nconst InfoRow = ({ label, value, valueClassName = \"\" }: { label: string; value: React.ReactNode; valueClassName?: string }) => (\n <div className=\"flex flex-col py-3 border-b border-gray-200 sm:flex-row sm:justify-between sm:items-center last:border-b-0\">\n <span className=\"mb-1 font-semibold text-gray-600 sm:mb-0\">{label}</span>\n <span className={`text-gray-800 sm:text-right ${valueClassName}`}>{value}</span>\n </div>\n);\n\nconst InfoCard = ({\n title,\n icon,\n children,\n borderColor = \"border-gray-200\",\n}: {\n title: React.ReactNode;\n icon: React.ReactNode;\n children: React.ReactNode;\n borderColor?: string;\n}) => (\n <div className={`bg-white shadow-lg rounded-lg p-4 sm:p-6 my-4 w-full max-w-lg border-t-4 ${borderColor}`}>\n <div className=\"flex items-center mb-4\">\n {icon}\n <h2 className=\"ml-3 text-lg font-bold text-gray-700 sm:text-xl\">{title}</h2>\n </div>\n <div className=\"space-y-2\">{children}</div>\n </div>\n);\n\nconst secondaryButtonClass =\n \"flex-1 py-3 font-semibold text-gray-700 transition-all bg-white border border-gray-300 rounded-lg shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-200\";\n\n/**\n * The two non-destructive recovery actions shown on the Expired / Invalid\n * boxes. \"Reload licence engine\" rebuilds the engine in-process (recovers a\n * repaired environment without a restart); \"Refresh Status\" re-checks.\n */\nconst RecoveryButtons = ({ onReload, onRefresh }: { onReload?: () => void; onRefresh?: () => void }) => {\n if (!onReload && !onRefresh) return null;\n return (\n <div className=\"flex flex-col gap-2 mt-4 sm:flex-row\">\n {onReload && (\n <button type=\"button\" onClick={onReload} className={secondaryButtonClass}>\n Reload licence engine\n </button>\n )}\n {onRefresh && (\n <button type=\"button\" onClick={onRefresh} className={secondaryButtonClass}>\n Refresh Status\n </button>\n )}\n </div>\n );\n};\n\n/**\n * Deliberately terse: a stuck instance can always be fully recovered by\n * support, but the reset procedure has side effects (re-activation counts,\n * JWT re-issue limits), so we point to support rather than expose it here.\n */\nconst ContactSupportNote = () => (\n <p className=\"mt-3 text-xs text-center text-gray-500\">\n Still stuck after the steps above?{\" \"}\n <a href=\"mailto:support@sterfive.com\" className=\"text-blue-600 hover:underline\">\n Contact support\n </a>\n .\n </p>\n);\n\n// --- LICENCE INFO BOXES ---\nconst AuthorizedLicenceInfoBox = ({ licence, onRefresh }: { licence: ILicenceInfo; onRefresh?: () => void }) => {\n const isPermanent = licence.licenceInfo.expired === \"permanent\";\n const expiryDate = licence.licenceInfo.expiryDate ? new Date(licence.licenceInfo.expiryDate) : null;\n const statusText = (licence.licenceInfo as Record<string, unknown>).statusText as string | undefined;\n const isOffline = statusText ? statusText.includes(\"offline\") : false;\n\n return (\n <InfoCard\n title={\n <div className=\"flex items-center\">\n Licence Status: Authorized\n {isOffline && <span className=\"ml-2 text-xs font-normal text-gray-400 font-mono\">(degraded)</span>}\n </div>\n }\n icon={<SuccessIcon />}\n borderColor=\"border-green-500\"\n >\n {isOffline && (\n <div className=\"p-3 mb-4 text-gray-600 rounded-md bg-gray-50 border border-gray-200\">\n <p className=\"text-sm\">\n <span className=\"font-semibold\">Note:</span> The device is currently operating in an offline grace period.\n Please ensure the licence server is reachable (check network, proxy, or firewalls) so the lease can renew.\n </p>\n </div>\n )}\n <InfoRow label=\"Licence Type\" value={licence.licenceInfo.licenceType} />\n <InfoRow label=\"Licence ID\" value={licence.licenceInfo.licenceId} />\n {isPermanent ? (\n <InfoRow label=\"Duration\" value=\"Permanent\" />\n ) : (\n expiryDate && (\n <InfoRow\n label=\"Expires\"\n value={\n <>\n <div>{format(expiryDate, \"MMMM dd, yyyy\")}</div>\n <div className=\"text-sm text-gray-500\">\n {formatDistance(expiryDate, new Date(), {\n addSuffix: true,\n })}\n </div>\n </>\n }\n />\n )\n )}\n <InfoRow label=\"Max Allowed Version\" value={licence.licenceInfo.maxAllowedReleaseVersion} />\n {onRefresh && (\n <button\n type=\"button\"\n onClick={onRefresh}\n className=\"w-full py-3 mt-4 font-semibold text-gray-700 transition-all bg-white border border-gray-300 rounded-lg shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-200\"\n >\n Refresh Status\n </button>\n )}\n </InfoCard>\n );\n};\n\nconst ExpiredLicenceInfoBox = ({\n licence,\n onRefresh,\n onReload,\n onActivationKeySaved,\n}: {\n licence: ILicenceInfo;\n onRefresh?: () => void;\n onReload?: () => void;\n onActivationKeySaved?: () => void;\n}) => {\n const expiryDate = licence.licenceInfo.expiryDate ? new Date(licence.licenceInfo.expiryDate) : null;\n return (\n <>\n <InfoCard title=\"Licence Status: Expired\" icon={<WarningIcon />} borderColor=\"border-yellow-500\">\n <InfoRow label=\"Licence Type\" value={licence.licenceInfo.licenceType} />\n <InfoRow label=\"Licence ID\" value={licence.licenceInfo.licenceId} />\n {expiryDate && <InfoRow label=\"Expired On\" value={format(expiryDate, \"MMMM dd, yyyy\")} />}\n <div className=\"p-3 mt-4 text-yellow-700 rounded-md bg-yellow-50\">\n We can't verify your licence right now. If you already own a licence, restore it by pasting your activation key\n below, or use “Renew or change licence” to enter a Cryptlex key or buy online. If you just repaired this\n machine, click “Reload licence engine”.\n </div>\n <RecoveryButtons onReload={onReload} onRefresh={onRefresh} />\n <ContactSupportNote />\n </InfoCard>\n {/* The activation-key (JWT) restore is the universal, infra-independent\n way back — show it regardless of `inContainer`, which has proven\n unreliable and could otherwise hide the only escape hatch. */}\n {onActivationKeySaved && <ActivationKeyEntry onSaved={onActivationKeySaved} />}\n </>\n );\n};\n\nconst FailedLicenceInfoBox = ({\n licence,\n goToOnboarding,\n onActivationKeySaved,\n onRefresh,\n onReload,\n}: {\n licence: ILicenceInfo;\n goToOnboarding?: () => void;\n onActivationKeySaved?: () => void;\n onRefresh?: () => void;\n onReload?: () => void;\n}) => {\n const inContainer = licence.licenceInfo.inContainer === true;\n\n if (inContainer) {\n return (\n <>\n <InfoCard title=\"Container Environment\" icon={<WarningIcon />} borderColor=\"border-yellow-500\">\n <div className=\"p-3 text-yellow-700 rounded-md bg-yellow-50\">\n Trial licences are not available in container environments.\n <br />\n Complete registration to receive your activation key by email, then paste it below.\n </div>\n </InfoCard>\n {onActivationKeySaved && <ActivationKeyEntry onSaved={onActivationKeySaved} />}\n {onRefresh && (\n <button\n type=\"button\"\n onClick={onRefresh}\n className=\"w-full py-3 mt-4 font-semibold text-gray-700 transition-all bg-white border border-gray-300 rounded-lg shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-200\"\n >\n Refresh Status\n </button>\n )}\n </>\n );\n }\n\n // Bare metal — licence not initialized or unknown type\n const isUnknownType = licence.licenceInfo.licenceType === \"<unknown>\" || licence.licenceInfo.licenceType === \"unknown\";\n if (isUnknownType && goToOnboarding) {\n return (\n <InfoCard title=\"Licence Not Activated\" icon={<WarningIcon />} borderColor=\"border-yellow-500\">\n <div className=\"p-3 text-yellow-700 rounded-md bg-yellow-50\">\n Complete registration to activate your trial licence.\n </div>\n <button\n type=\"button\"\n onClick={goToOnboarding}\n className=\"w-full py-3 mt-4 font-semibold text-white transition-all bg-blue-600 rounded-lg hover:bg-blue-700 shadow-md\"\n >\n Complete Registration →\n </button>\n </InfoCard>\n );\n }\n\n return (\n <>\n <InfoCard title=\"Licence Status: Invalid\" icon={<ErrorIcon />} borderColor=\"border-red-500\">\n <InfoRow label=\"Error\" value={licence.message} valueClassName=\"text-red-600 font-semibold\" />\n <div className=\"p-3 mt-4 text-red-700 rounded-md bg-red-50\">\n We can't validate your licence. If you own one, restore it by pasting your activation key below. If you just\n repaired this machine, click “Reload licence engine”.\n </div>\n {goToOnboarding && (\n <button\n type=\"button\"\n onClick={goToOnboarding}\n className=\"w-full py-3 mt-4 font-semibold text-white transition-all bg-blue-600 rounded-lg hover:bg-blue-700 shadow-md\"\n >\n Complete Registration →\n </button>\n )}\n <RecoveryButtons onReload={onReload} onRefresh={onRefresh} />\n <ContactSupportNote />\n </InfoCard>\n {/* Universal, infra-independent escape hatch — available even when the\n native licence engine is dead, since JWT verification is local. */}\n {onActivationKeySaved && <ActivationKeyEntry onSaved={onActivationKeySaved} />}\n </>\n );\n};\n\nexport const LicenceInfoBox = ({\n licence,\n goToOnboarding,\n onActivationKeySaved,\n onRefresh,\n onReload,\n}: {\n licence: ILicenceInfo;\n goToOnboarding?: () => void;\n onActivationKeySaved?: () => void;\n onRefresh?: () => void;\n onReload?: () => void;\n}) => {\n if (licence.type === \"FREEWARE\") {\n const inContainer = licence.licenceInfo.inContainer === true;\n return (\n <>\n <InfoCard title=\"Freeware Version\" icon={<InfoIcon />} borderColor=\"border-blue-500\">\n <div className=\"p-3 text-blue-700 rounded-md bg-blue-50\">\n {inContainer\n ? \"You are running in a container. Complete registration to receive your activation key by email, then paste it below.\"\n : \"You are using the Freeware version with limited functionality. Upgrade to unlock all features.\"}\n </div>\n </InfoCard>\n {inContainer && onActivationKeySaved && <ActivationKeyEntry onSaved={onActivationKeySaved} />}\n {onRefresh && (\n <button\n type=\"button\"\n onClick={onRefresh}\n className=\"w-full py-3 mt-4 font-semibold text-gray-700 transition-all bg-white border border-gray-300 rounded-lg shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-200 object-center max-w-sm mx-auto flex justify-center\"\n >\n Refresh Status\n </button>\n )}\n </>\n );\n }\n switch (licence.status) {\n case \"EXPIRED\":\n return (\n <ExpiredLicenceInfoBox\n licence={licence}\n onRefresh={onRefresh}\n onReload={onReload}\n onActivationKeySaved={onActivationKeySaved}\n />\n );\n case \"FAILED\":\n return (\n <FailedLicenceInfoBox\n licence={licence}\n goToOnboarding={goToOnboarding}\n onActivationKeySaved={onActivationKeySaved}\n onRefresh={onRefresh}\n onReload={onReload}\n />\n );\n case \"AUTHORIZED\":\n return <AuthorizedLicenceInfoBox licence={licence} onRefresh={onRefresh} />;\n default:\n return (\n <InfoCard title=\"Unknown Licence Status\" icon={<WarningIcon />} borderColor=\"border-gray-400\">\n <InfoRow label=\"Status\" value={licence.status} />\n {onRefresh && (\n <button\n type=\"button\"\n onClick={onRefresh}\n className=\"w-full py-3 mt-4 font-semibold text-gray-700 transition-all bg-white border border-gray-300 rounded-lg shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-200\"\n >\n Refresh Status\n </button>\n )}\n </InfoCard>\n );\n }\n};\n\nexport const GeneralInfoBox = ({ licence, onboardingEmail }: { licence: ILicenceInfo; onboardingEmail?: string }) => {\n const daysLeft = getDaysLeft(licence);\n const isTrialExpiring = licence.type === \"TRIAL\" && daysLeft !== null && daysLeft < 7;\n\n return (\n <InfoCard title=\"Product Information\" icon={<InfoIcon />} borderColor=\"border-blue-400\">\n {onboardingEmail && (\n <InfoRow\n label=\"Registered User\"\n value={<span className=\"font-semibold text-green-700\">👋 Welcome {extractNameFromEmail(onboardingEmail)}</span>}\n />\n )}\n <InfoRow label=\"Product\" value={<span className=\"font-semibold\">{licence.productName}</span>} />\n <InfoRow label=\"Version\" value={<span className=\"font-mono text-sm\">{licence.productVersion}</span>} />\n <InfoRow\n label=\"Licence Type\"\n value={\n <span\n className={`px-3 py-1 rounded-full text-sm font-semibold ${\n licence.type === \"PROFESSIONAL\"\n ? \"bg-green-100 text-green-800\"\n : licence.type === \"TRIAL\"\n ? \"bg-yellow-100 text-yellow-800\"\n : \"bg-gray-100 text-gray-800\"\n }`}\n >\n {licence.type}\n </span>\n }\n />\n {licence.type === \"TRIAL\" && daysLeft !== null && (\n <InfoRow\n label=\"Trial Period\"\n value={\n <div className={`font-semibold ${isTrialExpiring ? \"text-red-600\" : \"text-blue-600\"}`}>\n {daysLeft > 0 ? `${daysLeft} days remaining` : \"Expired\"}\n {isTrialExpiring && daysLeft > 0 && (\n <div className=\"mt-1 text-xs\">Upgrade soon to avoid interruption</div>\n )}\n </div>\n }\n />\n )}\n </InfoCard>\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { makeApiUrl } from \"../api\";\nimport { ActivationKeyEntry } from \"./ActivationKeyEntry\";\nimport { OffLineActivateLicenceForm, OnlineActivateLicenceForm } from \"./ActivationForm\";\n\ntype Step = \"identity\" | \"verify\" | \"success\";\ntype AltTab = \"jwt\" | \"online\" | \"offline\";\n\ninterface OnboardingStatus {\n onboarded: boolean;\n email?: string;\n company?: string;\n installationId?: string;\n activationKey?: {\n email?: string;\n org?: string;\n kid?: string;\n };\n}\n\n/**\n * Ellipsis email display: \"et…@…ve.com\" (KYU-051)\n */\nfunction ellipsisEmail(email: string): string {\n const [local, domain] = email.split(\"@\");\n if (!domain) return email;\n const localPart = local.length > 2 ? `${local.slice(0, 2)}…` : local;\n const domainParts = domain.split(\".\");\n const domainName = domainParts[0];\n const tld = domainParts.slice(1).join(\".\");\n const domainPart = domainName.length > 2 ? `…${domainName.slice(-2)}` : domainName;\n return `${localPart}@${domainPart}.${tld}`;\n}\n\n/**\n * Fetch onboarding status from backend.\n */\nexport async function getOnboardingStatus(): Promise<OnboardingStatus> {\n const url = makeApiUrl(\"/onboarding/status\");\n const res = await fetch(url);\n return res.json();\n}\n\n/**\n * Submit onboarding identity form.\n */\nasync function submitOnboarding(data: {\n email: string;\n company: string;\n newsletterOptIn: boolean;\n}): Promise<{ status: string; message: string }> {\n const url = makeApiUrl(\"/onboarding/submit\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(data),\n });\n return res.json();\n}\n\n/**\n * Verify the onboarding unlock code.\n */\nasync function verifyOnboarding(data: {\n email: string;\n company: string;\n code: string;\n}): Promise<{ result: string; message: string }> {\n const url = makeApiUrl(\"/onboarding/verify\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(data),\n });\n if (!res.ok) {\n const body = await res.json();\n throw new Error(body.message || \"Verification failed\");\n }\n return res.json();\n}\n\n/**\n * Amber info banner shown above Step 1 when kyu.sterfive.com is unreachable.\n * Lists the firewall allowlist and offers a retry of the last submit attempt.\n */\nfunction FirewallHelpPanel({ onRetry, loading }: { onRetry: () => void; loading: boolean }) {\n return (\n <div className=\"p-4 border-l-4 border-amber-400 rounded-md bg-amber-50\">\n <div className=\"flex items-start gap-3\">\n <span className=\"text-xl leading-none\" aria-hidden=\"true\">ⓘ</span>\n <div className=\"flex-1 space-y-2 text-sm text-amber-900\">\n <p className=\"font-semibold\">Cannot reach kyu.sterfive.com</p>\n <p>\n If your network restricts outbound HTTPS, please allow these hosts:\n </p>\n <ul className=\"ml-5 list-disc\">\n <li>\n <code className=\"px-1 py-0.5 bg-amber-100 rounded text-xs\">https://kyu.sterfive.com</code>{\" \"}\n — for trial registration by email\n </li>\n <li>\n <code className=\"px-1 py-0.5 bg-amber-100 rounded text-xs\">https://api.cryptlex.com</code>{\" \"}\n — for online licence-key activation\n </li>\n </ul>\n <p>\n If outbound HTTPS is not possible at all, use <strong>Offline activation</strong> below — it works\n fully air-gapped via a file exchange with{\" \"}\n <a className=\"underline hover:no-underline\" href=\"mailto:support@sterfive.com\">\n support@sterfive.com\n </a>\n .\n </p>\n <button\n type=\"button\"\n onClick={onRetry}\n disabled={loading}\n className=\"mt-1 px-3 py-1.5 text-sm font-medium text-amber-900 bg-amber-100 rounded hover:bg-amber-200 disabled:opacity-50\"\n >\n {loading ? \"Retrying…\" : \"Retry trial registration\"}\n </button>\n </div>\n </div>\n </div>\n );\n}\n\n/**\n * Always-discoverable section that lets a user activate without going through\n * the email-based trial registration. Hosts the existing activation components\n * (`ActivationKeyEntry`, `OnlineActivateLicenceForm`, `OffLineActivateLicenceForm`).\n *\n * Open-state is controlled by the parent so the trial form can collapse when\n * this panel is opened (and vice-versa) on the happy path, and so the panel\n * can be auto-expanded when kyu is unreachable.\n */\nfunction KeyAlternativesPanel({\n open,\n onToggle,\n onSuccess,\n}: {\n open: boolean;\n onToggle: (open: boolean) => void;\n onSuccess: () => void;\n}) {\n const [tab, setTab] = useState<AltTab>(\"jwt\");\n\n return (\n <div className=\"border border-gray-200 rounded-lg bg-gray-50\">\n <button\n type=\"button\"\n onClick={() => onToggle(!open)}\n className=\"flex items-center justify-between w-full px-4 py-3 text-sm font-medium text-gray-700 hover:text-gray-900\"\n aria-expanded={open}\n >\n <span className=\"flex items-center gap-2\">\n <span\n className={`inline-block transition-transform ${open ? \"rotate-90\" : \"\"}`}\n aria-hidden=\"true\"\n >\n ▶\n </span>\n I already have an activation key or licence key\n </span>\n </button>\n\n {open && (\n <div className=\"px-4 pb-4 space-y-4 border-t border-gray-200 bg-white\">\n {/* Tab switcher */}\n <div className=\"grid grid-cols-3 gap-2 pt-3\">\n <button\n type=\"button\"\n onClick={() => setTab(\"jwt\")}\n className={`px-3 py-2 text-xs font-semibold rounded-md border-2 transition-all ${\n tab === \"jwt\"\n ? \"border-blue-600 bg-blue-50 text-blue-700\"\n : \"border-gray-200 bg-white text-gray-500 hover:border-gray-300\"\n }`}\n >\n 🔑 Activation key (JWT)\n </button>\n <button\n type=\"button\"\n onClick={() => setTab(\"online\")}\n className={`px-3 py-2 text-xs font-semibold rounded-md border-2 transition-all ${\n tab === \"online\"\n ? \"border-blue-600 bg-blue-50 text-blue-700\"\n : \"border-gray-200 bg-white text-gray-500 hover:border-gray-300\"\n }`}\n >\n 🌐 Licence key (online)\n </button>\n <button\n type=\"button\"\n onClick={() => setTab(\"offline\")}\n className={`px-3 py-2 text-xs font-semibold rounded-md border-2 transition-all ${\n tab === \"offline\"\n ? \"border-blue-600 bg-blue-50 text-blue-700\"\n : \"border-gray-200 bg-white text-gray-500 hover:border-gray-300\"\n }`}\n >\n 📴 Licence key (offline)\n </button>\n </div>\n\n <div>\n {tab === \"jwt\" && <ActivationKeyEntry onSaved={onSuccess} />}\n {tab === \"online\" && <OnlineActivateLicenceForm onActivated={onSuccess} />}\n {tab === \"offline\" && <OffLineActivateLicenceForm onActivated={onSuccess} />}\n </div>\n </div>\n )}\n </div>\n );\n}\n\n/**\n * 3-step onboarding wizard:\n * Step 1 — Identity (email, company, privacy, newsletter)\n * Step 2 — Verification (8-char code)\n * Step 3 — Success (auto-dismiss)\n */\nexport function OnboardingWizard({ onComplete }: { onComplete: () => void }) {\n const [step, setStep] = useState<Step>(\"identity\");\n const [email, setEmail] = useState(\"\");\n const [company, setCompany] = useState(\"\");\n const [newsletterOptIn, setNewsletterOptIn] = useState(false);\n const [privacyAccepted, setPrivacyAccepted] = useState(false);\n const [code, setCode] = useState(\"\");\n const [error, setError] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [cooldown, setCooldown] = useState(0);\n // Activation key lighter flow (Phase 5)\n const [hasActivationKey, setHasActivationKey] = useState(false);\n const [emailReadOnly, setEmailReadOnly] = useState(false);\n const [companyReadOnly, setCompanyReadOnly] = useState(false);\n const [displayEmail, setDisplayEmail] = useState(\"\");\n const [autoSubmitting, setAutoSubmitting] = useState(false);\n // Airgap / firewall escape hatches (KYU-AIRGAP)\n const [kyuFailed, setKyuFailed] = useState(false);\n // Accordion: when alternatives panel is open on the happy path, the trial\n // form collapses (and vice-versa) so the user is never looking at both\n // mutually-exclusive paths at the same time.\n const [alternativesOpen, setAlternativesOpen] = useState(false);\n\n // Auto-open the alternatives panel as soon as kyu is detected unreachable,\n // so paying customers and air-gap installs see the JWT/online/offline\n // tabs without having to click a disclosure.\n useEffect(() => {\n if (kyuFailed) setAlternativesOpen(true);\n }, [kyuFailed]);\n\n // On mount: check for activation key claims and pre-fill\n useEffect(() => {\n getOnboardingStatus()\n .then((status) => {\n if (status.activationKey) {\n setHasActivationKey(true);\n if (status.activationKey.email) {\n setEmail(status.activationKey.email);\n setEmailReadOnly(true);\n setDisplayEmail(ellipsisEmail(status.activationKey.email));\n }\n if (status.activationKey.org) {\n setCompany(status.activationKey.org);\n setCompanyReadOnly(true);\n }\n // Auto-submit if we have both email and org (KYU-050)\n if (status.activationKey.email && status.activationKey.org) {\n setPrivacyAccepted(true); // Implied by activation key acceptance\n setAutoSubmitting(true);\n }\n }\n })\n .catch(() => {\n /* ignore */\n });\n }, []);\n\n // Auto-submit when activation key has email+org\n useEffect(() => {\n if (autoSubmitting && email && company) {\n setAutoSubmitting(false);\n submitOnboarding({ email, company, newsletterOptIn: false })\n .then(() => {\n setStep(\"verify\");\n setCooldown(60);\n })\n .catch(() => {\n // Fall back to manual form on error\n setError(\"Unable to auto-register. Please fill the form manually.\");\n });\n }\n }, [autoSubmitting, email, company]);\n\n // Cooldown timer for resend button\n useEffect(() => {\n if (cooldown <= 0) return;\n const timer = setTimeout(() => setCooldown((c) => c - 1), 1000);\n return () => clearTimeout(timer);\n }, [cooldown]);\n\n // Auto-dismiss after success\n useEffect(() => {\n if (step === \"success\") {\n const timer = setTimeout(onComplete, 3000);\n return () => clearTimeout(timer);\n }\n }, [step, onComplete]);\n\n const handleSubmitIdentity = useCallback(async () => {\n if (!email || !company) {\n setError(\"Email and company are required.\");\n return;\n }\n if (!privacyAccepted) {\n setError(\"You must accept the privacy policy to continue.\");\n return;\n }\n setError(\"\");\n setLoading(true);\n try {\n const result = await submitOnboarding({ email: email.trim(), company: company.trim(), newsletterOptIn });\n if (result.status === \"limit_reached\") {\n setError(\"Maximum evaluation installations reached. Please contact sales@sterfive.com.\");\n return;\n }\n setKyuFailed(false);\n setStep(\"verify\");\n setCooldown(60);\n } catch {\n setKyuFailed(true);\n setError(\"\");\n } finally {\n setLoading(false);\n }\n }, [email, company, newsletterOptIn, privacyAccepted]);\n\n // Best-effort kyu registration after Cryptlex/JWT activation, then jump to success.\n const handleAlternativeSuccess = useCallback(() => {\n const trimmedEmail = email.trim();\n const trimmedCompany = company.trim();\n if (trimmedEmail && trimmedCompany) {\n // Fire-and-forget: kyu may still be unreachable. The licence-check\n // state machine has already promoted via CheckingActivationKey or\n // CheckingLicence so we do not block on this call.\n submitOnboarding({ email: trimmedEmail, company: trimmedCompany, newsletterOptIn }).catch(() => {\n /* ignore */\n });\n }\n setStep(\"success\");\n }, [email, company, newsletterOptIn]);\n\n const handleVerifyCode = useCallback(async () => {\n if (!code || code.length !== 8) {\n setError(\"Please enter the 8-character code from your email.\");\n return;\n }\n setError(\"\");\n setLoading(true);\n try {\n await verifyOnboarding({ email: email.trim(), company: company.trim(), code: code.trim() });\n setStep(\"success\");\n } catch (err) {\n setError((err as Error).message || \"Invalid verification code.\");\n } finally {\n setLoading(false);\n }\n }, [email, company, code]);\n\n const handleResend = useCallback(async () => {\n if (cooldown > 0) return;\n setError(\"\");\n setLoading(true);\n try {\n await submitOnboarding({ email: email.trim(), company: company.trim(), newsletterOptIn });\n setCooldown(60);\n } catch {\n setError(\"Unable to resend. Please check your internet connection.\");\n } finally {\n setLoading(false);\n }\n }, [email, company, newsletterOptIn, cooldown]);\n\n return (\n <div className=\"w-full max-w-lg mx-auto\">\n {/* Step indicator */}\n <div className=\"flex items-center justify-center gap-2 mb-8\">\n {([\"identity\", \"verify\", \"success\"] as Step[]).map((s, i) => (\n <div key={s} className=\"flex items-center gap-2\">\n <div\n className={`w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold transition-all ${\n step === s\n ? \"bg-blue-600 text-white shadow-lg\"\n : ([\"identity\", \"verify\", \"success\"] as Step[]).indexOf(step) > i\n ? \"bg-green-500 text-white\"\n : \"bg-gray-200 text-gray-500\"\n }`}\n >\n {([\"identity\", \"verify\", \"success\"] as Step[]).indexOf(step) > i ? \"✓\" : i + 1}\n </div>\n {i < 2 && <div className=\"w-12 h-0.5 bg-gray-200\" />}\n </div>\n ))}\n </div>\n\n {/* Step 1: Identity */}\n {step === \"identity\" && (() => {\n const trialForm = (\n <div className=\"space-y-5\">\n <div className=\"text-center\">\n <h2 className=\"text-xl font-bold text-gray-800\">Register your installation</h2>\n <p className=\"mt-1 text-sm text-gray-500\">\n A one-time registration is required to activate OPC UA for Node-RED.\n </p>\n </div>\n\n <div>\n <label htmlFor=\"onb-email\" className=\"block mb-1 text-sm font-medium text-gray-700\">\n Email address\n {hasActivationKey && emailReadOnly && (\n <span className=\"ml-2 text-xs text-green-600\">(from activation key)</span>\n )}\n </label>\n <input\n id=\"onb-email\"\n type=\"email\"\n value={emailReadOnly ? displayEmail : email}\n onChange={(e) => !emailReadOnly && setEmail(e.target.value)}\n readOnly={emailReadOnly}\n placeholder=\"you@company.com\"\n className=\"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition\"\n />\n </div>\n\n <div>\n <label htmlFor=\"onb-company\" className=\"block mb-1 text-sm font-medium text-gray-700\">\n Company name\n {hasActivationKey && companyReadOnly && (\n <span className=\"ml-2 text-xs text-green-600\">(from activation key)</span>\n )}\n </label>\n <input\n id=\"onb-company\"\n type=\"text\"\n value={company}\n onChange={(e) => !companyReadOnly && setCompany(e.target.value)}\n readOnly={companyReadOnly}\n placeholder=\"Acme Corp\"\n className=\"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition\"\n />\n </div>\n\n <div className=\"space-y-3\">\n <label className=\"flex items-start gap-3 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={privacyAccepted}\n onChange={(e) => setPrivacyAccepted(e.target.checked)}\n className=\"mt-1 w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500\"\n />\n <span className=\"text-sm text-gray-600\">\n I agree to the processing of my data as described in the{\" \"}\n <a\n href=\"https://www.sterfive.com/privacy\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-blue-600 underline hover:text-blue-800\"\n >\n Privacy Policy\n </a>{\" \"}\n <span className=\"text-red-500\">*</span>\n </span>\n </label>\n\n <label className=\"flex items-start gap-3 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={newsletterOptIn}\n onChange={(e) => setNewsletterOptIn(e.target.checked)}\n className=\"mt-1 w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500\"\n />\n <span className=\"text-sm text-gray-600\">I want to receive the Sterfive newsletter (optional)</span>\n </label>\n </div>\n\n {error && <div className=\"p-3 text-sm text-red-700 border border-red-200 rounded-lg bg-red-50\">{error}</div>}\n\n <button\n type=\"button\"\n onClick={handleSubmitIdentity}\n disabled={loading || !privacyAccepted || !email || !company}\n className=\"w-full py-3 font-semibold text-white transition-all bg-blue-600 rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed shadow-md\"\n >\n {loading ? \"Sending...\" : \"Send verification code\"}\n </button>\n </div>\n );\n\n return (\n <div className=\"space-y-5\">\n {kyuFailed && <FirewallHelpPanel onRetry={handleSubmitIdentity} loading={loading} />}\n\n {/* Happy path: accordion — trial form is the primary call-to-action;\n * opening the alternatives panel collapses the trial form (and the\n * \"or\" separator) so only one path is on screen at a time.\n * Unreachable path: the trial form goes inside the <details> below. */}\n {!kyuFailed && !alternativesOpen && trialForm}\n\n {!kyuFailed && !alternativesOpen && (\n <div className=\"flex items-center gap-3 text-xs uppercase tracking-wider text-gray-400\">\n <div className=\"flex-1 h-px bg-gray-200\" />\n <span>or</span>\n <div className=\"flex-1 h-px bg-gray-200\" />\n </div>\n )}\n\n <KeyAlternativesPanel\n open={alternativesOpen}\n onToggle={setAlternativesOpen}\n onSuccess={handleAlternativeSuccess}\n />\n\n {kyuFailed && (\n <details className=\"group\">\n <summary className=\"cursor-pointer text-sm text-gray-600 hover:text-gray-800 select-none px-1\">\n <span className=\"inline-block transition-transform group-open:rotate-90 mr-2\" aria-hidden=\"true\">\n ▶\n </span>\n Try trial registration again\n </summary>\n <div className=\"mt-4 pl-2\">{trialForm}</div>\n </details>\n )}\n </div>\n );\n })()}\n\n {/* Step 2: Verification */}\n {step === \"verify\" && (\n <div className=\"space-y-5\">\n <div className=\"text-center\">\n <h2 className=\"text-xl font-bold text-gray-800\">Enter verification code</h2>\n <p className=\"mt-1 text-sm text-gray-500\">\n We sent an 8-character code to <strong>{email}</strong>\n </p>\n </div>\n\n <div>\n <input\n id=\"onb-code\"\n type=\"text\"\n value={code}\n onChange={(e) => setCode(e.target.value.toUpperCase().slice(0, 8))}\n placeholder=\"A3F8B2C1\"\n maxLength={8}\n className=\"w-full px-4 py-3 text-2xl font-mono tracking-widest text-center uppercase border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition\"\n />\n </div>\n\n {error && <div className=\"p-3 text-sm text-red-700 border border-red-200 rounded-lg bg-red-50\">{error}</div>}\n\n <button\n type=\"button\"\n onClick={handleVerifyCode}\n disabled={loading || code.length !== 8}\n className=\"w-full py-3 font-semibold text-white transition-all bg-blue-600 rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed shadow-md\"\n >\n {loading ? \"Verifying...\" : \"Verify\"}\n </button>\n\n <div className=\"text-center\">\n <button\n type=\"button\"\n onClick={handleResend}\n disabled={cooldown > 0 || loading}\n className=\"text-sm text-blue-600 hover:underline disabled:text-gray-400 disabled:no-underline\"\n >\n {cooldown > 0 ? `Resend code (${cooldown}s)` : \"Resend code\"}\n </button>\n </div>\n\n <button\n type=\"button\"\n onClick={() => {\n setStep(\"identity\");\n setError(\"\");\n }}\n className=\"flex items-center gap-1 mx-auto text-sm text-gray-500 hover:text-gray-700\"\n >\n ← Back\n </button>\n </div>\n )}\n\n {/* Step 3: Success */}\n {step === \"success\" && (\n <div className=\"py-8 space-y-4 text-center\">\n <div className=\"text-6xl animate-bounce\">✅</div>\n <h2 className=\"text-xl font-bold text-gray-800\">Registration complete!</h2>\n <p className=\"text-sm text-gray-500\">\n OPC UA for Node-RED is now active. This page will refresh automatically.\n </p>\n </div>\n )}\n </div>\n );\n}\n","import React, { useEffect } from \"react\";\n\nconst pricingTableId = \"prctbl_1OJt49BCNccbzsVzkaANOgFL\";\nconst publishableKey =\n \"pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW\";\nconst StripePricingTable = () => {\n useEffect(() => {\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/pricing-table.js\";\n script.async = true;\n document.body.appendChild(script);\n return () => {\n document.body.removeChild(script);\n };\n }, []);\n return React.createElement(\"stripe-pricing-table\", {\n \"pricing-table-id\": pricingTableId,\n \"publishable-key\": publishableKey,\n });\n};\nexport default StripePricingTable;\n","import StripePricingTable from \"../StripePricingTable\";\n\ninterface BuyOnlinePageProps {\n onRequestQuote?: () => void;\n}\n\nexport const BuyOnlinePage = ({ onRequestQuote }: BuyOnlinePageProps) => {\n return (\n <div className=\"w-full\">\n <div className=\"mb-8 text-center\">\n <h2 className=\"text-2xl font-bold text-gray-800\">Purchase Professional License</h2>\n <p className=\"mt-2 text-gray-600\">Choose the plan that best fits your needs</p>\n </div>\n\n {/* Stripe Pricing Table */}\n <div className=\"mb-8\">\n <StripePricingTable />\n </div>\n\n {/* Request Quote Section */}\n <div className=\"pt-6 mt-6 border-t border-gray-200\">\n <div className=\"text-center\">\n <p className=\"mb-4 text-gray-700\">Need a custom plan or have questions?</p>\n <button\n type=\"button\"\n onClick={onRequestQuote}\n className=\"px-8 py-3 font-semibold text-blue-600 transition-all duration-200 bg-white border-2 border-blue-600 rounded-lg shadow-sm hover:bg-blue-50 hover:shadow-md\"\n >\n Request a Quote\n </button>\n </div>\n </div>\n </div>\n );\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n// ── Helpers ───────────────────────────────────────────────────\nfunction formatDate(d) {\n return d.toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\"\n });\n}\nfunction daysUntil(d) {\n return Math.ceil((d.getTime() - Date.now()) / (1000 * 60 * 60 * 24));\n}\nfunction expiryColor(d) {\n const days = daysUntil(d);\n if (days < 0)\n return \"var(--pull-color-error)\";\n if (days < 30)\n return \"var(--pull-color-warning)\";\n return \"var(--pull-color-success)\";\n}\n// ── Component ─────────────────────────────────────────────────\n/**\n * Card showing the installed certificate details and (optionally)\n * the application record from the GDS.\n *\n * Includes a \"Fetch App Info\" button to query the GDS for the\n * registered application record.\n */\nexport function CertificateInfoCard({ certificate, applicationInfo, loadingAppInfo = false, onFetchAppInfo }) {\n if (!certificate) {\n return (_jsxs(\"div\", { className: \"pull-card\", children: [_jsx(\"div\", { className: \"pull-card__header\", children: _jsx(\"h3\", { className: \"pull-card__title\", children: \"\\uD83D\\uDCDC Certificate\" }) }), _jsx(\"p\", { style: { color: \"var(--pull-color-text-muted)\", fontSize: \"var(--pull-font-size-sm)\" }, children: \"No certificate installed yet.\" })] }));\n }\n const days = daysUntil(certificate.notAfter);\n const expiryText = days < 0 ? `Expired ${Math.abs(days)} days ago` : days === 0 ? \"Expires today\" : `${days} days remaining`;\n return (_jsxs(\"div\", { className: \"pull-card\", children: [_jsxs(\"div\", { className: \"pull-card__header\", children: [_jsx(\"h3\", { className: \"pull-card__title\", children: \"\\uD83D\\uDCDC Certificate\" }), onFetchAppInfo && (_jsx(\"button\", { className: \"pull-btn pull-btn--secondary\", onClick: onFetchAppInfo, disabled: loadingAppInfo, style: { fontSize: \"var(--pull-font-size-xs)\", padding: \"var(--pull-space-xs) var(--pull-space-md)\" }, children: loadingAppInfo ? \"⏳ Loading…\" : \"📡 Fetch App Info\" }))] }), _jsxs(\"div\", { style: {\n display: \"grid\",\n gridTemplateColumns: \"auto 1fr\",\n gap: \"var(--pull-space-xs) var(--pull-space-lg)\",\n fontSize: \"var(--pull-font-size-sm)\"\n }, children: [_jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"Subject\" }), _jsx(\"span\", { style: { fontFamily: \"var(--pull-font-mono)\", fontSize: \"var(--pull-font-size-xs)\" }, children: certificate.subject }), _jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"Issuer\" }), _jsx(\"span\", { style: { fontFamily: \"var(--pull-font-mono)\", fontSize: \"var(--pull-font-size-xs)\" }, children: certificate.issuer }), _jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"Thumbprint\" }), _jsx(\"span\", { style: { fontFamily: \"var(--pull-font-mono)\", fontSize: \"var(--pull-font-size-xs)\" }, children: certificate.thumbprint }), _jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"Valid From\" }), _jsx(\"span\", { children: formatDate(certificate.notBefore) }), _jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"Expires\" }), _jsxs(\"span\", { style: { color: expiryColor(certificate.notAfter), fontWeight: \"var(--pull-font-weight-medium)\" }, children: [formatDate(certificate.notAfter), \" (\", expiryText, \")\"] }), certificate.dnsNames && certificate.dnsNames.length > 0 && (_jsxs(_Fragment, { children: [_jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"DNS Names\" }), _jsx(\"span\", { style: { fontFamily: \"var(--pull-font-mono)\", fontSize: \"var(--pull-font-size-xs)\" }, children: certificate.dnsNames.join(\", \") })] }))] }), applicationInfo && (_jsxs(\"div\", { style: {\n marginTop: \"var(--pull-space-lg)\",\n padding: \"var(--pull-space-md)\",\n background: \"var(--pull-color-bg)\",\n borderRadius: \"var(--pull-radius-md)\",\n border: \"1px solid var(--pull-color-border)\"\n }, children: [_jsx(\"div\", { style: {\n fontSize: \"var(--pull-font-size-xs)\",\n fontWeight: \"var(--pull-font-weight-semibold)\",\n color: \"var(--pull-color-text-muted)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"var(--pull-space-sm)\"\n }, children: \"GDS Application Record\" }), _jsxs(\"div\", { style: {\n display: \"grid\",\n gridTemplateColumns: \"auto 1fr\",\n gap: \"var(--pull-space-xs) var(--pull-space-lg)\",\n fontSize: \"var(--pull-font-size-xs)\"\n }, children: [_jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"App ID\" }), _jsx(\"span\", { style: { fontFamily: \"var(--pull-font-mono)\" }, children: applicationInfo.applicationId }), _jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"URI\" }), _jsx(\"span\", { style: { fontFamily: \"var(--pull-font-mono)\" }, children: applicationInfo.applicationUri }), _jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"Name\" }), _jsx(\"span\", { children: applicationInfo.applicationName }), _jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"Type\" }), _jsx(\"span\", { children: applicationInfo.applicationType }), applicationInfo.discoveryUrls && applicationInfo.discoveryUrls.length > 0 && (_jsxs(_Fragment, { children: [_jsx(\"span\", { style: { color: \"var(--pull-color-text-muted)\" }, children: \"Discovery\" }), _jsx(\"span\", { style: { fontFamily: \"var(--pull-font-mono)\" }, children: applicationInfo.discoveryUrls.join(\", \") })] }))] })] }))] }));\n}\n//# sourceMappingURL=CertificateInfoCard.js.map","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n// ── Helpers (exported for testing) ────────────────────────────\nconst SEPARATOR_RE = /[,;\\s]+/;\n/** Split a raw string into trimmed entries, dropping empties. */\nexport function splitEntries(raw) {\n if (!raw)\n return [];\n return raw\n .split(SEPARATOR_RE)\n .map((s) => s.trim())\n .filter(Boolean);\n}\n/**\n * Parse a hex string like \"c0a80101\" into \"192.168.1.1\", or\n * a 32-char hex string into an IPv6 address. Returns the\n * original string if it doesn't match either form.\n *\n * Why: SAN extensions parsed from a certificate carry IPs as\n * raw hex (4 bytes for v4, 16 bytes for v6). Surfacing those\n * unchanged in an edit form is confusing — normalize them.\n */\nexport function normalizeHexIp(input) {\n const s = input.trim();\n if (!s)\n return s;\n // Already dotted/colonized — leave untouched.\n if (s.includes(\".\") || s.includes(\":\"))\n return s;\n // Pure hex check.\n if (!/^[0-9a-fA-F]+$/.test(s))\n return s;\n if (s.length === 8) {\n const octets = s.match(/.{2}/g);\n return octets.map((h) => parseInt(h, 16)).join(\".\");\n }\n if (s.length === 32) {\n const groups = [];\n for (let i = 0; i < 32; i += 4)\n groups.push(s.substring(i, i + 4));\n return groups.join(\":\");\n }\n return s;\n}\n/** Validate a DNS hostname (RFC 1123-ish, allow wildcards and underscores). */\nexport function isValidDns(s) {\n if (!s || s.length > 253)\n return false;\n // Permissive: labels of 1-63 chars from [A-Za-z0-9_-*], dot-separated.\n return /^(?:\\*\\.)?(?:[A-Za-z0-9_](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?)(?:\\.(?:[A-Za-z0-9_](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?))*$/.test(s);\n}\n/** Validate an IPv4 dotted-decimal address. */\nfunction isValidIPv4(s) {\n const parts = s.split(\".\");\n if (parts.length !== 4)\n return false;\n return parts.every((p) => /^\\d{1,3}$/.test(p) && +p >= 0 && +p <= 255);\n}\n/** Validate an IPv6 address (basic, allows :: compression). */\nfunction isValidIPv6(s) {\n if (s.indexOf(\":\") < 0)\n return false;\n // Strip zone id (e.g. fe80::1%eth0)\n const noZone = s.split(\"%\")[0];\n // Reject more than one \"::\"\n if ((noZone.match(/::/g) ?? []).length > 1)\n return false;\n const parts = noZone.split(\":\");\n if (parts.length < 3 || parts.length > 8)\n return false;\n return parts.every((p) => p === \"\" || /^[0-9a-fA-F]{1,4}$/.test(p));\n}\nexport function isValidIp(s) {\n return isValidIPv4(s) || isValidIPv6(s);\n}\n/** Normalize incoming raw string into a deduped array of entries. */\nexport function parseAndNormalize(raw, kind) {\n const seen = new Set();\n const out = [];\n for (const entry of splitEntries(raw)) {\n const normalized = kind === \"ip\" ? normalizeHexIp(entry) : entry;\n if (!seen.has(normalized)) {\n seen.add(normalized);\n out.push(normalized);\n }\n }\n return out;\n}\n// ── Component ─────────────────────────────────────────────────\n/**\n * Tag/chip editor for SAN entries (DNS names or IP addresses).\n *\n * - Chips are added by typing and pressing Enter, comma, semicolon,\n * or (for IPs) space, and on blur.\n * - Backspace on an empty input removes the last chip.\n * - Pasting `\"a,b ; c\"` adds three chips at once.\n * - Hex-encoded IPs (e.g. `c0a80101`) are normalized to `192.168.1.1`\n * on load so they don't appear as raw hex.\n *\n * The component keeps its own array of chips internally but stays\n * compatible with the parent form's `string` API — emits a\n * `\", \"`-joined string via `onChange`.\n */\nexport function SanListEditor({ id, label, value, onChange, kind, disabled = false, readOnly = false, locked = false, placeholder }) {\n const [entries, setEntries] = useState(() => parseAndNormalize(value, kind));\n const [draft, setDraft] = useState(\"\");\n const inputRef = useRef(null);\n // Sync from external `value` only when the canonical join differs\n // from the current internal state. Without this guard the input\n // would feedback-loop on every keystroke.\n const lastEmittedRef = useRef(\"\");\n useEffect(() => {\n if (value === lastEmittedRef.current)\n return;\n const next = parseAndNormalize(value, kind);\n setEntries(next);\n lastEmittedRef.current = next.join(\", \");\n }, [value, kind]);\n const emit = useCallback((next) => {\n const joined = next.join(\", \");\n lastEmittedRef.current = joined;\n onChange(joined);\n }, [onChange]);\n const validate = useCallback((s) => (kind === \"ip\" ? isValidIp(s) : isValidDns(s)), [kind]);\n const addEntries = useCallback((raw) => {\n const additions = parseAndNormalize(raw, kind);\n if (additions.length === 0)\n return;\n setEntries((prev) => {\n const seen = new Set(prev);\n const next = [...prev];\n for (const a of additions) {\n if (!seen.has(a)) {\n next.push(a);\n seen.add(a);\n }\n }\n if (next.length !== prev.length)\n emit(next);\n return next;\n });\n setDraft(\"\");\n }, [kind, emit]);\n const removeAt = useCallback((idx) => {\n setEntries((prev) => {\n const next = prev.filter((_, i) => i !== idx);\n emit(next);\n return next;\n });\n }, [emit]);\n const handleKeyDown = useCallback((e) => {\n // Add on Enter / comma / semicolon (and space for IPs — DNS\n // names can't contain spaces but pasted lists often use them\n // either way, so we also handle space below).\n if (e.key === \"Enter\" || e.key === \",\" || e.key === \";\") {\n if (draft.trim()) {\n e.preventDefault();\n addEntries(draft);\n }\n }\n else if (e.key === \" \" && draft.trim()) {\n // Space as separator: only meaningful when the draft already\n // looks like a complete entry.\n e.preventDefault();\n addEntries(draft);\n }\n else if (e.key === \"Backspace\" && draft === \"\" && entries.length > 0) {\n e.preventDefault();\n removeAt(entries.length - 1);\n }\n }, [draft, entries.length, addEntries, removeAt]);\n const handlePaste = useCallback((e) => {\n const pasted = e.clipboardData.getData(\"text\");\n if (SEPARATOR_RE.test(pasted)) {\n e.preventDefault();\n addEntries(draft + pasted);\n }\n }, [draft, addEntries]);\n const handleBlur = useCallback(() => {\n if (draft.trim())\n addEntries(draft);\n }, [draft, addEntries]);\n const tooltip = useMemo(() => kind === \"ip\"\n ? \"Type an IP address and press Enter, comma, semicolon, or space to add another.\"\n : \"Type a hostname and press Enter, comma, or semicolon to add another.\", [kind]);\n const containerStyle = {\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n gap: \"var(--pull-space-xs)\",\n padding: \"var(--pull-space-xs) var(--pull-space-sm)\",\n background: locked ? \"var(--pull-color-bg-subtle, var(--pull-color-bg-input))\" : \"var(--pull-color-bg-input)\",\n border: \"1px solid var(--pull-color-border)\",\n borderRadius: \"var(--pull-radius-md)\",\n minHeight: \"calc(var(--pull-font-size-base) + var(--pull-space-md) * 2)\",\n cursor: disabled || readOnly ? \"not-allowed\" : \"text\",\n opacity: disabled ? 0.6 : 1\n };\n return (_jsxs(\"div\", { className: \"pull-form__field\", children: [_jsxs(\"div\", { style: { display: \"flex\", alignItems: \"center\", gap: \"var(--pull-space-xs)\" }, children: [_jsxs(\"label\", { className: \"pull-form__label\", htmlFor: id, children: [label, locked && \" 🔒\"] }), _jsx(\"span\", { title: tooltip, style: {\n cursor: \"help\",\n color: \"var(--pull-color-text-muted)\",\n fontSize: \"var(--pull-font-size-xs)\",\n userSelect: \"none\"\n }, children: \"(?)\" })] }), _jsxs(\"div\", { style: containerStyle, onClick: () => {\n if (!disabled && !readOnly)\n inputRef.current?.focus();\n }, children: [entries.map((entry, idx) => {\n const valid = validate(entry);\n return (_jsxs(\"span\", { className: \"pull-chip\", \"data-invalid\": valid ? undefined : \"true\", title: valid ? undefined : `Invalid ${kind === \"ip\" ? \"IP address\" : \"DNS name\"}`, style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"var(--pull-space-xs)\",\n padding: \"2px var(--pull-space-sm)\",\n background: valid ? \"var(--pull-color-accent-muted)\" : \"var(--pull-color-error-bg)\",\n color: valid ? \"var(--pull-color-text)\" : \"var(--pull-color-error)\",\n border: `1px solid ${valid ? \"var(--pull-color-accent-muted)\" : \"var(--pull-color-error)\"}`,\n borderRadius: \"var(--pull-radius-sm, 4px)\",\n fontFamily: \"var(--pull-font-mono)\",\n fontSize: \"var(--pull-font-size-xs)\"\n }, children: [entry, !disabled && !readOnly && (_jsx(\"button\", { type: \"button\", \"aria-label\": `Remove ${entry}`, onClick: (e) => {\n e.stopPropagation();\n removeAt(idx);\n }, style: {\n background: \"none\",\n border: \"none\",\n color: \"inherit\",\n cursor: \"pointer\",\n padding: 0,\n fontSize: \"var(--pull-font-size-sm)\",\n lineHeight: 1,\n opacity: 0.7\n }, children: \"\\u00D7\" }))] }, entry));\n }), _jsx(\"input\", { ref: inputRef, id: id, type: \"text\", value: draft, onChange: (e) => setDraft(e.target.value), onKeyDown: handleKeyDown, onPaste: handlePaste, onBlur: handleBlur, placeholder: entries.length === 0 ? placeholder : \"\", disabled: disabled, readOnly: readOnly, style: {\n flex: \"1 0 8ch\",\n minWidth: \"8ch\",\n background: \"transparent\",\n border: \"none\",\n outline: \"none\",\n color: \"var(--pull-color-text)\",\n fontFamily: \"var(--pull-font-family)\",\n fontSize: \"var(--pull-font-size-sm)\",\n padding: \"var(--pull-space-xs) 0\"\n } })] })] }));\n}\n//# sourceMappingURL=SanListEditor.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useCallback, useRef, useState } from \"react\";\n// ── Helpers (exported for testing) ────────────────────────────\nconst EMPTY_FIELDS = { CN: \"\", O: \"\", OU: \"\", C: \"\", ST: \"\", L: \"\" };\nconst KNOWN_KEYS = new Set(Object.keys(EMPTY_FIELDS));\n/** Parse a subject string like \"/CN=MyApp/O=MyOrg/C=FR\" into fields. */\nexport function parseSubject(subject) {\n const fields = { ...EMPTY_FIELDS };\n if (!subject)\n return fields;\n // Handle both \"/\" and \",\" separators\n const parts = subject.split(/[/,]/).filter(Boolean);\n for (const part of parts) {\n const eqIdx = part.indexOf(\"=\");\n if (eqIdx === -1)\n continue;\n const key = part.substring(0, eqIdx).trim().toUpperCase();\n const val = part.substring(eqIdx + 1).trim();\n if (KNOWN_KEYS.has(key)) {\n fields[key] = val;\n }\n }\n return fields;\n}\n/** Serialize fields back to a subject string. */\nexport function serializeSubject(fields) {\n const parts = [];\n // Order: CN, O, OU, L, ST, C (conventional order)\n for (const key of [\"CN\", \"O\", \"OU\", \"L\", \"ST\", \"C\"]) {\n if (fields[key]) {\n parts.push(`${key}=${fields[key]}`);\n }\n }\n return parts.length > 0 ? `/${parts.join(\"/\")}` : \"\";\n}\n/**\n * Extract unknown fields (not CN/O/OU/C/ST/L) from a raw subject.\n * Returns them as a string suffix to preserve round-trip fidelity.\n */\nfunction extractUnknownFields(subject) {\n if (!subject)\n return \"\";\n const parts = subject.split(/[/,]/).filter(Boolean);\n const unknown = [];\n for (const part of parts) {\n const eqIdx = part.indexOf(\"=\");\n if (eqIdx === -1)\n continue;\n const key = part.substring(0, eqIdx).trim().toUpperCase();\n if (!KNOWN_KEYS.has(key)) {\n unknown.push(part.trim());\n }\n }\n return unknown.length > 0 ? `/${unknown.join(\"/\")}` : \"\";\n}\n/** Validate the subject and return errors. */\nfunction validateSubject(fields) {\n const errors = {};\n if (fields.C && !/^[A-Z]{2}$/.test(fields.C)) {\n errors.C = \"Must be a 2-letter ISO country code (e.g. FR, US, DE)\";\n }\n return errors;\n}\n// ── Field metadata ────────────────────────────────────────────\nconst FIELD_CONFIG = [\n { key: \"CN\", label: \"Common Name\", placeholder: \"My OPC UA Application\" },\n { key: \"O\", label: \"Organization\", placeholder: \"My Company Ltd.\" },\n { key: \"OU\", label: \"Org. Unit\", placeholder: \"Engineering\" },\n { key: \"L\", label: \"Locality\", placeholder: \"Paris\" },\n { key: \"ST\", label: \"State\", placeholder: \"Île-de-France\" },\n { key: \"C\", label: \"Country\", placeholder: \"FR\" }\n];\n// ── Component ─────────────────────────────────────────────────\n/**\n * CSR Subject Name editor with two modes:\n * - **Raw mode**: single-line input for `/CN=.../O=.../C=...`\n * - **Expanded mode**: individual fields for each subject component\n *\n * Includes validation (e.g. country must be 2-letter ISO code).\n *\n * Unknown fields (e.g. `/emailAddress=...`) are preserved in the\n * raw value even after round-tripping through expanded mode.\n */\nexport function SubjectNameEditor({ value, onChange, disabled = false }) {\n const [expanded, setExpanded] = useState(false);\n const [fields, setFields] = useState(() => parseSubject(value));\n const [errors, setErrors] = useState({});\n // Preserve unknown fields across expanded mode round-trips\n const unknownSuffix = useRef(\"\");\n const handleFieldChange = useCallback((key, val) => {\n const newFields = { ...fields, [key]: val };\n setFields(newFields);\n setErrors(validateSubject(newFields));\n onChange(serializeSubject(newFields) + unknownSuffix.current);\n }, [fields, onChange]);\n const handleRawChange = useCallback((raw) => {\n onChange(raw);\n }, [onChange]);\n const toggleMode = useCallback(() => {\n if (!expanded) {\n // Switching TO expanded: parse current raw value\n const parsed = parseSubject(value);\n setFields(parsed);\n setErrors(validateSubject(parsed));\n // Store unknown fields so we can re-append them\n unknownSuffix.current = extractUnknownFields(value);\n }\n else {\n // Switching TO raw: fields are already serialized\n // via onChange, nothing to do\n unknownSuffix.current = \"\";\n }\n setExpanded(!expanded);\n }, [expanded, value]);\n return (_jsxs(\"div\", { children: [_jsxs(\"div\", { style: { display: \"flex\", alignItems: \"center\", gap: \"var(--pull-space-sm)\", marginBottom: \"var(--pull-space-xs)\" }, children: [_jsx(\"label\", { className: \"pull-form__label\", htmlFor: expanded ? \"pull-subject-cn\" : \"pull-subject-raw\", children: \"CSR Subject Name\" }), _jsx(\"button\", { type: \"button\", onClick: toggleMode, disabled: disabled, style: {\n background: \"none\",\n border: \"none\",\n color: \"var(--pull-color-accent)\",\n fontSize: \"var(--pull-font-size-xs)\",\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n padding: 0,\n opacity: disabled ? 0.4 : 1\n }, children: expanded ? \"✎ Raw\" : \"⊞ Fields\" })] }), !expanded ? (\n /* Raw mode: single line */\n _jsx(\"input\", { id: \"pull-subject-raw\", className: \"pull-form__input\", type: \"text\", value: value, onChange: (e) => handleRawChange(e.target.value), placeholder: \"/CN=MyApp/O=MyOrg/C=FR\", disabled: disabled, style: { fontFamily: \"var(--pull-font-mono)\", fontSize: \"var(--pull-font-size-sm)\" } })) : (\n /* Expanded mode: individual fields */\n _jsxs(\"div\", { className: \"pull-grid-3col\", style: {\n padding: \"var(--pull-space-md)\",\n background: \"var(--pull-color-bg)\",\n borderRadius: \"var(--pull-radius-md)\",\n border: \"1px solid var(--pull-color-border)\"\n }, children: [FIELD_CONFIG.map(({ key, label, placeholder }) => (_jsxs(\"div\", { className: \"pull-form__field\", children: [_jsxs(\"label\", { className: \"pull-form__label\", htmlFor: `pull-subject-${key.toLowerCase()}`, style: { fontSize: \"var(--pull-font-size-xs)\" }, children: [label, \" (\", key, \")\"] }), _jsx(\"input\", { id: `pull-subject-${key.toLowerCase()}`, className: `pull-form__input${errors[key] ? \" pull-form__input--error\" : \"\"}`, type: \"text\", value: fields[key], onChange: (e) => handleFieldChange(key, e.target.value), placeholder: placeholder, disabled: disabled, maxLength: key === \"C\" ? 2 : undefined, style: {\n fontSize: \"var(--pull-font-size-sm)\",\n ...(key === \"C\"\n ? { textTransform: \"uppercase\", fontFamily: \"var(--pull-font-mono)\" }\n : {})\n } }), errors[key] && _jsx(\"span\", { className: \"pull-form__error\", children: errors[key] })] }, key))), _jsxs(\"div\", { style: {\n gridColumn: \"1 / -1\",\n fontSize: \"var(--pull-font-size-xs)\",\n fontFamily: \"var(--pull-font-mono)\",\n color: \"var(--pull-color-text-muted)\",\n padding: \"var(--pull-space-xs) 0\",\n borderTop: \"1px solid var(--pull-color-border)\",\n marginTop: \"var(--pull-space-xs)\"\n }, children: [\"Preview: \", serializeSubject(fields) + unknownSuffix.current || \"(empty)\"] }), unknownSuffix.current && (_jsxs(\"div\", { style: {\n gridColumn: \"1 / -1\",\n fontSize: \"var(--pull-font-size-xs)\",\n color: \"var(--pull-color-warning)\",\n fontStyle: \"italic\"\n }, children: [\"\\u26A0 Extra fields preserved: \", unknownSuffix.current] }))] }))] }));\n}\n//# sourceMappingURL=SubjectNameEditor.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { SanListEditor } from \"./SanListEditor.js\";\nimport { SubjectNameEditor } from \"./SubjectNameEditor.js\";\nconst lockedInputStyle = {\n background: \"var(--pull-color-bg-subtle, var(--pull-color-bg-input))\",\n color: \"var(--pull-color-text-muted)\",\n borderColor: \"var(--pull-color-border)\",\n cursor: \"not-allowed\"\n};\nexport function CertSubjectFieldset({ values, onChange, readonlyFields = [], disabled = false }) {\n const isLocked = (field) => readonlyFields.includes(field);\n const isFieldDisabled = (field) => disabled || isLocked(field);\n const update = (field, value) => {\n onChange({ ...values, [field]: value });\n };\n return (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: \"pull-card__section\", children: [_jsx(\"h4\", { className: \"pull-card__section-title\", children: \"Subject\" }), _jsx(SubjectNameEditor, { value: values.subjectName, onChange: (v) => update(\"subjectName\", v), disabled: isFieldDisabled(\"subjectName\") })] }), _jsxs(\"div\", { className: \"pull-card__section\", children: [_jsx(\"h4\", { className: \"pull-card__section-title\", children: \"OPC UA Information\" }), _jsxs(\"div\", { className: \"pull-form__field\", style: { marginBottom: \"var(--pull-space-md)\" }, children: [_jsxs(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-cert-app-uri\", children: [\"Application URI\", isLocked(\"applicationUri\") && (_jsxs(\"span\", { className: \"pull-form__locked-badge\", children: [_jsx(\"svg\", { \"aria-hidden\": \"true\", width: \"10\", height: \"10\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", strokeWidth: 3, children: _jsx(\"path\", { strokeLinecap: \"round\", strokeLinejoin: \"round\", d: \"M5 13l4 4L19 7\" }) }), \"Locked\"] }))] }), _jsx(\"input\", { id: \"pull-cert-app-uri\", className: \"pull-form__input\", type: \"text\", value: values.applicationUri, onChange: (e) => update(\"applicationUri\", e.target.value), placeholder: \"urn:my-host:my-application\", disabled: isFieldDisabled(\"applicationUri\"), readOnly: isLocked(\"applicationUri\"), style: isLocked(\"applicationUri\") ? lockedInputStyle : undefined, title: isLocked(\"applicationUri\") ? \"Must match the OPC UA Client's applicationUri\" : undefined }), isLocked(\"applicationUri\") && (_jsx(\"span\", { className: \"pull-form__hint\", children: \"Matches the OPC UA Client applicationUri \\u2014 cannot be changed here.\" }))] }), _jsxs(\"div\", { className: \"pull-grid-2col\", children: [_jsx(SanListEditor, { id: \"pull-cert-dns\", label: \"DNS Names\", kind: \"dns\", value: values.dnsNames, onChange: (v) => update(\"dnsNames\", v), disabled: isFieldDisabled(\"dnsNames\"), readOnly: isLocked(\"dnsNames\"), locked: isLocked(\"dnsNames\"), placeholder: \"myhost.local\" }), _jsx(SanListEditor, { id: \"pull-cert-ip\", label: \"IP Addresses\", kind: \"ip\", value: values.ipAddresses, onChange: (v) => update(\"ipAddresses\", v), disabled: isFieldDisabled(\"ipAddresses\"), readOnly: isLocked(\"ipAddresses\"), locked: isLocked(\"ipAddresses\"), placeholder: \"192.168.1.10\" })] })] })] }));\n}\n//# sourceMappingURL=CertSubjectFieldset.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from \"react\";\nimport { CertSubjectFieldset } from \"./CertSubjectFieldset.js\";\nconst EMPTY = {\n subjectName: \"\",\n applicationUri: \"\",\n dnsNames: \"\",\n ipAddresses: \"\"\n};\nconst DEFAULT_TITLE = \"📝 Generate Certificate Signing Request\";\nconst DEFAULT_SUBTITLE = \"Fill in the certificate data below. This will generate a CSR to send to your Certificate Authority.\";\n/**\n * Form for generating a Certificate Signing Request (CSR).\n *\n * Backend-agnostic: the parent owns the API call and is invoked\n * via `onSubmit`. Async `defaults` arriving after mount are\n * merged without overwriting fields the user has already typed\n * into; locked fields (via `readonlyFields`) are always\n * overwritten by parent values.\n */\nexport function CsrRequestForm({ onSubmit, onCancel, defaults, readonlyFields = [], submitting = false, error, title = DEFAULT_TITLE, subtitle = DEFAULT_SUBTITLE }) {\n const [form, setForm] = useState({ ...EMPTY, ...defaults });\n useEffect(() => {\n if (!defaults)\n return;\n setForm((prev) => {\n const next = { ...prev };\n let changed = false;\n for (const key of Object.keys(defaults)) {\n const incoming = defaults[key];\n if (incoming === undefined)\n continue;\n if (readonlyFields.includes(key) || !prev[key]) {\n if (prev[key] !== incoming) {\n next[key] = incoming;\n changed = true;\n }\n }\n }\n return changed ? next : prev;\n });\n }, [defaults, readonlyFields]);\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit(form);\n };\n return (_jsxs(\"form\", { className: \"pull-card pull-card--sectioned\", onSubmit: handleSubmit, children: [_jsxs(\"div\", { className: \"pull-card__header pull-card__header--csr\", children: [_jsx(\"h3\", { className: \"pull-card__title\", children: title }), _jsx(\"p\", { className: \"pull-card__header-subtitle\", children: subtitle })] }), error && (_jsx(\"div\", { className: \"pull-card__section\", role: \"alert\", style: {\n background: \"var(--pull-color-error-bg)\",\n color: \"var(--pull-color-error)\"\n }, children: error })), _jsx(CertSubjectFieldset, { values: form, onChange: setForm, readonlyFields: readonlyFields, disabled: submitting }), _jsxs(\"div\", { className: \"pull-card__actions\", children: [_jsx(\"button\", { type: \"submit\", className: \"pull-btn pull-btn--primary\", disabled: submitting, children: submitting ? \"⏳ Generating…\" : \"Generate CSR\" }), onCancel && (_jsx(\"button\", { type: \"button\", className: \"pull-btn pull-btn--secondary\", onClick: onCancel, disabled: submitting, children: \"Cancel\" }))] })] }));\n}\n//# sourceMappingURL=CsrRequestForm.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from \"react\";\nimport { SanListEditor } from \"./SanListEditor.js\";\nimport { SubjectNameEditor } from \"./SubjectNameEditor.js\";\n// ── Defaults ──────────────────────────────────────────────────\nconst DEFAULTS = {\n gdsEndpointUrl: \"opc.tcp://localhost:4840\",\n adminUsername: \"\",\n adminPassword: \"\",\n applicationUri: \"\",\n applicationName: \"\",\n applicationType: \"Client\",\n productUri: \"\",\n subjectName: \"\",\n dnsNames: \"\",\n ipAddresses: \"\",\n discoveryUrls: \"\"\n};\n// ── Component ─────────────────────────────────────────────────\n/**\n * Enrollment form collecting GDS admin credentials and CSR\n * subject data for initial Pull Certificate onboarding.\n *\n * Shown when `enrollmentStatus` is `\"not-enrolled\"` or\n * `\"self-signed\"`.\n *\n * The form is split into two sections:\n * 1. **GDS Connection** — endpoint URL + admin credentials\n * 2. **Application Identity** — CSR subject fields\n */\nexport function EnrollmentForm({ onSubmit, submitting = false, defaults, error, readonlyFields = [] }) {\n const [form, setForm] = useState({\n ...DEFAULTS,\n ...defaults\n });\n const [showAdvanced, setShowAdvanced] = useState(false);\n const isLocked = (field) => readonlyFields.includes(field);\n const isFieldDisabled = (field) => submitting || isLocked(field);\n // Keep the form in sync with incoming defaults when they arrive\n // asynchronously (e.g. fetched after mount) or change. We only\n // overwrite a field from new defaults if:\n // - the field is locked (readonly) — parent owns the value, or\n // - the field is still empty — user has not typed anything.\n // User-entered values are preserved.\n useEffect(() => {\n if (!defaults)\n return;\n setForm((prev) => {\n const next = { ...prev };\n let changed = false;\n for (const key of Object.keys(defaults)) {\n const incoming = defaults[key];\n if (incoming === undefined)\n continue;\n if (readonlyFields.includes(key) || !prev[key]) {\n if (prev[key] !== incoming) {\n next[key] = incoming;\n changed = true;\n }\n }\n }\n return changed ? next : prev;\n });\n }, [defaults, readonlyFields]);\n const update = (field, value) => {\n setForm((prev) => ({ ...prev, [field]: value }));\n };\n // Visual styling helpers:\n // - Locked fields: gray background + gray border + not-allowed cursor.\n // - Empty editable fields: subtle tint to signal \"placeholder only\".\n // - Filled editable fields: normal.\n const inputStyleFor = (field) => {\n if (isLocked(field)) {\n return {\n background: \"var(--pull-color-bg-subtle, #f3f4f6)\",\n color: \"var(--pull-color-text-muted, #6b7280)\",\n borderColor: \"var(--pull-color-border, #d1d5db)\",\n cursor: \"not-allowed\"\n };\n }\n return {};\n };\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit(form);\n };\n const isServer = form.applicationType === \"Server\" || form.applicationType === \"ClientAndServer\";\n return (_jsxs(\"form\", { className: \"pull-card\", onSubmit: handleSubmit, style: { width: \"100%\", boxSizing: \"border-box\" }, children: [_jsx(\"div\", { className: \"pull-card__header\", children: _jsx(\"h3\", { className: \"pull-card__title\", children: \"\\uD83D\\uDD10 GDS Enrollment\" }) }), error && (_jsx(\"div\", { style: {\n padding: \"var(--pull-space-sm) var(--pull-space-md)\",\n background: \"var(--pull-color-error-bg)\",\n color: \"var(--pull-color-error)\",\n borderRadius: \"var(--pull-radius-md)\",\n fontSize: \"var(--pull-font-size-sm)\",\n marginBottom: \"var(--pull-space-lg)\"\n }, role: \"alert\", children: error })), _jsxs(\"div\", { className: \"pull-form\", children: [_jsxs(\"fieldset\", { style: {\n border: \"1px solid var(--pull-color-border)\",\n borderRadius: \"var(--pull-radius-md)\",\n padding: \"var(--pull-space-lg)\",\n margin: 0,\n minWidth: 0\n }, children: [_jsx(\"legend\", { style: {\n fontSize: \"var(--pull-font-size-sm)\",\n fontWeight: \"var(--pull-font-weight-semibold)\",\n color: \"var(--pull-color-text-muted)\",\n padding: \"0 var(--pull-space-sm)\"\n }, children: \"GDS Connection\" }), _jsxs(\"div\", { className: \"pull-form__field\", children: [_jsx(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-gds-url\", children: \"GDS Endpoint URL\" }), _jsx(\"input\", { id: \"pull-gds-url\", className: \"pull-form__input\", type: \"text\", value: form.gdsEndpointUrl, onChange: (e) => update(\"gdsEndpointUrl\", e.target.value), placeholder: \"opc.tcp://gds-server:4840\", required: true, disabled: submitting })] }), _jsxs(\"div\", { className: \"pull-grid-2col\", style: { marginTop: \"var(--pull-space-md)\" }, children: [_jsxs(\"div\", { className: \"pull-form__field\", children: [_jsx(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-admin-user\", children: \"Admin Username\" }), _jsx(\"input\", { id: \"pull-admin-user\", className: \"pull-form__input\", type: \"text\", value: form.adminUsername, onChange: (e) => update(\"adminUsername\", e.target.value), placeholder: \"admin\", required: true, disabled: submitting, autoComplete: \"username\" })] }), _jsxs(\"div\", { className: \"pull-form__field\", children: [_jsx(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-admin-pass\", children: \"Admin Password\" }), _jsx(\"input\", { id: \"pull-admin-pass\", className: \"pull-form__input\", type: \"password\", value: form.adminPassword, onChange: (e) => update(\"adminPassword\", e.target.value), required: true, disabled: submitting, autoComplete: \"current-password\" })] })] })] }), _jsxs(\"fieldset\", { style: {\n border: \"1px solid var(--pull-color-border)\",\n borderRadius: \"var(--pull-radius-md)\",\n padding: \"var(--pull-space-lg)\",\n margin: 0,\n minWidth: 0\n }, children: [_jsx(\"legend\", { style: {\n fontSize: \"var(--pull-font-size-sm)\",\n fontWeight: \"var(--pull-font-weight-semibold)\",\n color: \"var(--pull-color-text-muted)\",\n padding: \"0 var(--pull-space-sm)\"\n }, children: \"Application Identity\" }), _jsxs(\"div\", { className: \"pull-form__field\", children: [_jsxs(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-app-uri\", children: [\"Application URI \", isLocked(\"applicationUri\") && \"🔒\"] }), _jsx(\"input\", { id: \"pull-app-uri\", className: \"pull-form__input\", type: \"text\", value: form.applicationUri, onChange: (e) => update(\"applicationUri\", e.target.value), placeholder: \"urn:my-host:my-application\", required: true, disabled: isFieldDisabled(\"applicationUri\"), readOnly: isLocked(\"applicationUri\"), style: inputStyleFor(\"applicationUri\") })] }), _jsxs(\"div\", { className: \"pull-grid-2-1\", style: { marginTop: \"var(--pull-space-md)\" }, children: [_jsxs(\"div\", { className: \"pull-form__field\", children: [_jsxs(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-app-name\", children: [\"Application Name \", isLocked(\"applicationName\") && \"🔒\"] }), _jsx(\"input\", { id: \"pull-app-name\", className: \"pull-form__input\", type: \"text\", value: form.applicationName, onChange: (e) => update(\"applicationName\", e.target.value), placeholder: \"My OPC UA Application\", required: true, disabled: isFieldDisabled(\"applicationName\"), readOnly: isLocked(\"applicationName\"), style: inputStyleFor(\"applicationName\") })] }), _jsxs(\"div\", { className: \"pull-form__field\", children: [_jsxs(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-app-type\", children: [\"Type \", isLocked(\"applicationType\") && \"🔒\"] }), _jsxs(\"select\", { id: \"pull-app-type\", className: \"pull-form__input\", value: form.applicationType, onChange: (e) => update(\"applicationType\", e.target.value), disabled: isFieldDisabled(\"applicationType\"), style: inputStyleFor(\"applicationType\"), children: [_jsx(\"option\", { value: \"Client\", children: \"Client\" }), _jsx(\"option\", { value: \"Server\", children: \"Server\" }), _jsx(\"option\", { value: \"ClientAndServer\", children: \"Client & Server\" }), _jsx(\"option\", { value: \"DiscoveryServer\", children: \"Discovery Server\" })] })] })] }), _jsx(\"div\", { style: { marginTop: \"var(--pull-space-md)\" }, children: _jsx(SubjectNameEditor, { value: form.subjectName, onChange: (val) => update(\"subjectName\", val), disabled: submitting }) }), _jsxs(\"div\", { className: \"pull-grid-2col\", style: { marginTop: \"var(--pull-space-md)\" }, children: [_jsx(SanListEditor, { id: \"pull-dns\", label: \"DNS Names\", kind: \"dns\", value: form.dnsNames, onChange: (val) => update(\"dnsNames\", val), disabled: isFieldDisabled(\"dnsNames\"), readOnly: isLocked(\"dnsNames\"), locked: isLocked(\"dnsNames\"), placeholder: \"myhost.local\" }), _jsx(SanListEditor, { id: \"pull-ip\", label: \"IP Addresses\", kind: \"ip\", value: form.ipAddresses, onChange: (val) => update(\"ipAddresses\", val), disabled: isFieldDisabled(\"ipAddresses\"), readOnly: isLocked(\"ipAddresses\"), locked: isLocked(\"ipAddresses\"), placeholder: \"192.168.1.10\" })] }), isServer && (_jsxs(\"div\", { className: \"pull-form__field\", style: { marginTop: \"var(--pull-space-md)\" }, children: [_jsx(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-discovery\", children: \"Discovery URLs\" }), _jsx(\"input\", { id: \"pull-discovery\", className: \"pull-form__input\", type: \"text\", value: form.discoveryUrls, onChange: (e) => update(\"discoveryUrls\", e.target.value), placeholder: \"opc.tcp://myhost:4840\", disabled: submitting })] })), _jsx(\"button\", { type: \"button\", onClick: () => setShowAdvanced(!showAdvanced), style: {\n background: \"none\",\n border: \"none\",\n color: \"var(--pull-color-accent)\",\n fontSize: \"var(--pull-font-size-xs)\",\n cursor: \"pointer\",\n marginTop: \"var(--pull-space-sm)\",\n padding: 0\n }, children: showAdvanced ? \"▾ Hide advanced\" : \"▸ Show advanced\" }), showAdvanced && (_jsxs(\"div\", { className: \"pull-form__field\", style: { marginTop: \"var(--pull-space-sm)\" }, children: [_jsx(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-product-uri\", children: \"Product URI\" }), _jsx(\"input\", { id: \"pull-product-uri\", className: \"pull-form__input\", type: \"text\", value: form.productUri, onChange: (e) => update(\"productUri\", e.target.value), placeholder: \"urn:my-company:my-product\", disabled: submitting })] }))] }), _jsx(\"button\", { type: \"submit\", className: \"pull-btn pull-btn--primary\", disabled: submitting || !form.applicationUri || !form.applicationName || !form.adminUsername || !form.adminPassword, style: { alignSelf: \"flex-end\" }, children: submitting ? \"⏳ Enrolling…\" : \"🚀 Start Enrollment\" })] })] }));\n}\n//# sourceMappingURL=EnrollmentForm.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst STATUS_CONFIG = {\n \"not-enrolled\": { icon: \"🛡️\", label: \"Not Enrolled\", className: \"pull-badge--not-enrolled\" },\n \"self-signed\": { icon: \"⚠️\", label: \"Self-Signed\", className: \"pull-badge--self-signed\" },\n enrolled: { icon: \"✅\", label: \"Enrolled (CA-Signed)\", className: \"pull-badge--enrolled\" },\n expired: { icon: \"🔴\", label: \"Expired\", className: \"pull-badge--expired\" }\n};\n/**\n * Compact badge showing the current enrollment status.\n *\n * Color-coded with icon for quick visual scanning.\n */\nexport function EnrollmentStatusBadge({ status, tooltip }) {\n const config = STATUS_CONFIG[status];\n return (_jsxs(\"span\", { className: `pull-badge ${config.className}`, title: tooltip, role: \"status\", \"aria-label\": `Enrollment status: ${config.label}`, children: [_jsx(\"span\", { className: \"pull-badge__icon\", \"aria-hidden\": \"true\", children: config.icon }), config.label] }));\n}\n//# sourceMappingURL=EnrollmentStatusBadge.js.map","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useCallback, useState } from \"react\";\nimport { normalizeHexIp } from \"./SanListEditor.js\";\n// ── Helpers ───────────────────────────────────────────────────\n/** Extract a named field from a subject string like \"countryName=FR, localityName=Orleans, ...\". */\nfunction extractField(subject, fieldName) {\n const re = new RegExp(`${fieldName}=([^,]+)`);\n const match = subject.match(re);\n return match ? match[1].trim() : \"—\";\n}\nfunction defaultBadge(daysRemaining) {\n const base = \"px-3 py-1 text-sm font-medium border rounded-full\";\n if (daysRemaining <= 0) {\n return (_jsxs(\"span\", { className: `${base} bg-red-100 text-red-800 border-red-300`, children: [\"\\u274C Expired \", Math.abs(daysRemaining), \" days ago\"] }));\n }\n if (daysRemaining <= 30) {\n return (_jsxs(\"span\", { className: `${base} bg-yellow-100 text-yellow-800 border-yellow-300`, children: [\"\\u26A0\\uFE0F Expires in \", daysRemaining, \" days\"] }));\n }\n return (_jsxs(\"span\", { className: `${base} bg-green-100 text-green-800 border-green-300`, children: [\"\\u2705 Valid (\", daysRemaining, \" days remaining)\"] }));\n}\n// ── Component ─────────────────────────────────────────────────\nfunction Row({ label, value, mono }) {\n return (_jsxs(\"tr\", { children: [_jsx(\"td\", { className: \"py-2 pr-4 font-medium text-gray-500 align-top whitespace-nowrap\", children: label }), _jsx(\"td\", { className: `py-2 text-gray-800 ${mono ? \"font-mono text-xs break-all\" : \"\"}`, children: value })] }));\n}\n/**\n * Display card for the \"own\" application certificate.\n *\n * - Decodes raw-hex SAN IPs defensively via {@link normalizeHexIp},\n * so a backend that forgets to normalize doesn't surface\n * `c0a80101` instead of `192.168.1.1`.\n * - Includes a copy-to-clipboard button on the thumbprint.\n * - Renders a default validity badge based on `daysRemaining`,\n * overridable via `headerRight`.\n */\nexport function OwnCertificateCard({ cert, pkiFolder, title = \"🔐 Own Certificate\", headerRight, onThumbprintCopied, }) {\n const [copyHint, setCopyHint] = useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(cert.thumbprint).then(() => {\n setCopyHint(true);\n window.setTimeout(() => setCopyHint(false), 1200);\n onThumbprintCopied?.();\n });\n }, [cert.thumbprint, onThumbprintCopied]);\n const ips = (cert.ipAddresses ?? []).map(normalizeHexIp);\n return (_jsxs(\"div\", { className: \"overflow-hidden border border-gray-200 rounded-xl\", children: [_jsxs(\"div\", { className: \"flex items-center justify-between px-6 py-4 border-b border-gray-200 bg-gray-50\", children: [_jsx(\"h3\", { className: \"text-lg font-semibold text-gray-800\", children: title }), headerRight ?? defaultBadge(cert.daysRemaining)] }), _jsxs(\"div\", { className: \"p-6\", children: [_jsx(\"table\", { className: \"w-full text-sm\", children: _jsxs(\"tbody\", { children: [_jsx(Row, { label: \"CN\", value: extractField(cert.subject, \"commonName\") }), _jsx(Row, { label: \"Organization\", value: extractField(cert.subject, \"organizationName\") }), _jsx(Row, { label: \"Location\", value: `${extractField(cert.subject, \"localityName\")} / ${extractField(cert.subject, \"countryName\")}` }), _jsx(Row, { label: \"Serial\", value: cert.serialNumber, mono: true }), _jsx(Row, { label: \"Valid from\", value: new Date(cert.validFrom).toLocaleDateString() }), _jsx(Row, { label: \"Valid to\", value: new Date(cert.validTo).toLocaleDateString() }), _jsx(Row, { label: \"Key\", value: `RSA ${cert.keySize}-bit` }), _jsx(Row, { label: \"Self-signed\", value: cert.selfSigned ? \"Yes\" : \"No (CA-signed)\" }), cert.applicationUri && _jsx(Row, { label: \"Application URI\", value: cert.applicationUri, mono: true }), cert.dnsNames && cert.dnsNames.length > 0 && (_jsx(Row, { label: \"DNS\", value: cert.dnsNames.join(\", \") })), ips.length > 0 && _jsx(Row, { label: \"IP\", value: ips.join(\", \") }), _jsxs(\"tr\", { children: [_jsx(\"td\", { className: \"py-2 pr-4 font-medium text-gray-500 align-top whitespace-nowrap\", children: \"Thumbprint\" }), _jsxs(\"td\", { className: \"py-2 text-gray-800\", children: [_jsx(\"code\", { className: \"px-2 py-1 text-xs break-all rounded bg-gray-50\", children: cert.thumbprint }), _jsx(\"button\", { type: \"button\", onClick: handleCopy, title: copyHint ? \"Copied!\" : \"Copy thumbprint\", className: \"ml-2 text-sm text-blue-600 hover:text-blue-800\", children: copyHint ? \"✅\" : \"📋\" })] })] })] }) }), pkiFolder && (_jsxs(\"p\", { className: \"mt-3 pt-3 border-t border-gray-100 text-xs text-gray-400 font-mono truncate\", title: pkiFolder, children: [\"\\uD83D\\uDCC1 \", pkiFolder] }))] })] }));\n}\n//# sourceMappingURL=OwnCertificateCard.js.map","// ----------------------------------------------------------------------------\n// Shared types from the Pull Certificate Management workflow.\n//\n// These types are duplicated here from `@sterfive/opcua-pull-certificate-backend`\n// so the React package has ZERO runtime dependency on the backend package\n// (which transitively pulls in the entire node-opcua stack).\n// ----------------------------------------------------------------------------\n/**\n * States of the Pull Certificate Management workflow.\n *\n * ```\n * Idle → Connecting → Connected → Registering → Registered\n * → CheckingStatus → NeedsUpdate → GeneratingCSR\n * → SubmittingCSR → WaitingSigning → CertificateReceived\n * → SyncingTrustList → ApplyingLocally → Complete\n * or\n * CheckingStatus → UpToDate → SyncingTrustList → ... → Complete\n * → GeneratingCSR (first-time, no cert)\n * ```\n */\nexport var PullState;\n(function (PullState) {\n PullState[\"Idle\"] = \"Idle\";\n PullState[\"Connecting\"] = \"Connecting\";\n PullState[\"Connected\"] = \"Connected\";\n PullState[\"Registering\"] = \"Registering\";\n PullState[\"Registered\"] = \"Registered\";\n PullState[\"CheckingStatus\"] = \"CheckingStatus\";\n PullState[\"UpToDate\"] = \"UpToDate\";\n PullState[\"NeedsUpdate\"] = \"NeedsUpdate\";\n PullState[\"GeneratingCSR\"] = \"GeneratingCSR\";\n PullState[\"SubmittingCSR\"] = \"SubmittingCSR\";\n PullState[\"WaitingSigning\"] = \"WaitingSigning\";\n PullState[\"CertificateReceived\"] = \"CertificateReceived\";\n PullState[\"SyncingTrustList\"] = \"SyncingTrustList\";\n PullState[\"ApplyingLocally\"] = \"ApplyingLocally\";\n PullState[\"Complete\"] = \"Complete\";\n PullState[\"Error\"] = \"Error\";\n})(PullState || (PullState = {}));\n//# sourceMappingURL=types.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from \"react\";\nimport { PullState } from \"../types.js\";\nconst PHASES = [\n {\n label: \"Connect\",\n icon: \"🔗\",\n states: [PullState.Connecting, PullState.Connected]\n },\n {\n label: \"Register\",\n icon: \"📋\",\n states: [PullState.Registering, PullState.Registered]\n },\n {\n label: \"Check\",\n icon: \"🔍\",\n states: [PullState.CheckingStatus, PullState.UpToDate, PullState.NeedsUpdate]\n },\n {\n label: \"Sign\",\n icon: \"✍️\",\n states: [PullState.GeneratingCSR, PullState.SubmittingCSR, PullState.WaitingSigning, PullState.CertificateReceived]\n },\n {\n label: \"Apply\",\n icon: \"📥\",\n states: [PullState.SyncingTrustList, PullState.ApplyingLocally]\n },\n {\n label: \"Done\",\n icon: \"✅\",\n states: [PullState.Complete]\n }\n];\nfunction getPhaseStatus(phase, currentState, isError) {\n if (currentState === PullState.Error && isError) {\n // Find which phase was active when error occurred\n // by checking if any state in this phase matches the error's origin\n return \"pending\";\n }\n // Build a flat index of all states → their phase index\n let currentPhaseIdx = -1;\n let thisPhaseIdx = -1;\n for (let i = 0; i < PHASES.length; i++) {\n if (PHASES[i].states.includes(currentState))\n currentPhaseIdx = i;\n if (PHASES[i] === phase)\n thisPhaseIdx = i;\n }\n if (thisPhaseIdx < currentPhaseIdx)\n return \"completed\";\n if (thisPhaseIdx === currentPhaseIdx)\n return \"active\";\n return \"pending\";\n}\n/** Format milliseconds-from-now into \"Ns\" / \"Nms\" for the countdown line. */\nfunction formatCountdown(targetMs) {\n const remaining = targetMs - Date.now();\n if (remaining <= 0)\n return \"now\";\n if (remaining < 1000)\n return `${remaining}ms`;\n return `${Math.ceil(remaining / 1000)}s`;\n}\n/**\n * Compact horizontal stepper showing Pull Certificate workflow.\n *\n * Groups the 15 states into 6 logical phases displayed as a\n * horizontal pipeline with icons and a progress bar. Shows the\n * current sub-step label below.\n *\n * When the workflow is in the `Connecting` phase and the backend\n * surfaces `connectionAttempt` data, renders an inline status line\n * with the attempt count, countdown to the next retry, last error,\n * and a \"Cancel & reset\" button. This prevents the UI from getting\n * stuck on an unreachable GDS.\n */\nexport function PullWorkflowStepper({ sm, onCancel }) {\n const { state, progress, isError, connectionAttempt, connectionCancelled } = sm;\n // Tick once a second while we're showing a countdown so the\n // \"retrying in Ns\" label updates without polling the SDK.\n const [, setTick] = useState(0);\n useEffect(() => {\n if (state !== PullState.Connecting || !connectionAttempt?.nextRetryAt)\n return;\n const id = setInterval(() => setTick((t) => t + 1), 1000);\n return () => clearInterval(id);\n }, [state, connectionAttempt?.nextRetryAt]);\n // Find current sub-step label\n const currentLabel = state === PullState.Idle ? \"Ready\" : state === PullState.Error ? `Error` : state.replace(/([A-Z])/g, \" $1\").trim();\n return (_jsxs(\"div\", { className: \"pull-card\", style: { padding: \"var(--pull-space-lg)\" }, children: [_jsxs(\"div\", { style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginBottom: \"var(--pull-space-md)\"\n }, children: [_jsx(\"span\", { style: {\n fontSize: \"var(--pull-font-size-sm)\",\n fontWeight: \"var(--pull-font-weight-semibold)\",\n color: \"var(--pull-color-text-heading)\"\n }, children: \"Pull Workflow\" }), _jsx(\"span\", { style: {\n fontSize: \"var(--pull-font-size-xs)\",\n color: isError\n ? \"var(--pull-color-error)\"\n : state === PullState.Complete\n ? \"var(--pull-color-success)\"\n : \"var(--pull-color-accent)\",\n fontFamily: \"var(--pull-font-mono)\"\n }, children: currentLabel })] }), _jsx(\"div\", { className: \"pull-progress\", role: \"progressbar\", \"aria-valuenow\": progress, \"aria-valuemin\": 0, \"aria-valuemax\": 100, children: _jsx(\"div\", { className: \"pull-progress__fill\", style: {\n width: `${Math.max(0, progress)}%`,\n background: isError\n ? \"var(--pull-color-error)\"\n : state === PullState.Complete\n ? \"var(--pull-color-success)\"\n : undefined\n } }) }), _jsx(\"div\", { style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginTop: \"var(--pull-space-md)\",\n gap: \"var(--pull-space-md)\",\n maxWidth: \"640px\",\n marginInline: \"auto\"\n }, role: \"list\", \"aria-label\": \"Pull certificate workflow phases\", children: PHASES.map((phase) => {\n const status = getPhaseStatus(phase, state, isError);\n return (_jsxs(\"div\", { role: \"listitem\", \"aria-current\": status === \"active\" ? \"step\" : undefined, style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"var(--pull-space-xs)\",\n flex: 1,\n opacity: status === \"pending\" ? 0.35 : 1,\n transition: \"all var(--pull-transition-normal)\"\n }, children: [_jsx(\"span\", { style: {\n fontSize: \"var(--pull-font-size-md)\",\n animation: status === \"active\" ? \"pull-pulse 1.5s ease-in-out infinite\" : undefined\n }, children: status === \"completed\" ? \"✓\" : status === \"error\" ? \"✕\" : phase.icon }), _jsx(\"span\", { style: {\n fontSize: \"var(--pull-font-size-xs)\",\n color: status === \"completed\"\n ? \"var(--pull-color-success)\"\n : status === \"active\"\n ? \"var(--pull-color-accent)\"\n : status === \"error\"\n ? \"var(--pull-color-error)\"\n : \"var(--pull-color-text-muted)\",\n fontWeight: status === \"active\" ? \"var(--pull-font-weight-medium)\" : undefined\n }, children: phase.label })] }, phase.label));\n }) }), state === PullState.Connecting && connectionAttempt && (_jsxs(\"div\", { role: \"status\", \"aria-live\": \"polite\", style: {\n marginTop: \"var(--pull-space-md)\",\n padding: \"var(--pull-space-sm) var(--pull-space-md)\",\n background: \"var(--pull-color-warning-bg)\",\n border: \"1px solid var(--pull-color-warning)\",\n borderRadius: \"var(--pull-radius-md)\",\n fontSize: \"var(--pull-font-size-xs)\",\n color: \"var(--pull-color-text)\",\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n gap: \"var(--pull-space-md)\"\n }, children: [_jsxs(\"div\", { style: { flex: 1, minWidth: \"12ch\" }, children: [_jsxs(\"div\", { children: [_jsxs(\"strong\", { children: [\"Attempt \", connectionAttempt.count] }), connectionAttempt.nextRetryAt\n ? ` — retrying in ${formatCountdown(connectionAttempt.nextRetryAt.getTime())}`\n : \" — connecting…\"] }), connectionAttempt.lastError && (_jsx(\"div\", { style: {\n color: \"var(--pull-color-text-muted)\",\n fontFamily: \"var(--pull-font-mono)\",\n marginTop: \"2px\"\n }, children: connectionAttempt.lastError })), _jsx(\"div\", { style: {\n color: \"var(--pull-color-text-muted)\",\n fontFamily: \"var(--pull-font-mono)\",\n marginTop: \"2px\"\n }, children: connectionAttempt.endpointUrl })] }), onCancel && (_jsx(\"button\", { type: \"button\", className: \"pull-btn pull-btn--secondary\", onClick: onCancel, style: { fontSize: \"var(--pull-font-size-xs)\" }, children: \"\\u2715 Cancel & reset\" }))] })), connectionCancelled && state !== PullState.Connecting && (_jsxs(\"div\", { role: \"status\", style: {\n marginTop: \"var(--pull-space-md)\",\n padding: \"var(--pull-space-sm) var(--pull-space-md)\",\n background: \"var(--pull-color-error-bg)\",\n border: \"1px solid var(--pull-color-error)\",\n borderRadius: \"var(--pull-radius-md)\",\n fontSize: \"var(--pull-font-size-xs)\",\n color: \"var(--pull-color-error)\"\n }, children: [\"Connection \", connectionCancelled.reason === \"user-cancel\" ? \"cancelled\" : \"failed\", \" after\", \" \", connectionCancelled.attempts, \" attempt\", connectionCancelled.attempts === 1 ? \"\" : \"s\", \" (\", connectionCancelled.reason, \").\"] }))] }));\n}\n//# sourceMappingURL=PullWorkflowStepper.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\n// ── Helpers ───────────────────────────────────────────────────\nfunction formatTime(d) {\n return d.toLocaleTimeString(\"en-US\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n });\n}\nfunction formatRelative(d) {\n const ms = d.getTime() - Date.now();\n if (ms < 0)\n return \"overdue\";\n const sec = Math.floor(ms / 1000);\n if (sec < 60)\n return `${sec}s`;\n const min = Math.floor(sec / 60);\n if (min < 60)\n return `${min}m ${sec % 60}s`;\n const hr = Math.floor(min / 60);\n return `${hr}h ${min % 60}m`;\n}\nfunction eventIcon(type) {\n switch (type) {\n case \"check-started\":\n return \"🔄\";\n case \"check-completed\":\n return \"✅\";\n case \"loop-stopped\":\n return \"⏹\";\n case \"error\":\n return \"❌\";\n }\n}\n// ── Component ─────────────────────────────────────────────────\n/**\n * Panel showing the renewal loop status and event history.\n *\n * Provides controls to start/stop the loop and trigger immediate\n * certificate checks. The event log is shown as a scrollable list.\n */\nexport function RenewalStatusPanel({ status, events, onStartLoop, onStopLoop, onCheckNow }) {\n const [logExpanded, setLogExpanded] = useState(true);\n return (_jsxs(\"div\", { className: \"pull-card\", children: [_jsxs(\"div\", { className: \"pull-card__header\", children: [_jsx(\"h3\", { className: \"pull-card__title\", children: \"\\uD83D\\uDD04 Renewal Loop\" }), _jsxs(\"div\", { style: { display: \"flex\", gap: \"var(--pull-space-sm)\" }, children: [status.loopActive ? (_jsx(\"button\", { className: \"pull-btn pull-btn--secondary\", onClick: onStopLoop, disabled: !onStopLoop, style: { fontSize: \"var(--pull-font-size-xs)\", padding: \"var(--pull-space-xs) var(--pull-space-md)\" }, children: \"\\u23F9 Stop\" })) : (_jsx(\"button\", { className: \"pull-btn pull-btn--primary\", onClick: onStartLoop, disabled: !onStartLoop, style: { fontSize: \"var(--pull-font-size-xs)\", padding: \"var(--pull-space-xs) var(--pull-space-md)\" }, children: \"\\u25B6 Start\" })), _jsx(\"button\", { className: \"pull-btn pull-btn--secondary\", onClick: onCheckNow, disabled: !onCheckNow || status.checking, style: { fontSize: \"var(--pull-font-size-xs)\", padding: \"var(--pull-space-xs) var(--pull-space-md)\" }, children: status.checking ? \"⏳ Checking…\" : \"🔍 Check Now\" })] })] }), _jsxs(\"div\", { className: \"pull-grid-3col\", style: { marginBottom: \"var(--pull-space-lg)\" }, children: [_jsxs(\"div\", { style: { textAlign: \"center\" }, children: [_jsx(\"div\", { style: {\n fontSize: \"var(--pull-font-size-xs)\",\n color: \"var(--pull-color-text-muted)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"var(--pull-space-xs)\"\n }, children: \"Status\" }), _jsx(\"div\", { style: {\n fontSize: \"var(--pull-font-size-sm)\",\n fontWeight: \"var(--pull-font-weight-semibold)\",\n color: status.loopActive ? \"var(--pull-color-success)\" : \"var(--pull-color-text-muted)\"\n }, children: status.checking ? \"Checking…\" : status.loopActive ? \"Active\" : \"Stopped\" })] }), _jsxs(\"div\", { style: { textAlign: \"center\" }, children: [_jsx(\"div\", { style: {\n fontSize: \"var(--pull-font-size-xs)\",\n color: \"var(--pull-color-text-muted)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"var(--pull-space-xs)\"\n }, children: \"Checks\" }), _jsx(\"div\", { style: {\n fontSize: \"var(--pull-font-size-sm)\",\n fontWeight: \"var(--pull-font-weight-semibold)\",\n fontFamily: \"var(--pull-font-mono)\"\n }, children: status.checkCount })] }), _jsxs(\"div\", { style: { textAlign: \"center\" }, children: [_jsx(\"div\", { style: {\n fontSize: \"var(--pull-font-size-xs)\",\n color: \"var(--pull-color-text-muted)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"var(--pull-space-xs)\"\n }, children: \"Next Check\" }), _jsx(\"div\", { style: {\n fontSize: \"var(--pull-font-size-sm)\",\n fontFamily: \"var(--pull-font-mono)\"\n }, children: status.nextCheckAt ? formatRelative(status.nextCheckAt) : \"—\" })] })] }), _jsxs(\"div\", { children: [_jsxs(\"button\", { type: \"button\", onClick: () => setLogExpanded(!logExpanded), style: {\n background: \"none\",\n border: \"none\",\n color: \"var(--pull-color-text-muted)\",\n fontSize: \"var(--pull-font-size-xs)\",\n cursor: \"pointer\",\n padding: 0,\n marginBottom: \"var(--pull-space-sm)\"\n }, children: [logExpanded ? \"▾\" : \"▸\", \" Event Log (\", events.length, \")\"] }), logExpanded && (_jsx(\"div\", { className: \"pull-event-log\", \"data-testid\": \"renewal-event-log\", children: events.length === 0 ? (_jsx(\"div\", { style: {\n color: \"var(--pull-color-text-muted)\",\n fontStyle: \"italic\"\n }, children: \"No events yet\" })) : (events.map((event) => (_jsxs(\"div\", { className: \"pull-event-log__entry\", children: [_jsx(\"span\", { className: \"pull-event-log__time\", children: formatTime(event.timestamp) }), _jsxs(\"span\", { children: [eventIcon(event.type), \" \", event.message] })] }, `${event.timestamp.getTime()}-${event.type}-${event.message}`)))) }))] })] }));\n}\n//# sourceMappingURL=RenewalStatusPanel.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { PullState } from \"../types.js\";\nimport { CertificateInfoCard } from \"./CertificateInfoCard.js\";\nimport { EnrollmentForm } from \"./EnrollmentForm.js\";\nimport { EnrollmentStatusBadge } from \"./EnrollmentStatusBadge.js\";\nimport { PullWorkflowStepper } from \"./PullWorkflowStepper.js\";\nimport { RenewalStatusPanel } from \"./RenewalStatusPanel.js\";\n// ── Component ─────────────────────────────────────────────────\n/**\n * Top-level Pull Certificate Management dashboard.\n *\n * Routes between views based on `enrollmentStatus`:\n * - `not-enrolled` / `self-signed` → EnrollmentForm + Stepper\n * - `enrolled` → CertificateInfoCard + RenewalStatusPanel\n * - `expired` → Warning banner + EnrollmentForm\n */\nexport function PullDashboard(props) {\n const { enrollmentStatus, currentState, progress = 0, onEnroll, enrolling = false, enrollmentDefaults, readonlyFields, enrollmentError, certificate, applicationInfo, onFetchAppInfo, fetchingAppInfo = false, renewalStatus, renewalEvents = [], onStartRenewalLoop, onStopRenewalLoop, onCheckNow, onFactoryReset, onRetry, onCancelConnect, connectionAttempt = null, connectionCancelled = null } = props;\n const isInError = currentState === PullState.Error;\n const isComplete = currentState === PullState.Complete;\n // During active onboarding (workflow running, not yet terminal),\n // only show the stepper — hide form and cert card.\n const isOnboarding = currentState !== undefined && currentState !== PullState.Idle && !isComplete && !isInError;\n const showEnrollmentForm = !isOnboarding &&\n (enrollmentStatus === \"not-enrolled\" || enrollmentStatus === \"self-signed\" || enrollmentStatus === \"expired\" || isInError);\n const showCertificate = !isOnboarding && (enrollmentStatus === \"enrolled\" || enrollmentStatus === \"expired\");\n return (_jsxs(\"div\", { style: { display: \"flex\", flexDirection: \"column\", gap: \"var(--pull-space-lg)\" }, children: [_jsx(\"div\", { className: \"pull-card\", style: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n flexWrap: \"wrap\",\n gap: \"var(--pull-space-md)\"\n }, children: _jsxs(\"div\", { style: { display: \"flex\", alignItems: \"center\", gap: \"var(--pull-space-md)\" }, children: [_jsx(\"h2\", { style: {\n margin: 0,\n fontSize: \"var(--pull-font-size-lg)\",\n fontWeight: \"var(--pull-font-weight-semibold)\",\n color: \"var(--pull-color-text-heading)\"\n }, children: \"\\uD83D\\uDD10 Pull Certificate Manager\" }), _jsx(EnrollmentStatusBadge, { status: enrollmentStatus })] }) }), enrollmentStatus === \"expired\" && (_jsx(\"div\", { style: {\n padding: \"var(--pull-space-md) var(--pull-space-lg)\",\n background: \"var(--pull-color-error-bg)\",\n border: \"1px solid var(--pull-color-error)\",\n borderRadius: \"var(--pull-radius-md)\",\n color: \"var(--pull-color-error)\",\n fontWeight: \"var(--pull-font-weight-medium)\"\n }, children: \"\\u26A0 Your certificate has expired. Re-enroll with the GDS to obtain a new CA-signed certificate, or perform a factory reset to start fresh.\" })), isInError && (_jsxs(\"div\", { style: {\n padding: \"var(--pull-space-md) var(--pull-space-lg)\",\n background: \"var(--pull-color-error-bg)\",\n border: \"1px solid var(--pull-color-error)\",\n borderRadius: \"var(--pull-radius-md)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n flexWrap: \"wrap\",\n gap: \"var(--pull-space-md)\"\n }, children: [_jsx(\"span\", { style: {\n color: \"var(--pull-color-error)\",\n fontWeight: \"var(--pull-font-weight-medium)\"\n }, children: \"\\u26A0 The enrollment workflow encountered an error. You can retry enrollment or perform a factory reset.\" }), _jsx(\"div\", { style: { display: \"flex\", gap: \"var(--pull-space-sm)\" }, children: onRetry && (_jsx(\"button\", { className: \"pull-btn pull-btn--primary\", onClick: onRetry, children: \"\\u21BB Retry Enrollment\" })) })] })), currentState !== undefined && (isOnboarding || currentState !== PullState.Idle) && (_jsx(PullWorkflowStepper, { sm: {\n state: currentState,\n progress,\n phase: \"\",\n error: null,\n history: [],\n isTerminal: currentState === PullState.Complete || currentState === PullState.Error,\n isError: currentState === PullState.Error,\n connectionAttempt,\n connectionCancelled\n }, onCancel: onCancelConnect })), !isOnboarding && (_jsxs(\"div\", { style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--pull-space-lg)\",\n width: \"100%\",\n maxWidth: \"960px\",\n marginInline: \"auto\"\n }, children: [showEnrollmentForm && onEnroll && (_jsx(EnrollmentForm, { onSubmit: onEnroll, submitting: enrolling, defaults: enrollmentDefaults, readonlyFields: readonlyFields, error: enrollmentError })), showCertificate && renewalStatus ? (_jsxs(\"div\", { className: \"pull-grid-2col\", style: { alignItems: \"start\" }, children: [_jsx(CertificateInfoCard, { certificate: certificate ?? null, applicationInfo: applicationInfo ?? null, onFetchAppInfo: onFetchAppInfo, loadingAppInfo: fetchingAppInfo }), _jsx(RenewalStatusPanel, { status: renewalStatus, events: renewalEvents, onStartLoop: onStartRenewalLoop, onStopLoop: onStopRenewalLoop, onCheckNow: onCheckNow })] })) : (_jsxs(_Fragment, { children: [showCertificate && (_jsx(CertificateInfoCard, { certificate: certificate ?? null, applicationInfo: applicationInfo ?? null, onFetchAppInfo: onFetchAppInfo, loadingAppInfo: fetchingAppInfo })), renewalStatus && (_jsx(RenewalStatusPanel, { status: renewalStatus, events: renewalEvents, onStartLoop: onStartRenewalLoop, onStopLoop: onStopRenewalLoop, onCheckNow: onCheckNow }))] }))] })), onFactoryReset && enrollmentStatus !== \"not-enrolled\" && (_jsx(\"div\", { style: { textAlign: \"right\", paddingTop: \"var(--pull-space-sm)\" }, children: _jsx(\"button\", { onClick: () => {\n if (window.confirm(\"⚠ Factory Reset\\n\\n\" +\n \"This will delete the CA-signed certificate and private key.\\n\" +\n \"You will need GDS admin credentials to re-enroll.\\n\\n\" +\n \"Are you sure?\")) {\n onFactoryReset();\n }\n }, style: {\n background: \"none\",\n border: \"none\",\n color: \"var(--pull-color-text-muted)\",\n fontSize: \"var(--pull-font-size-xs)\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n padding: \"var(--pull-space-xs)\",\n opacity: 0.6,\n transition: \"opacity var(--pull-transition-normal)\"\n }, onMouseEnter: (e) => {\n e.currentTarget.style.opacity = \"1\";\n e.currentTarget.style.color = \"var(--pull-color-error)\";\n }, onMouseLeave: (e) => {\n e.currentTarget.style.opacity = \"0.6\";\n e.currentTarget.style.color = \"var(--pull-color-text-muted)\";\n }, children: \"Factory Reset\\u2026\" }) }))] }));\n}\n//# sourceMappingURL=PullDashboard.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from \"react\";\nimport { CertSubjectFieldset } from \"./CertSubjectFieldset.js\";\nexport const DEFAULT_VALIDITY_OPTIONS = [\n { value: 15, label: \"15 days\" },\n { value: 30, label: \"1 month\" },\n { value: 90, label: \"3 months\" },\n { value: 180, label: \"6 months\" },\n { value: 365, label: \"1 year\" },\n { value: 730, label: \"2 years\" },\n { value: 1825, label: \"5 years\" },\n { value: 3650, label: \"10 years\" }\n];\nconst EMPTY = {\n subjectName: \"\",\n applicationUri: \"\",\n dnsNames: \"\",\n ipAddresses: \"\",\n validityDays: 365,\n keySize: 2048\n};\nconst COPY = {\n create: {\n title: \"🔐 Create Self-Signed Certificate\",\n subtitle: \"Configure the certificate subject and parameters below.\",\n submit: \"Create Certificate\",\n submitBusy: \"⏳ Creating…\"\n },\n renew: {\n title: \"🔄 Renew Self-Signed Certificate\",\n subtitle: \"Review and update the certificate parameters below. The new certificate will replace the existing one.\",\n submit: \"Renew Certificate\",\n submitBusy: \"⏳ Renewing…\"\n }\n};\n/**\n * Form for creating or renewing a self-signed application certificate.\n *\n * `intent=\"create\"` and `intent=\"renew\"` change only the header copy\n * and the submit-button label; the data shape and submit semantics are\n * identical (both produce the same `SelfSignedCertFormData`). The\n * caller decides whether to invoke a \"create\" or \"renew\" backend\n * endpoint.\n */\nexport function SelfSignedCertForm({ intent = \"create\", onSubmit, onCancel, defaults, readonlyFields = [], validityOptions = DEFAULT_VALIDITY_OPTIONS, submitting = false, error, title, subtitle }) {\n const [form, setForm] = useState({ ...EMPTY, ...defaults });\n useEffect(() => {\n if (!defaults)\n return;\n setForm((prev) => {\n const next = { ...prev };\n let changed = false;\n for (const key of Object.keys(defaults)) {\n const incoming = defaults[key];\n if (incoming === undefined)\n continue;\n const isEmpty = typeof prev[key] === \"string\" ? !prev[key] : prev[key] === undefined || prev[key] === null;\n if (readonlyFields.includes(key) || isEmpty) {\n if (prev[key] !== incoming) {\n next[key] = incoming;\n changed = true;\n }\n }\n }\n return changed ? next : prev;\n });\n }, [defaults, readonlyFields]);\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit(form);\n };\n const handleSubjectChange = (next) => {\n setForm((prev) => ({ ...prev, ...next }));\n };\n const copy = COPY[intent];\n const subjectReadonly = readonlyFields.filter((k) => k === \"subjectName\" || k === \"applicationUri\" || k === \"dnsNames\" || k === \"ipAddresses\");\n const validityLocked = readonlyFields.includes(\"validityDays\");\n return (_jsxs(\"form\", { className: \"pull-card pull-card--sectioned\", onSubmit: handleSubmit, children: [_jsxs(\"div\", { className: \"pull-card__header pull-card__header--create\", children: [_jsx(\"h3\", { className: \"pull-card__title\", children: title ?? copy.title }), _jsx(\"p\", { className: \"pull-card__header-subtitle\", children: subtitle ?? copy.subtitle })] }), error && (_jsx(\"div\", { className: \"pull-card__section\", role: \"alert\", style: {\n background: \"var(--pull-color-error-bg)\",\n color: \"var(--pull-color-error)\"\n }, children: error })), _jsx(CertSubjectFieldset, { values: form, onChange: handleSubjectChange, readonlyFields: subjectReadonly, disabled: submitting }), _jsxs(\"div\", { className: \"pull-card__section\", children: [_jsx(\"h4\", { className: \"pull-card__section-title\", children: \"Certificate Settings\" }), _jsxs(\"div\", { className: \"pull-form__field\", style: { maxWidth: \"20rem\" }, children: [_jsx(\"label\", { className: \"pull-form__label\", htmlFor: \"pull-cert-validity\", children: \"Certificate Validity\" }), _jsx(\"select\", { id: \"pull-cert-validity\", className: \"pull-form__input\", value: form.validityDays, onChange: (e) => setForm((prev) => ({ ...prev, validityDays: Number(e.target.value) })), disabled: submitting || validityLocked, children: validityOptions.map((opt) => (_jsx(\"option\", { value: opt.value, children: opt.label }, opt.value))) })] })] }), _jsxs(\"div\", { className: \"pull-card__actions\", children: [_jsx(\"button\", { type: \"submit\", className: \"pull-btn pull-btn--primary\", disabled: submitting, children: submitting ? copy.submitBusy : copy.submit }), onCancel && (_jsx(\"button\", { type: \"button\", className: \"pull-btn pull-btn--secondary\", onClick: onCancel, disabled: submitting, children: \"Cancel\" }))] })] }));\n}\n//# sourceMappingURL=SelfSignedCertForm.js.map","/**\n * GDS Pull Certificate Management — REST API client.\n * Corresponds to the backend routes in `source/pki/gds-pull-api.ts`.\n */\nimport { makeApiUrl } from \"./api\";\n\n// ──── Types ────\n\nexport interface GdsPullConfig {\n enabled: boolean;\n gdsEndpointUrl: string;\n applicationUri: string;\n applicationName: string;\n applicationType: \"Client\" | \"Server\" | \"ClientAndServer\";\n subjectName?: string;\n dnsNames?: string[];\n renewalIntervalMs?: number;\n autoStart: boolean;\n}\n\nexport interface GdsPullStatus {\n active: boolean;\n config: GdsPullConfig | null;\n enrollmentStatus: \"not-enrolled\" | \"self-signed\" | \"enrolled\" | \"expired\" | null;\n currentState: string | null;\n isRenewalLoopActive: boolean;\n renewalCheckCount: number;\n nextRenewalAt: string | null;\n certificate?: {\n subject: string;\n issuer: string;\n thumbprint: string;\n notBefore: string;\n notAfter: string;\n applicationUri?: string;\n dnsNames?: string[];\n } | null;\n /** Connection-attempt feedback while in `Connecting` (US-194). */\n connectionAttempt?: {\n count: number;\n nextRetryAt: string | null;\n lastError: string | null;\n endpointUrl: string;\n } | null;\n /** Last connection cancellation (timeout / user-cancel / max-retries). */\n connectionCancelled?: {\n reason: \"user-cancel\" | \"timeout\" | \"max-retries-exceeded\";\n endpointUrl: string;\n attempts: number;\n timestamp: string;\n } | null;\n}\n\nexport interface OnboardResult {\n success: boolean;\n error?: string;\n enrollmentStatus: \"not-enrolled\" | \"self-signed\" | \"enrolled\" | \"expired\";\n}\n\n// ──── Config ────\n\nexport async function fetchGdsPullConfig(): Promise<GdsPullConfig | null> {\n const url = makeApiUrl(\"/gds-pull/config\");\n const res = await fetch(url);\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n const data = await res.json();\n return data.config ?? null;\n}\n\nexport async function saveGdsPullConfig(config: GdsPullConfig): Promise<{ result: string; message: string }> {\n const url = makeApiUrl(\"/gds-pull/config\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(config),\n });\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport async function deleteGdsPullConfig(): Promise<{\n result: string;\n message: string;\n}> {\n const url = makeApiUrl(\"/gds-pull/config\");\n const res = await fetch(url, { method: \"DELETE\" });\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\n// ──── Status ────\n\nexport async function fetchGdsPullStatus(): Promise<GdsPullStatus> {\n const url = makeApiUrl(\"/gds-pull/status\");\n const res = await fetch(url);\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\n// ──── Actions ────\n\nexport async function triggerOnboard(params: {\n username?: string;\n password?: string;\n}): Promise<{ result: string; message: string }> {\n const url = makeApiUrl(\"/gds-pull/onboard\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(params),\n });\n if (!res.ok && res.status !== 202) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport async function triggerRenew(): Promise<{\n result: string;\n message: string;\n}> {\n const url = makeApiUrl(\"/gds-pull/renew\");\n const res = await fetch(url, { method: \"POST\" });\n if (!res.ok && res.status !== 202) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport async function stopRenewal(): Promise<{\n result: string;\n message: string;\n}> {\n const url = makeApiUrl(\"/gds-pull/stop\");\n const res = await fetch(url, { method: \"POST\" });\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\n/**\n * Cancel an in-flight enrollment / renewal cycle. The backend\n * always returns 202 — `cancel()` is a no-op when no cycle is\n * running. Use this from the React UI's \"Cancel & reset\" button\n * when the GDS is unreachable.\n */\nexport async function cancelOnboard(): Promise<{\n result: string;\n message: string;\n}> {\n const url = makeApiUrl(\"/gds-pull/cancel\");\n const res = await fetch(url, { method: \"POST\" });\n if (!res.ok && res.status !== 202) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n","/**\n * PKI API client for the config panel.\n * Corresponds to the backend routes in `source/pki/pki-api.ts`.\n */\nimport { makeApiUrl } from \"./api\";\n\n// ──── Types ────\n\nexport interface CertInfo {\n thumbprint: string;\n subject: string;\n issuer: string;\n validFrom: string;\n validTo: string;\n serialNumber: string;\n keySize: number;\n selfSigned: boolean;\n daysRemaining: number;\n applicationUri?: string;\n dnsNames?: string[];\n ipAddresses?: string[];\n}\n\nexport interface OwnCertInfo extends CertInfo {\n exists: boolean;\n certFile: string;\n pkiFolder: string;\n}\n\nexport interface HealthCheck {\n level: \"ok\" | \"warning\" | \"error\";\n message: string;\n}\n\nexport interface HealthResult {\n checks: HealthCheck[];\n pkiFolder: string;\n}\n\nexport interface CrlInfo {\n filename: string;\n size: number;\n}\n\nexport interface PkiDefaults {\n applicationUri: string;\n cn: string;\n org: string;\n locality: string;\n state: string;\n country: string;\n dns: string[];\n ip: string[];\n hostname: string;\n}\n\n// ──── PKI Defaults ────\n\nexport async function fetchPkiDefaults(): Promise<PkiDefaults> {\n const url = makeApiUrl(\"/pki/defaults\");\n const res = await fetch(url);\n return res.json();\n}\n\n// ──── Own Certificate ────\n\nexport async function fetchOwnCertificate(): Promise<OwnCertInfo> {\n const url = makeApiUrl(\"/pki/own/certificate\");\n const res = await fetch(url);\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport function getOwnCertPemUrl(): string {\n return makeApiUrl(\"/pki/own/certificate.pem\");\n}\n\nexport function getOwnCertDerUrl(): string {\n return makeApiUrl(\"/pki/own/certificate.der\");\n}\n\nexport async function createSelfSignedCert(params: {\n subject: string;\n applicationUri?: string;\n dns: string[];\n ip?: string[];\n keySize: number;\n validity: number;\n}): Promise<{ result: string; message: string }> {\n const url = makeApiUrl(\"/pki/own/create\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(params),\n });\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport async function renewCertificate(validity?: number): Promise<{ result: string; message: string }> {\n const url = makeApiUrl(\"/pki/own/renew\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ validity }),\n });\n return res.json();\n}\n\nexport async function createCSR(params: {\n subject?: string;\n applicationUri?: string;\n dns?: string[];\n ip?: string[];\n}): Promise<string> {\n const url = makeApiUrl(\"/pki/own/csr\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(params),\n });\n if (!res.ok) {\n const body = await res.text();\n throw new Error(`CSR generation failed (${res.status}): ${body}`);\n }\n return res.text();\n}\n\nexport async function uploadSignedCert(certificateText: string): Promise<{ result: string; message: string }> {\n const url = makeApiUrl(\"/pki/own/upload-signed\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ certificate: certificateText }),\n });\n return res.json();\n}\n\n// ──── Trusted / Rejected Certificates ────\n\nexport async function fetchTrustedCerts(): Promise<CertInfo[]> {\n const url = makeApiUrl(\"/pki/trusted\");\n const res = await fetch(url);\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport async function fetchRejectedCerts(): Promise<CertInfo[]> {\n const url = makeApiUrl(\"/pki/rejected\");\n const res = await fetch(url);\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport async function uploadTrustedCert(certificateText: string): Promise<{ result: string }> {\n const url = makeApiUrl(\"/pki/trusted/upload\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ certificate: certificateText }),\n });\n return res.json();\n}\n\nexport async function rejectTrustedCert(thumbprint: string): Promise<{ result: string }> {\n const url = makeApiUrl(`/pki/trusted/${thumbprint}/reject`);\n const res = await fetch(url, { method: \"POST\" });\n return res.json();\n}\n\nexport async function trustRejectedCert(thumbprint: string): Promise<{ result: string }> {\n const url = makeApiUrl(`/pki/rejected/${thumbprint}/trust`);\n const res = await fetch(url, { method: \"POST\" });\n return res.json();\n}\n\nexport async function deleteTrustedCert(thumbprint: string): Promise<{ result: string }> {\n const url = makeApiUrl(`/pki/trusted/${thumbprint}`);\n const res = await fetch(url, { method: \"DELETE\" });\n return res.json();\n}\n\nexport async function deleteRejectedCert(thumbprint: string): Promise<{ result: string }> {\n const url = makeApiUrl(`/pki/rejected/${thumbprint}`);\n const res = await fetch(url, { method: \"DELETE\" });\n return res.json();\n}\n\n// ──── Issuers ────\n\nexport async function fetchIssuerCerts(): Promise<CertInfo[]> {\n const url = makeApiUrl(\"/pki/issuers/certs\");\n const res = await fetch(url);\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport async function uploadIssuerCert(certificateText: string): Promise<{ result: string }> {\n const url = makeApiUrl(\"/pki/issuers/certs/upload\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ certificate: certificateText }),\n });\n return res.json();\n}\n\nexport async function deleteIssuerCert(thumbprint: string): Promise<{ result: string }> {\n const url = makeApiUrl(`/pki/issuers/certs/${thumbprint}`);\n const res = await fetch(url, { method: \"DELETE\" });\n return res.json();\n}\n\nexport function getIssuerCertDownloadUrl(thumbprint: string): string {\n return makeApiUrl(`/pki/issuers/certs/${thumbprint}/download`);\n}\n\nexport async function fetchIssuerCrls(): Promise<CrlInfo[]> {\n const url = makeApiUrl(\"/pki/issuers/crl\");\n const res = await fetch(url);\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n\nexport async function uploadIssuerCrl(crlBase64: string): Promise<{ result: string }> {\n const url = makeApiUrl(\"/pki/issuers/crl/upload\");\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ crl: crlBase64 }),\n });\n return res.json();\n}\n\n// ──── Health ────\n\nexport async function fetchPkiHealth(): Promise<HealthResult> {\n const url = makeApiUrl(\"/pki/health\");\n const res = await fetch(url);\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: res.statusText }));\n throw new Error(body.error || `HTTP ${res.status}`);\n }\n return res.json();\n}\n","/**\n * useGdsPull — React hook for the GDS Pull Certificate workflow.\n *\n * Wraps the REST API client with React state management and\n * auto-polling. Designed to be consumed by `GdsPullTab`.\n *\n * Polls every 3s at rest, switches to 500ms while an action\n * (enroll / renew) is in progress so the Stepper can show\n * live state-machine transitions.\n */\n\nimport type { EnrollmentFormData } from \"@sterfive/opcua-pull-certificate-react\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport type { GdsPullConfig, GdsPullStatus } from \"../gds-pull-api\";\nimport {\n cancelOnboard,\n deleteGdsPullConfig,\n fetchGdsPullConfig,\n fetchGdsPullStatus,\n saveGdsPullConfig,\n stopRenewal,\n triggerOnboard,\n triggerRenew,\n} from \"../gds-pull-api\";\n\n// ── Poll intervals ───────────────────────────────────────\n\nconst IDLE_POLL_MS = 3_000;\nconst BUSY_POLL_MS = 500;\n\n// ── Hook ─────────────────────────────────────────────────\n\nexport interface UseGdsPullResult {\n /** Current status from the backend. */\n status: GdsPullStatus | null;\n /** Saved config (if any). */\n config: GdsPullConfig | null;\n /** Whether an async action is in progress. */\n loading: boolean;\n /** Last error message. */\n error: string | null;\n\n // ── Actions ──────────────────────────────────────────\n\n /** Save config + enroll (initial onboarding). */\n enroll: (data: EnrollmentFormData) => Promise<void>;\n /** Trigger a manual renewal check. */\n checkNow: () => Promise<void>;\n /** Start the renewal loop (server-side). */\n startRenewal: () => Promise<void>;\n /** Stop the renewal loop. */\n stopRenewalLoop: () => Promise<void>;\n /** Disconnect from GDS entirely (delete config). */\n factoryReset: () => Promise<void>;\n /** Refresh status from backend (manual). */\n refresh: () => Promise<void>;\n /**\n * Cancel an in-flight enrollment cycle (e.g. when the GDS is\n * unreachable). Calls `POST /gds-pull/cancel` and refreshes\n * status. Safe to call when no cycle is running.\n */\n cancelEnroll: () => Promise<void>;\n}\n\nexport function useGdsPull(): UseGdsPullResult {\n const [status, setStatus] = useState<GdsPullStatus | null>(null);\n const [config, setConfig] = useState<GdsPullConfig | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const mounted = useRef(true);\n const loadingRef = useRef(false);\n const statusRef = useRef<GdsPullStatus | null>(null);\n\n // Keep refs in sync with state so the timer callback\n // can read the latest value without re-creating the effect.\n // Having `loading`/`status` in the effect deps would cause an\n // infinite re-render loop: each fetch updates state, which\n // re-runs the effect, which fires a new fetch immediately.\n useEffect(() => {\n loadingRef.current = loading;\n }, [loading]);\n\n useEffect(() => {\n statusRef.current = status;\n }, [status]);\n\n // ── Fetch status ─────────────────────────────────────\n\n const refresh = useCallback(async () => {\n try {\n const [s, c] = await Promise.all([fetchGdsPullStatus(), fetchGdsPullConfig()]);\n if (mounted.current) {\n setStatus(s);\n setConfig(c);\n }\n } catch {\n // Silently ignore polling errors\n }\n }, []);\n\n // ── Auto-poll (adaptive interval) ────────────────────\n //\n // While idle → poll every 3 s\n // While loading (enroll/renew) → poll every 500 ms\n // so the stepper can show real-time state transitions.\n\n useEffect(() => {\n mounted.current = true;\n void refresh();\n\n let timer: ReturnType<typeof setTimeout>;\n\n const tick = () => {\n void refresh().then(() => {\n // Check if loading ended (terminal state reached)\n // and auto-clear the loading flag.\n if (loadingRef.current && mounted.current) {\n const s = statusRef.current;\n if (s?.currentState === \"Complete\" || s?.currentState === \"Error\") {\n setLoading(false);\n }\n }\n });\n const interval = loadingRef.current ? BUSY_POLL_MS : IDLE_POLL_MS;\n timer = setTimeout(tick, interval);\n };\n\n timer = setTimeout(tick, BUSY_POLL_MS);\n\n return () => {\n mounted.current = false;\n clearTimeout(timer);\n };\n }, [refresh]);\n\n // ── Enroll (save config + trigger onboard) ──────────\n //\n // The server returns 202 immediately and runs enrollment\n // in the background. Fast polling picks up state changes.\n\n const enroll = useCallback(async (data: EnrollmentFormData) => {\n setLoading(true);\n setError(null);\n\n try {\n // Build the config from the form data\n const newConfig: GdsPullConfig = {\n enabled: true,\n gdsEndpointUrl: data.gdsEndpointUrl,\n applicationUri: data.applicationUri,\n applicationName: data.applicationName,\n applicationType: data.applicationType === \"DiscoveryServer\" ? \"Client\" : data.applicationType,\n subjectName: data.subjectName || undefined,\n dnsNames: data.dnsNames\n ? data.dnsNames\n .split(\",\")\n .map((s) => s.trim())\n .filter(Boolean)\n : undefined,\n autoStart: false,\n };\n\n // 1. Save config to backend\n await saveGdsPullConfig(newConfig);\n\n // 2. Trigger onboarding — returns 202 immediately.\n // Fast polling (500ms) takes over from here.\n await triggerOnboard({\n username: data.adminUsername,\n password: data.adminPassword,\n });\n\n // loading will be cleared by the polling loop\n // once the state machine reaches a terminal state.\n } catch (err) {\n if (mounted.current) {\n setError((err as Error).message ?? \"Enrollment failed\");\n setLoading(false);\n }\n }\n }, []);\n\n // ── Check now (manual renewal) ──────────────────────\n\n const checkNow = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n // Returns 202 immediately — polling takes over.\n await triggerRenew();\n } catch (err) {\n if (mounted.current) {\n setError((err as Error).message);\n setLoading(false);\n }\n }\n }, []);\n\n // ── Start renewal loop ──────────────────────────────\n\n const startRenewal = useCallback(async () => {\n // For Phase 1, we just trigger a single renewal check.\n // Full renewal loop start/stop will be in Phase 2.\n await checkNow();\n }, [checkNow]);\n\n // ── Stop renewal loop ───────────────────────────────\n\n const stopRenewalLoop = useCallback(async () => {\n try {\n await stopRenewal();\n if (mounted.current) {\n void refresh();\n }\n } catch (err) {\n if (mounted.current) {\n setError((err as Error).message);\n }\n }\n }, [refresh]);\n\n // ── Cancel in-flight enrollment ─────────────────────\n\n const cancelEnroll = useCallback(async () => {\n try {\n await cancelOnboard();\n // The SDK transitions to Error within ~1 tick; the\n // polling loop will pick it up. Force an immediate\n // refresh so the UI updates without waiting for the\n // next poll interval.\n if (mounted.current) {\n void refresh();\n }\n } catch (err) {\n if (mounted.current) {\n setError((err as Error).message);\n }\n }\n }, [refresh]);\n\n // ── Factory reset (disconnect from GDS) ─────────────\n\n const factoryReset = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n await deleteGdsPullConfig();\n if (mounted.current) {\n setStatus(null);\n setConfig(null);\n void refresh();\n }\n } catch (err) {\n if (mounted.current) {\n setError((err as Error).message);\n }\n } finally {\n if (mounted.current) {\n setLoading(false);\n }\n }\n }, [refresh]);\n\n return {\n status,\n config,\n loading,\n error,\n enroll,\n checkNow,\n startRenewal,\n stopRenewalLoop,\n factoryReset,\n refresh,\n cancelEnroll,\n };\n}\n","/**\n * GDS Pull Certificate Management — Config Panel Tab\n *\n * Thin wrapper wiring `useGdsPull()` hook to the `PullDashboard`\n * component from `@sterfive/opcua-pull-certificate-react`.\n *\n * Shows a teaser/upsell banner for FREEWARE users and the\n * full PullDashboard for TRIAL and PROFESSIONAL users.\n */\n\nimport { type EnrollmentFormData, PullDashboard } from \"@sterfive/opcua-pull-certificate-react\";\nimport { useEffect, useState } from \"react\";\nimport \"@sterfive/opcua-pull-certificate-react/styles.css\";\nimport { useGdsPull } from \"../hooks/useGdsPull\";\nimport { fetchPkiDefaults, type PkiDefaults } from \"../pki-api\";\n\ninterface GdsPullTabProps {\n /** Current licence type: \"FREEWARE\" | \"TRIAL\" | \"PROFESSIONAL\" */\n licenceType: string;\n}\n\n// ── Teaser banner for FREEWARE users ─────────────────────\n\nfunction GdsTeaser() {\n return (\n <div\n style={{\n maxWidth: 640,\n margin: \"2rem auto\",\n padding: \"2.5rem 2rem\",\n background: \"linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%)\",\n borderRadius: 16,\n border: \"1px solid #c7d2fe\",\n textAlign: \"center\",\n }}\n >\n <div style={{ fontSize: 48, marginBottom: 12 }}>🌐</div>\n <h3\n style={{\n margin: \"0 0 0.75rem\",\n fontSize: \"1.35rem\",\n fontWeight: 700,\n color: \"#1e293b\",\n }}\n >\n GDS Certificate Management\n </h3>\n <p\n style={{\n margin: \"0 0 1.25rem\",\n color: \"#475569\",\n lineHeight: 1.6,\n fontSize: \"0.95rem\",\n }}\n >\n Automatically register your Node-RED OPC UA client with a GDS server and keep its certificate renewed — no manual\n PKI management needed.\n </p>\n\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: 8,\n alignItems: \"center\",\n marginBottom: \"1.5rem\",\n }}\n >\n {[\n \"One-click enrollment with a GDS server\",\n \"Automatic certificate renewal\",\n \"CA-signed certificates for production\",\n \"Trust list synchronization\",\n ].map((feature) => (\n <div\n key={feature}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n fontSize: \"0.9rem\",\n color: \"#334155\",\n }}\n >\n <span style={{ color: \"#6366f1\" }}>✓</span>\n {feature}\n </div>\n ))}\n </div>\n\n <div\n style={{\n padding: \"0.75rem 1.25rem\",\n background: \"#fef3c7\",\n borderRadius: 8,\n border: \"1px solid #fcd34d\",\n color: \"#92400e\",\n fontSize: \"0.85rem\",\n fontWeight: 500,\n }}\n >\n ⭐ This feature requires a <strong>Professional</strong> or <strong>Trial</strong> licence.\n </div>\n </div>\n );\n}\n\n// ── Main component ───────────────────────────────────────\n\nexport function GdsPullTab({ licenceType }: GdsPullTabProps) {\n // Show teaser for FREEWARE users\n if (licenceType === \"FREEWARE\") {\n return <GdsTeaser />;\n }\n\n return <GdsPullTabContent />;\n}\n\n/** Inner component — only rendered for paid/trial users. */\nfunction GdsPullTabContent() {\n const { status, config, loading, error, enroll, checkNow, stopRenewalLoop, factoryReset, cancelEnroll } = useGdsPull();\n\n // Fetch PKI defaults for application identity\n const [pkiDefaults, setPkiDefaults] = useState<PkiDefaults | null>(null);\n useEffect(() => {\n fetchPkiDefaults()\n .then(setPkiDefaults)\n .catch(() => {});\n }, []);\n\n // Map the backend enrollment status to what the\n // PullDashboard expects\n const enrollmentStatus = status?.enrollmentStatus ?? \"not-enrolled\";\n\n // Map certificate info from backend (ISO strings → Date objects)\n const certificate = status?.certificate\n ? {\n subject: status.certificate.subject,\n issuer: status.certificate.issuer,\n thumbprint: status.certificate.thumbprint,\n notBefore: new Date(status.certificate.notBefore),\n notAfter: new Date(status.certificate.notAfter),\n applicationUri: status.certificate.applicationUri,\n dnsNames: status.certificate.dnsNames,\n }\n : null;\n\n // Map connection-attempt feedback (US-194/195) — translate the\n // ISO `nextRetryAt` string from the backend into a Date so the\n // PullWorkflowStepper can render its live countdown.\n const connectionAttempt = status?.connectionAttempt\n ? {\n count: status.connectionAttempt.count,\n nextRetryAt: status.connectionAttempt.nextRetryAt ? new Date(status.connectionAttempt.nextRetryAt) : null,\n lastError: status.connectionAttempt.lastError,\n endpointUrl: status.connectionAttempt.endpointUrl,\n }\n : null;\n const connectionCancelled = status?.connectionCancelled\n ? {\n reason: status.connectionCancelled.reason,\n endpointUrl: status.connectionCancelled.endpointUrl,\n attempts: status.connectionCancelled.attempts,\n }\n : null;\n\n // Build enrollment defaults — always use PKI defaults for\n // identity fields so they stay in sync with the unified\n // applicationUri, even if an old config was saved with a stale value.\n const applicationUri = pkiDefaults?.applicationUri ?? \"urn:NodeRED:Sterfive:OPCUAClient\";\n const applicationName = pkiDefaults ? `${pkiDefaults.cn}` : \"NodeRED OPC UA Client\";\n const subjectName = pkiDefaults\n ? `/CN=${pkiDefaults.cn}/O=${pkiDefaults.org}${pkiDefaults.locality ? `/L=${pkiDefaults.locality}` : \"\"}${pkiDefaults.country ? `/C=${pkiDefaults.country}` : \"\"}`\n : \"/CN=MyApp/O=MyOrg/C=FR\";\n const dnsNames = pkiDefaults?.dns?.join(\", \") ?? \"\";\n const ipAddresses = pkiDefaults?.ip?.join(\", \") ?? \"\";\n\n const enrollmentDefaults: Partial<EnrollmentFormData> = config\n ? {\n gdsEndpointUrl: config.gdsEndpointUrl,\n applicationUri,\n applicationName,\n applicationType: config.applicationType,\n subjectName: config.subjectName ?? subjectName,\n dnsNames: config.dnsNames?.join(\", \") || dnsNames,\n ipAddresses,\n }\n : {\n applicationName,\n applicationUri,\n applicationType: \"Client\",\n subjectName,\n dnsNames,\n ipAddresses,\n };\n\n // Lock application identity fields that are\n // pre-configured for Node-RED\n const readonlyFields: Array<keyof EnrollmentFormData> = [\"applicationName\", \"applicationUri\", \"applicationType\"];\n\n return (\n <PullDashboard\n enrollmentStatus={enrollmentStatus}\n currentState={status?.currentState ? (status.currentState as any) : undefined}\n onEnroll={enroll}\n enrolling={loading}\n enrollmentDefaults={enrollmentDefaults}\n readonlyFields={readonlyFields}\n enrollmentError={error}\n certificate={certificate}\n renewalStatus={\n status?.isRenewalLoopActive\n ? {\n loopActive: true,\n checkCount: status.renewalCheckCount,\n nextCheckAt: status.nextRenewalAt ? new Date(status.nextRenewalAt) : null,\n checking: false,\n }\n : undefined\n }\n onStopRenewalLoop={stopRenewalLoop}\n onCheckNow={checkNow}\n onFactoryReset={factoryReset}\n onCancelConnect={cancelEnroll}\n connectionAttempt={connectionAttempt}\n connectionCancelled={connectionCancelled}\n />\n );\n}\n","import {\n CsrRequestForm,\n type CsrRequestFormData,\n OwnCertificateCard,\n SelfSignedCertForm,\n type SelfSignedCertFormData,\n serializeSubject,\n} from \"@sterfive/opcua-pull-certificate-react\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport \"@sterfive/opcua-pull-certificate-react/styles.css\";\nimport { fetchGdsPullStatus } from \"../gds-pull-api\";\nimport type { CertInfo, CrlInfo, HealthCheck, OwnCertInfo, PkiDefaults } from \"../pki-api\";\nimport {\n createCSR,\n createSelfSignedCert,\n deleteIssuerCert,\n deleteRejectedCert,\n deleteTrustedCert,\n fetchIssuerCerts,\n fetchIssuerCrls,\n fetchOwnCertificate,\n fetchPkiDefaults,\n fetchPkiHealth,\n fetchRejectedCerts,\n fetchTrustedCerts,\n getIssuerCertDownloadUrl,\n getOwnCertDerUrl,\n getOwnCertPemUrl,\n rejectTrustedCert,\n trustRejectedCert,\n uploadIssuerCert,\n uploadIssuerCrl,\n uploadSignedCert,\n uploadTrustedCert,\n} from \"../pki-api\";\nimport { GdsPullTab } from \"./GdsPullTab\";\n\n/** Split a comma/semicolon/whitespace-separated SAN string into trimmed entries. */\nfunction splitCsv(s: string): string[] {\n return s\n .split(/[,;\\s]+/)\n .map((x) => x.trim())\n .filter(Boolean);\n}\n\n/** Map a backend `PkiDefaults` payload to the shape consumed by the package's cert forms. */\nfunction pkiDefaultsToFormData(d: PkiDefaults): Partial<SelfSignedCertFormData> {\n return {\n subjectName: serializeSubject({\n CN: d.cn ?? \"\",\n O: d.org ?? \"\",\n OU: \"\",\n L: d.locality ?? \"\",\n ST: d.state ?? \"\",\n C: d.country ?? \"\",\n }),\n applicationUri: d.applicationUri ?? \"\",\n dnsNames: (d.dns ?? []).join(\", \"),\n ipAddresses: (d.ip ?? []).join(\", \"),\n };\n}\n\ntype Tab = \"own\" | \"trusted\" | \"rejected\" | \"issuers\" | \"health\" | \"gds\";\n\n// ── Shared styles ──\n\nconst tabClass = (active: boolean) =>\n `px-4 py-2 text-sm font-medium rounded-lg transition-all cursor-pointer ${\n active ? \"bg-blue-600 text-white shadow-md\" : \"bg-gray-100 text-gray-700 hover:bg-gray-200\"\n }`;\n\nconst badgeClass = (level: \"ok\" | \"warning\" | \"error\") => {\n switch (level) {\n case \"ok\":\n return \"bg-green-100 text-green-800 border-green-300\";\n case \"warning\":\n return \"bg-yellow-100 text-yellow-800 border-yellow-300\";\n case \"error\":\n return \"bg-red-100 text-red-800 border-red-300\";\n }\n};\n\nconst iconForLevel = (level: \"ok\" | \"warning\" | \"error\") => (level === \"ok\" ? \"✅\" : level === \"warning\" ? \"⚠️\" : \"❌\");\n\n// ── File upload helper ──\n\nfunction FileUploadButton({ label, onFileRead }: { label: string; onFileRead: (content: string) => void }) {\n const handleFile = (e: React.ChangeEvent<HTMLInputElement>) => {\n const file = e.target.files?.[0];\n if (!file) return;\n const reader = new FileReader();\n\n if (file.name.endsWith(\".pem\") || file.name.endsWith(\".crt\") || file.name.endsWith(\".csr\")) {\n reader.onload = () => onFileRead(reader.result as string);\n reader.readAsText(file);\n } else {\n // Binary (DER, CRL) → base64\n reader.onload = () => {\n const arrayBuffer = reader.result as ArrayBuffer;\n const bytes = new Uint8Array(arrayBuffer);\n let binary = \"\";\n for (const b of bytes) binary += String.fromCharCode(b);\n onFileRead(btoa(binary));\n };\n reader.readAsArrayBuffer(file);\n }\n };\n\n return (\n <label className=\"inline-flex items-center gap-2 px-4 py-2.5 text-sm font-medium text-blue-700 transition-all bg-blue-50 border border-blue-200 rounded-lg cursor-pointer hover:bg-blue-100 hover:border-blue-300 active:bg-blue-200 shadow-sm whitespace-nowrap\">\n <svg\n className=\"w-4 h-4 flex-shrink-0\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={2}\n role=\"img\"\n aria-label=\"Upload\"\n >\n <title>Upload</title>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12\"\n />\n </svg>\n {label}\n <input type=\"file\" className=\"hidden\" accept=\".pem,.der,.crt,.crl\" onChange={handleFile} />\n </label>\n );\n}\n\n// ── Inline confirm button ──\n\nfunction InlineConfirmButton({\n label,\n confirmLabel,\n onConfirm,\n className,\n confirmClassName,\n title,\n timeoutMs = 3000,\n}: {\n label: React.ReactNode;\n confirmLabel?: React.ReactNode;\n onConfirm: () => void;\n className: string;\n confirmClassName?: string;\n title?: string;\n timeoutMs?: number;\n}) {\n const [pending, setPending] = useState(false);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const handleClick = () => {\n if (pending) {\n if (timerRef.current) clearTimeout(timerRef.current);\n setPending(false);\n onConfirm();\n } else {\n setPending(true);\n timerRef.current = setTimeout(() => setPending(false), timeoutMs);\n }\n };\n\n useEffect(() => {\n return () => {\n if (timerRef.current) clearTimeout(timerRef.current);\n };\n }, []);\n\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n className={\n pending\n ? (confirmClassName ??\n \"px-3 py-1 text-xs font-medium text-white transition-all bg-red-600 rounded-lg hover:bg-red-700 animate-pulse\")\n : className\n }\n title={pending ? \"Click again to confirm\" : title}\n >\n {pending ? (confirmLabel ?? \"Confirm?\") : label}\n </button>\n );\n}\n\n// ── Helpers ──\n\nfunction formatDaysRemaining(days: number): string {\n const absDays = Math.abs(days);\n if (absDays < 365) return `${absDays}d`;\n const years = Math.floor(absDays / 365);\n const rem = absDays % 365;\n return rem > 0 ? `${years}y ${rem}d` : `${years}y`;\n}\n\n// ── Certificate Table ──\n\n/** Format a raw subject like \"countryName=FR, commonName=X\" into { cn, details } */\nfunction parseSubjectDisplay(subject: string): { cn: string; details: string } {\n const cn = extractField(subject, \"commonName\");\n const org = extractField(subject, \"organizationName\");\n const loc = extractField(subject, \"localityName\");\n const country = extractField(subject, \"countryName\");\n\n const detailParts: string[] = [];\n if (org !== \"—\") detailParts.push(org);\n if (loc !== \"—\") detailParts.push(loc);\n if (country !== \"—\") detailParts.push(country);\n\n return {\n cn: cn !== \"—\" ? cn : subject.slice(0, 40),\n details: detailParts.join(\" · \"),\n };\n}\n\nfunction CertificateTable({\n certs,\n actions,\n rowClassName,\n badge,\n emptyMessage,\n}: {\n certs: CertInfo[];\n actions: (cert: CertInfo) => React.ReactNode;\n rowClassName?: (cert: CertInfo) => string;\n badge?: (cert: CertInfo) => React.ReactNode;\n emptyMessage?: React.ReactNode;\n}) {\n const [expandedTp, setExpandedTp] = useState<string | null>(null);\n\n if (certs.length === 0) {\n return <div className=\"py-8 text-sm text-center text-gray-500\">{emptyMessage ?? \"No certificates found.\"}</div>;\n }\n\n const statusIcon = (days: number) => {\n if (days <= 0) return \"❌\";\n if (days <= 30) return \"⚠️\";\n if (days <= 90) return \"🟡\";\n return \"✅\";\n };\n\n return (\n <div className=\"overflow-hidden border border-gray-200 rounded-xl\">\n <table className=\"min-w-full text-sm divide-y divide-gray-200\">\n <thead className=\"bg-gray-50\">\n <tr>\n <th className=\"px-2 py-3 font-medium text-center text-gray-500 text-xs uppercase tracking-wider w-10\"> </th>\n <th className=\"px-4 py-3 font-medium text-left text-gray-500 text-xs uppercase tracking-wider\">\n Certificate\n </th>\n <th className=\"px-4 py-3 font-medium text-left text-gray-500 text-xs uppercase tracking-wider\">Expires</th>\n <th className=\"px-4 py-3 font-medium text-left text-gray-500 text-xs uppercase tracking-wider\">\n Thumbprint\n </th>\n <th className=\"px-4 py-3 font-medium text-right text-gray-500 text-xs uppercase tracking-wider\">Actions</th>\n </tr>\n </thead>\n <tbody className=\"divide-y divide-gray-100 bg-white\">\n {certs.map((cert) => {\n const expired = cert.daysRemaining <= 0;\n const expiring = cert.daysRemaining > 0 && cert.daysRemaining <= 30;\n const { cn, details } = parseSubjectDisplay(cert.subject);\n const isExpanded = expandedTp === cert.thumbprint;\n const extraClass = rowClassName ? rowClassName(cert) : \"\";\n return (\n <>\n <tr\n key={cert.thumbprint}\n className={`cursor-pointer transition-colors ${expired ? \"bg-red-50 hover:bg-red-100\" : expiring ? \"bg-yellow-50 hover:bg-yellow-100\" : \"hover:bg-gray-50\"} ${extraClass}`}\n onClick={() => setExpandedTp(isExpanded ? null : cert.thumbprint)}\n title=\"Click to expand details\"\n >\n <td className=\"px-2 py-3 text-center text-base\">{statusIcon(cert.daysRemaining)}</td>\n <td className=\"px-4 py-3\">\n <div className=\"flex items-center gap-2\">\n <div>\n <div className=\"font-medium text-gray-800\">{cn}</div>\n {details && <div className=\"text-xs text-gray-400 mt-0.5\">{details}</div>}\n </div>\n {badge?.(cert)}\n </div>\n </td>\n <td className=\"px-4 py-3 text-gray-600 whitespace-nowrap\">\n <div>{new Date(cert.validTo).toLocaleDateString()}</div>\n {expired && (\n <div className=\"text-red-600 text-xs font-medium\">\n Expired {formatDaysRemaining(cert.daysRemaining)} ago\n </div>\n )}\n {expiring && <div className=\"text-yellow-600 text-xs\">{cert.daysRemaining}d left</div>}\n {!expired && !expiring && (\n <div className=\"text-green-600 text-xs\">\n {formatDaysRemaining(cert.daysRemaining)} remaining\n </div>\n )}\n </td>\n <td className=\"px-4 py-3\">\n <code className=\"px-1.5 py-0.5 text-xs font-mono text-gray-500 bg-gray-50 rounded\">\n {cert.thumbprint.slice(0, 16)}…\n </code>\n </td>\n <td\n className=\"px-4 py-3 text-right\"\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") e.stopPropagation();\n }}\n >\n {actions(cert)}\n </td>\n </tr>\n {isExpanded && (\n <tr key={`${cert.thumbprint}-detail`} className=\"bg-gray-50\">\n <td colSpan={5} className=\"px-6 py-4\">\n <div className=\"grid grid-cols-2 gap-x-8 gap-y-2 text-sm max-w-2xl\">\n <div>\n <span className=\"text-gray-500 text-xs uppercase tracking-wide\">Subject</span>\n <div className=\"text-gray-800 font-mono text-xs mt-0.5\">{cert.subject}</div>\n </div>\n <div>\n <span className=\"text-gray-500 text-xs uppercase tracking-wide\">Issuer</span>\n <div className=\"text-gray-800 font-mono text-xs mt-0.5\">{cert.issuer}</div>\n </div>\n <div>\n <span className=\"text-gray-500 text-xs uppercase tracking-wide\">\n Serial Number\n </span>\n <div className=\"text-gray-800 font-mono text-xs mt-0.5\">\n {cert.serialNumber}\n </div>\n </div>\n <div>\n <span className=\"text-gray-500 text-xs uppercase tracking-wide\">Key Size</span>\n <div className=\"text-gray-800 text-xs mt-0.5\">{cert.keySize} bits</div>\n </div>\n <div>\n <span className=\"text-gray-500 text-xs uppercase tracking-wide\">\n Valid From\n </span>\n <div className=\"text-gray-800 text-xs mt-0.5\">\n {new Date(cert.validFrom).toLocaleString()}\n </div>\n </div>\n <div>\n <span className=\"text-gray-500 text-xs uppercase tracking-wide\">Valid To</span>\n <div className=\"text-gray-800 text-xs mt-0.5\">\n {new Date(cert.validTo).toLocaleString()}\n </div>\n </div>\n <div className=\"col-span-2\">\n <span className=\"text-gray-500 text-xs uppercase tracking-wide\">\n Thumbprint (SHA-1)\n </span>\n <div className=\"text-gray-800 font-mono text-xs mt-0.5\">{cert.thumbprint}</div>\n </div>\n <div>\n <span className=\"text-gray-500 text-xs uppercase tracking-wide\">\n Self-Signed\n </span>\n <div className=\"text-xs mt-0.5\">{cert.selfSigned ? \"Yes\" : \"No\"}</div>\n </div>\n </div>\n </td>\n </tr>\n )}\n </>\n );\n })}\n </tbody>\n </table>\n </div>\n );\n}\n\n// ── Tab: Own Certificate ──\n\ntype CsrStep = \"idle\" | \"step1-form\" | \"step2-send\" | \"step3-issuer\" | \"step4-upload\" | \"done\";\n\nfunction OwnCertificateTab() {\n const [cert, setCert] = useState<OwnCertInfo | null>(null);\n const [loading, setLoading] = useState(true);\n const [message, setMessage] = useState<{ text: string; type: \"info\" | \"success\" | \"error\" } | null>(null);\n const [showCreateForm, setShowCreateForm] = useState(false);\n const [csrStep, setCsrStep] = useState<CsrStep>(\"idle\");\n const [csrContent, setCsrContent] = useState<string | null>(null);\n const [gdsPullEnrolled, setGdsPullEnrolled] = useState(false);\n const [gdsPullEndpoint, setGdsPullEndpoint] = useState<string | null>(null);\n const [pkiDefaults, setPkiDefaults] = useState<PkiDefaults | null>(null);\n const [submitting, setSubmitting] = useState(false);\n\n const formDefaults = useMemo<Partial<SelfSignedCertFormData> | undefined>(\n () => (pkiDefaults ? pkiDefaultsToFormData(pkiDefaults) : undefined),\n [pkiDefaults],\n );\n\n const setMsg = useCallback((text: string, type: \"info\" | \"success\" | \"error\" = \"info\") => setMessage({ text, type }), []);\n\n const load = useCallback(async () => {\n setLoading(true);\n try {\n setCert(await fetchOwnCertificate());\n } catch (err) {\n const detail = err instanceof Error ? err.message : String(err);\n setMsg(`Failed to load certificate info: ${detail}`, \"error\");\n console.error(\"[PKI] fetchOwnCertificate failed:\", err);\n }\n setLoading(false);\n }, [setMsg]);\n\n useEffect(() => {\n load();\n }, [load]);\n\n // Check GDS Pull enrollment status\n useEffect(() => {\n fetchGdsPullStatus()\n .then((s) => {\n setGdsPullEnrolled(s.enrollmentStatus === \"enrolled\");\n setGdsPullEndpoint(s.config?.gdsEndpointUrl ?? null);\n })\n .catch(() => {\n /* ignore — GDS not configured */\n });\n }, []);\n\n // Fetch certificate-form defaults (CN/O/applicationUri/etc.) from the backend.\n useEffect(() => {\n fetchPkiDefaults()\n .then(setPkiDefaults)\n .catch((err) => console.error(\"[PKI] fetchPkiDefaults failed:\", err));\n }, []);\n\n const msgColors = {\n info: \"text-blue-800 border-blue-200 bg-blue-50\",\n success: \"text-green-800 border-green-200 bg-green-50\",\n error: \"text-red-800 border-red-200 bg-red-50\",\n };\n\n const handleRenew = () => {\n setShowCreateForm(true);\n };\n\n // ── CSR workflow handlers ──\n\n const startCsrWorkflow = () => {\n setCsrStep(\"step1-form\");\n setCsrContent(null);\n };\n\n const handleGenerateCSR = async (subject: string, _keySize: number, _validity: number, dns: string[], ip: string[]) => {\n setSubmitting(true);\n try {\n const text = await createCSR({ subject, dns, ip });\n setCsrContent(text);\n setCsrStep(\"step2-send\");\n } catch (err) {\n setMsg(`Failed to generate CSR: ${err instanceof Error ? err.message : String(err)}`, \"error\");\n } finally {\n setSubmitting(false);\n }\n };\n\n const downloadCSR = () => {\n if (!csrContent) return;\n const blob = new Blob([csrContent], { type: \"text/plain\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = \"certificate_request.csr\";\n a.click();\n URL.revokeObjectURL(url);\n };\n\n const handleUploadSigned = async (content: string) => {\n try {\n await uploadSignedCert(content);\n setMsg(\"Signed certificate installed successfully!\", \"success\");\n setCsrStep(\"done\");\n await load();\n } catch {\n setMsg(\"Failed to upload signed certificate\", \"error\");\n }\n };\n\n const handleUploadIssuerInWorkflow = async (content: string) => {\n try {\n await uploadIssuerCert(content);\n setMsg(\"Issuer CA certificate added to trust store\", \"success\");\n } catch {\n setMsg(\"Failed to upload issuer certificate\", \"error\");\n }\n };\n\n const handleUploadCrlInWorkflow = async (content: string) => {\n try {\n await uploadIssuerCrl(content);\n setMsg(\"CRL uploaded successfully\", \"success\");\n } catch {\n setMsg(\"Failed to upload CRL\", \"error\");\n }\n };\n\n const [confirmReplace, setConfirmReplace] = useState(false);\n const pendingCreateRef = useRef<{ subject: string; keySize: number; validity: number; dns: string[]; ip: string[] } | null>(\n null,\n );\n\n const handleCreate = async (subject: string, keySize: number, validity: number, dns: string[], ip: string[]) => {\n if (cert && !confirmReplace) {\n pendingCreateRef.current = { subject, keySize, validity, dns, ip };\n setConfirmReplace(true);\n return;\n }\n setConfirmReplace(false);\n pendingCreateRef.current = null;\n setSubmitting(true);\n try {\n await createSelfSignedCert({\n subject,\n dns,\n ip,\n keySize,\n validity,\n });\n setMsg(\"Self-signed certificate created successfully\", \"success\");\n setShowCreateForm(false);\n await load();\n } catch (err) {\n setMsg(`Failed to create certificate: ${err instanceof Error ? err.message : String(err)}`, \"error\");\n } finally {\n setSubmitting(false);\n }\n };\n\n const handleConfirmReplace = async () => {\n if (!pendingCreateRef.current) return;\n const { subject, keySize, validity, dns, ip } = pendingCreateRef.current;\n setConfirmReplace(false);\n pendingCreateRef.current = null;\n setSubmitting(true);\n try {\n await createSelfSignedCert({ subject, dns, ip, keySize, validity });\n setMsg(\"Self-signed certificate created successfully\", \"success\");\n setShowCreateForm(false);\n await load();\n } catch (err) {\n setMsg(`Failed to create certificate: ${err instanceof Error ? err.message : String(err)}`, \"error\");\n } finally {\n setSubmitting(false);\n }\n };\n\n if (loading) return <p className=\"py-8 text-center text-gray-500\">Loading…</p>;\n\n // ── CSR Workflow Steps ──\n const csrStepNames = [\"Certificate Data\", \"Send to CA\", \"Import Issuer\", \"Upload Signed\"];\n const csrStepIndex = { \"step1-form\": 0, \"step2-send\": 1, \"step3-issuer\": 2, \"step4-upload\": 3, done: 4, idle: -1 };\n\n return (\n <div className=\"space-y-6\">\n {message && (\n <div className={`flex items-center justify-between px-4 py-3 text-sm border rounded-lg ${msgColors[message.type]}`}>\n <span>{message.text}</span>\n <button type=\"button\" onClick={() => setMessage(null)} className=\"ml-4 font-bold opacity-60 hover:opacity-100\">\n ×\n </button>\n </div>\n )}\n\n {confirmReplace && (\n <div className=\"flex items-center justify-between px-4 py-3 text-sm border rounded-lg text-amber-800 border-amber-200 bg-amber-50\">\n <span>\n ⚠️ This will replace the current certificate. Existing OPC UA servers will need to re-trust this client.\n </span>\n <div className=\"flex gap-2 ml-4\">\n <button\n type=\"button\"\n onClick={handleConfirmReplace}\n className=\"px-4 py-1.5 text-xs font-medium text-white bg-amber-600 rounded-lg hover:bg-amber-700 transition-all\"\n >\n Replace Certificate\n </button>\n <button\n type=\"button\"\n onClick={() => {\n setConfirmReplace(false);\n pendingCreateRef.current = null;\n }}\n className=\"px-4 py-1.5 text-xs font-medium text-gray-600 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 transition-all\"\n >\n Cancel\n </button>\n </div>\n </div>\n )}\n\n {/* ── Full-screen Create/Renew Form ── */}\n {showCreateForm ? (\n <SelfSignedCertForm\n intent={cert?.exists ? \"renew\" : \"create\"}\n defaults={formDefaults}\n readonlyFields={[\"applicationUri\"]}\n submitting={submitting}\n onCancel={() => setShowCreateForm(false)}\n onSubmit={(d: SelfSignedCertFormData) =>\n handleCreate(d.subjectName, d.keySize, d.validityDays, splitCsv(d.dnsNames), splitCsv(d.ipAddresses))\n }\n />\n ) : csrStep === \"step1-form\" ? (\n /* ── CSR Step 1: Certificate data form ── */\n <CsrRequestForm\n defaults={formDefaults}\n readonlyFields={[\"applicationUri\"]}\n submitting={submitting}\n onCancel={() => setCsrStep(\"idle\")}\n onSubmit={(d: CsrRequestFormData) =>\n handleGenerateCSR(d.subjectName, 2048, 0, splitCsv(d.dnsNames), splitCsv(d.ipAddresses))\n }\n />\n ) : csrStep !== \"idle\" && csrStep !== \"done\" ? (\n /* ── Full-screen CSR Workflow ── */\n <div className=\"overflow-hidden border border-gray-200 rounded-xl shadow-sm\">\n {/* Header */}\n <div className=\"px-6 py-5 border-b border-gray-200 bg-gradient-to-r from-purple-50 to-indigo-50\">\n <div className=\"flex items-center justify-between\">\n <h3 className=\"text-lg font-semibold text-gray-800\">📝 CA Signing Workflow</h3>\n <button\n type=\"button\"\n onClick={() => setCsrStep(\"idle\")}\n className=\"px-3 py-1.5 text-sm font-medium text-gray-600 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 transition-all\"\n >\n ✕ Cancel\n </button>\n </div>\n <p className=\"mt-1 text-sm text-gray-500\">\n Generate a CSR, send it to your CA, then upload the signed certificate.\n </p>\n </div>\n\n {/* Progress bar */}\n <div className=\"flex items-center gap-1 px-6 py-4 border-b border-gray-100 bg-white\">\n {csrStepNames.map((name, i) => {\n const current = csrStepIndex[csrStep];\n const done = i < current;\n const active = i === current;\n return (\n <div key={name} className=\"flex items-center flex-1 gap-1.5\">\n <div\n className={`flex items-center justify-center w-8 h-8 text-xs font-bold rounded-full border-2 transition-colors\n ${done ? \"bg-purple-600 text-white border-purple-600\" : active ? \"bg-white text-purple-700 border-purple-600 shadow-sm\" : \"bg-gray-100 text-gray-400 border-gray-300\"}`}\n >\n {done ? \"✓\" : i + 1}\n </div>\n <span\n className={`text-xs hidden sm:inline ${active ? \"font-semibold text-purple-700\" : done ? \"text-purple-600\" : \"text-gray-400\"}`}\n >\n {name}\n </span>\n {i < csrStepNames.length - 1 && (\n <div className={`flex-1 h-0.5 mx-1 ${done ? \"bg-purple-400\" : \"bg-gray-200\"}`} />\n )}\n </div>\n );\n })}\n </div>\n\n {/* Step content */}\n <div className=\"px-6 py-6\">\n {csrStep === \"step2-send\" && (\n <div className=\"space-y-4\">\n <div className=\"flex items-center gap-2 px-4 py-3 text-sm text-green-800 bg-green-50 border border-green-200 rounded-lg\">\n <svg\n className=\"w-5 h-5 text-green-600 flex-shrink-0\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={2}\n role=\"img\"\n aria-label=\"Success\"\n >\n <title>Success</title>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n CSR generated! Download it and send it to your Certificate Authority for signing.\n </div>\n <div className=\"flex gap-3\">\n <button\n type=\"button\"\n onClick={downloadCSR}\n className=\"px-6 py-2.5 text-sm font-medium text-white transition-all bg-blue-600 rounded-lg hover:bg-blue-700 shadow-sm\"\n >\n 📥 Download CSR\n </button>\n <button\n type=\"button\"\n onClick={() => setCsrStep(\"step3-issuer\")}\n className=\"px-6 py-2.5 text-sm font-medium text-purple-700 transition-all bg-purple-100 rounded-lg hover:bg-purple-200\"\n >\n Next →\n </button>\n </div>\n </div>\n )}\n\n {csrStep === \"step3-issuer\" && (\n <div className=\"space-y-4\">\n <p className=\"text-sm text-gray-700\">\n <strong>Optional:</strong> If this is a new CA, upload its root/intermediate certificate and CRL\n so that OPC UA peers can validate your certificate chain.\n </p>\n <div className=\"flex flex-wrap gap-3\">\n <FileUploadButton label=\"Upload CA Certificate\" onFileRead={handleUploadIssuerInWorkflow} />\n <FileUploadButton label=\"Upload CRL\" onFileRead={handleUploadCrlInWorkflow} />\n </div>\n <button\n type=\"button\"\n onClick={() => setCsrStep(\"step4-upload\")}\n className=\"px-6 py-2.5 text-sm font-medium text-purple-700 transition-all bg-purple-100 rounded-lg hover:bg-purple-200\"\n >\n Skip / Next →\n </button>\n </div>\n )}\n\n {csrStep === \"step4-upload\" && (\n <div className=\"space-y-4\">\n <p className=\"text-sm text-gray-700\">\n Upload the signed certificate you received from your CA. It will replace the current self-signed\n certificate.\n </p>\n <FileUploadButton label=\"Upload Signed Certificate\" onFileRead={handleUploadSigned} />\n </div>\n )}\n </div>\n </div>\n ) : cert?.exists ? (\n <>\n <OwnCertificateCard\n cert={cert}\n pkiFolder={cert.pkiFolder}\n onThumbprintCopied={() => setMsg(\"Thumbprint copied!\", \"success\")}\n />\n\n {/* ── Action Groups ── */}\n <div className=\"grid gap-4 sm:grid-cols-2\">\n {/* Export */}\n <div className=\"p-4 border border-gray-200 rounded-xl\">\n <h4 className=\"mb-3 text-sm font-semibold text-gray-500 uppercase tracking-wide\">Export</h4>\n <div className=\"flex gap-2\">\n <a\n href={getOwnCertPemUrl()}\n download\n className=\"flex-1 px-3 py-2 text-sm font-medium text-center text-blue-700 transition-all bg-blue-50 border border-blue-200 rounded-lg hover:bg-blue-100\"\n >\n 📥 PEM\n </a>\n <a\n href={getOwnCertDerUrl()}\n download\n className=\"flex-1 px-3 py-2 text-sm font-medium text-center text-blue-700 transition-all bg-blue-50 border border-blue-200 rounded-lg hover:bg-blue-100\"\n >\n 📥 DER\n </a>\n </div>\n </div>\n\n {/* Quick Actions or GDS-managed indicator */}\n {gdsPullEnrolled ? (\n <div className=\"p-4 border border-green-200 rounded-xl bg-green-50\">\n <h4 className=\"mb-2 text-sm font-semibold text-gray-500 uppercase tracking-wide\">\n Certificate Management\n </h4>\n <div className=\"flex items-center gap-2 mb-2\">\n <span className=\"px-2 py-0.5 text-xs font-medium text-green-800 bg-green-100 border border-green-300 rounded-full\">\n 🌐 Managed by GDS\n </span>\n </div>\n {gdsPullEndpoint && (\n <p className=\"text-xs text-gray-500 font-mono truncate mb-2\" title={gdsPullEndpoint}>\n {gdsPullEndpoint}\n </p>\n )}\n <p className=\"text-xs text-gray-500\">\n Renewal and signing are handled automatically by the GDS server.\n </p>\n </div>\n ) : (\n <div className=\"p-4 border border-gray-200 rounded-xl\">\n <h4 className=\"mb-3 text-sm font-semibold text-gray-500 uppercase tracking-wide\">Quick Actions</h4>\n <div className=\"flex gap-2\">\n <button\n type=\"button\"\n onClick={handleRenew}\n className=\"flex-1 px-3 py-2 text-sm font-medium text-orange-700 transition-all bg-orange-50 border border-orange-200 rounded-lg hover:bg-orange-100\"\n >\n 🔄 Renew\n </button>\n <button\n type=\"button\"\n onClick={startCsrWorkflow}\n className=\"flex-1 px-3 py-2 text-sm font-medium text-purple-700 transition-all bg-purple-50 border border-purple-200 rounded-lg hover:bg-purple-100\"\n >\n 📝 CA Signing…\n </button>\n </div>\n </div>\n )}\n </div>\n </>\n ) : (\n <div className=\"p-8 space-y-4 text-center border-2 border-gray-200 border-dashed rounded-xl\">\n <div className=\"text-4xl\">🔐</div>\n <p className=\"text-gray-600\">No own certificate found. Create one to enable secure OPC UA connections.</p>\n <button\n type=\"button\"\n onClick={() => setShowCreateForm(true)}\n className=\"px-6 py-3 font-medium text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700\"\n >\n Create Self-Signed Certificate\n </button>\n {cert?.pkiFolder && (\n <p className=\"text-xs text-gray-400 font-mono truncate\" title={cert.pkiFolder}>\n 📁 {cert.pkiFolder}\n </p>\n )}\n </div>\n )}\n </div>\n );\n}\n\n/** Extract a named field from a subject string like \"countryName=FR, localityName=Orleans, ...\" */\nfunction extractField(subject: string, fieldName: string): string {\n const re = new RegExp(`${fieldName}=([^,]+)`);\n const match = subject.match(re);\n return match ? match[1].trim() : \"—\";\n}\n\n// ── Tab: Trusted Certificates ──\n\nfunction TrustedCertsTab() {\n const [certs, setCerts] = useState<CertInfo[]>([]);\n const [loading, setLoading] = useState(true);\n const [message, setMessage] = useState<string | null>(null);\n\n const load = useCallback(async () => {\n setLoading(true);\n try {\n setCerts(await fetchTrustedCerts());\n } catch (err) {\n const detail = err instanceof Error ? err.message : String(err);\n setMessage(`Failed to load trusted certificates: ${detail}`);\n }\n setLoading(false);\n }, []);\n\n useEffect(() => {\n load();\n }, [load]);\n\n const handleReject = async (thumbprint: string) => {\n await rejectTrustedCert(thumbprint);\n setMessage(\"Certificate moved to rejected\");\n await load();\n };\n\n const handleDelete = async (thumbprint: string) => {\n await deleteTrustedCert(thumbprint);\n setMessage(\"Certificate deleted\");\n await load();\n };\n\n const handleUpload = async (content: string) => {\n await uploadTrustedCert(content);\n setMessage(\"Certificate added to trusted\");\n await load();\n };\n\n if (loading) return <p className=\"py-8 text-center text-gray-500\">Loading…</p>;\n\n return (\n <div className=\"space-y-4\">\n {message && (\n <div className=\"px-4 py-3 text-sm text-green-800 border border-green-200 rounded-lg bg-green-50\">\n {message}\n <button type=\"button\" onClick={() => setMessage(null)} className=\"float-right font-bold\">\n ×\n </button>\n </div>\n )}\n <div className=\"flex items-center justify-between\">\n <h3 className=\"text-lg font-semibold text-gray-800\">✅ Trusted Certificates</h3>\n <FileUploadButton label=\"Upload\" onFileRead={handleUpload} />\n </div>\n <CertificateTable\n certs={certs}\n actions={(cert) => (\n <div className=\"flex justify-end gap-2\">\n <InlineConfirmButton\n label=\"⛔ Reject\"\n confirmLabel=\"⛔ Confirm reject?\"\n onConfirm={() => handleReject(cert.thumbprint)}\n className=\"px-3 py-1 text-xs font-medium text-red-700 transition-all bg-red-100 rounded-lg hover:bg-red-200\"\n title=\"Move to rejected\"\n />\n <InlineConfirmButton\n label=\"🗑️\"\n confirmLabel=\"🗑️ Confirm?\"\n onConfirm={() => handleDelete(cert.thumbprint)}\n className=\"px-3 py-1 text-xs font-medium text-gray-700 transition-all bg-gray-100 rounded-lg hover:bg-gray-200\"\n title=\"Delete permanently\"\n />\n </div>\n )}\n />\n </div>\n );\n}\n\n// ── Tab: Rejected Certificates ──\n\nfunction RejectedCertsTab() {\n const [certs, setCerts] = useState<CertInfo[]>([]);\n const [loading, setLoading] = useState(true);\n const [message, setMessage] = useState<string | null>(null);\n\n const load = useCallback(async () => {\n setLoading(true);\n try {\n setCerts(await fetchRejectedCerts());\n } catch (err) {\n const detail = err instanceof Error ? err.message : String(err);\n setMessage(`Failed to load rejected certificates: ${detail}`);\n }\n setLoading(false);\n }, []);\n\n useEffect(() => {\n load();\n }, [load]);\n\n const handleTrust = async (thumbprint: string) => {\n await trustRejectedCert(thumbprint);\n setMessage(\"Certificate moved to trusted\");\n await load();\n };\n\n const handleDelete = async (thumbprint: string) => {\n await deleteRejectedCert(thumbprint);\n setMessage(\"Certificate deleted\");\n await load();\n };\n\n if (loading) return <p className=\"py-8 text-center text-gray-500\">Loading…</p>;\n\n return (\n <div className=\"space-y-4\">\n {message && (\n <div className=\"px-4 py-3 text-sm text-green-800 border border-green-200 rounded-lg bg-green-50\">\n {message}\n <button type=\"button\" onClick={() => setMessage(null)} className=\"float-right font-bold\">\n ×\n </button>\n </div>\n )}\n <h3 className=\"text-lg font-semibold text-gray-800\">⛔ Rejected Certificates</h3>\n <CertificateTable\n certs={certs}\n actions={(cert) => (\n <div className=\"flex justify-end gap-2\">\n <InlineConfirmButton\n label=\"✅ Trust\"\n confirmLabel=\"✅ Confirm trust?\"\n onConfirm={() => handleTrust(cert.thumbprint)}\n className=\"px-3 py-1 text-xs font-medium text-green-700 transition-all bg-green-100 rounded-lg hover:bg-green-200\"\n confirmClassName=\"px-3 py-1 text-xs font-medium text-white transition-all bg-green-600 rounded-lg hover:bg-green-700 animate-pulse\"\n title=\"Move to trusted\"\n />\n <InlineConfirmButton\n label=\"🗑️\"\n confirmLabel=\"🗑️ Confirm?\"\n onConfirm={() => handleDelete(cert.thumbprint)}\n className=\"px-3 py-1 text-xs font-medium text-gray-700 transition-all bg-gray-100 rounded-lg hover:bg-gray-200\"\n title=\"Delete permanently\"\n />\n </div>\n )}\n />\n </div>\n );\n}\n\n// ── Tab: Issuers ──\n\nfunction IssuersTab() {\n const [certs, setCerts] = useState<CertInfo[]>([]);\n const [crls, setCrls] = useState<CrlInfo[]>([]);\n const [loading, setLoading] = useState(true);\n const [message, setMessage] = useState<string | null>(null);\n const [ownIssuer, setOwnIssuer] = useState<string | null>(null);\n\n const load = useCallback(async () => {\n setLoading(true);\n try {\n const [c, r, ownCert] = await Promise.all([fetchIssuerCerts(), fetchIssuerCrls(), fetchOwnCertificate()]);\n setCerts(c);\n setCrls(r);\n if (ownCert?.exists && !ownCert.selfSigned) {\n setOwnIssuer(ownCert.issuer);\n } else {\n setOwnIssuer(null);\n }\n } catch (err) {\n const detail = err instanceof Error ? err.message : String(err);\n setMessage(`Failed to load issuers: ${detail}`);\n }\n setLoading(false);\n }, []);\n\n useEffect(() => {\n load();\n }, [load]);\n\n const handleUploadCert = async (content: string) => {\n await uploadIssuerCert(content);\n setMessage(\"Issuer certificate added\");\n await load();\n };\n\n const handleUploadCrl = async (content: string) => {\n await uploadIssuerCrl(content);\n setMessage(\"CRL uploaded\");\n await load();\n };\n\n const handleDeleteCert = async (thumbprint: string) => {\n await deleteIssuerCert(thumbprint);\n setMessage(\"Issuer certificate deleted\");\n await load();\n };\n\n /** Check if an issuer cert's subject matches the own cert's issuer */\n const isClientIssuer = (cert: CertInfo): boolean => {\n if (!ownIssuer) return false;\n return cert.subject === ownIssuer;\n };\n\n if (loading) return <p className=\"py-8 text-center text-gray-500\">Loading…</p>;\n\n return (\n <div className=\"space-y-6\">\n {message && (\n <div className=\"px-4 py-3 text-sm text-green-800 border border-green-200 rounded-lg bg-green-50\">\n {message}\n <button type=\"button\" onClick={() => setMessage(null)} className=\"float-right font-bold\">\n ×\n </button>\n </div>\n )}\n\n {/* ── CA Certificates Card ── */}\n <div className=\"overflow-hidden border border-gray-200 rounded-xl\">\n <div className=\"flex items-center justify-between px-6 py-4 border-b border-gray-200 bg-gray-50\">\n <h3 className=\"text-lg font-semibold text-gray-800\">🏛️ CA Certificates</h3>\n <FileUploadButton label=\"Upload CA Cert\" onFileRead={handleUploadCert} />\n </div>\n <div className=\"p-4\">\n <CertificateTable\n certs={certs}\n emptyMessage={\n <>\n No issuer certificates.\n {ownIssuer && (\n <span className=\"text-amber-600\"> Your client certificate needs an issuer — upload one.</span>\n )}\n </>\n }\n rowClassName={(cert) => (isClientIssuer(cert) ? \"!bg-indigo-50 hover:!bg-indigo-100\" : \"\")}\n badge={(cert) =>\n isClientIssuer(cert) ? (\n <span className=\"inline-flex items-center gap-1 px-2.5 py-0.5 text-xs font-medium text-indigo-700 bg-indigo-100 border border-indigo-200 rounded-full whitespace-nowrap\">\n 🔗 Client Issuer\n </span>\n ) : null\n }\n actions={(cert) => (\n <div className=\"flex justify-end gap-2\">\n <a\n href={getIssuerCertDownloadUrl(cert.thumbprint)}\n download\n className=\"px-3 py-1 text-xs font-medium text-blue-700 transition-all bg-blue-50 border border-blue-200 rounded-lg hover:bg-blue-100\"\n title=\"Download PEM\"\n >\n ⬇ Download\n </a>\n <InlineConfirmButton\n label=\"🗑️\"\n confirmLabel=\"🗑️ Confirm?\"\n onConfirm={() => handleDeleteCert(cert.thumbprint)}\n className=\"px-3 py-1 text-xs font-medium text-gray-700 transition-all bg-gray-100 rounded-lg hover:bg-gray-200\"\n title=\"Delete\"\n />\n </div>\n )}\n />\n </div>\n </div>\n\n {/* ── Certificate Revocation Lists Card ── */}\n <div className=\"overflow-hidden border border-gray-200 rounded-xl\">\n <div className=\"flex items-center justify-between px-6 py-4 border-b border-gray-200 bg-gray-50\">\n <h3 className=\"text-lg font-semibold text-gray-800\">📋 Certificate Revocation Lists</h3>\n <FileUploadButton label=\"Upload CRL\" onFileRead={handleUploadCrl} />\n </div>\n <div className=\"p-4\">\n {crls.length === 0 ? (\n <div className=\"py-4 text-sm text-center\">\n <span className=\"text-gray-500\">No CRL files found.</span>\n {certs.length > 0 && (\n <span className=\"text-amber-600\">\n {\" \"}\n Revocation checking is disabled — upload a CRL for your issuer.\n </span>\n )}\n </div>\n ) : (\n <div className=\"overflow-hidden border border-gray-200 rounded-lg\">\n <table className=\"min-w-full text-sm divide-y divide-gray-200\">\n <thead className=\"bg-gray-50\">\n <tr>\n <th className=\"px-4 py-3 font-medium text-left text-gray-600 uppercase text-xs tracking-wide\">\n Filename\n </th>\n <th className=\"px-4 py-3 font-medium text-right text-gray-600 uppercase text-xs tracking-wide\">\n Size\n </th>\n </tr>\n </thead>\n <tbody className=\"divide-y divide-gray-100\">\n {crls.map((crl) => (\n <tr key={crl.filename} className=\"hover:bg-gray-50\">\n <td className=\"px-4 py-3 font-mono text-sm text-gray-800\">{crl.filename}</td>\n <td className=\"px-4 py-3 text-right text-gray-600\">\n {(crl.size / 1024).toFixed(1)} KB\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\n// ── Tab: Health Check ──\n\nfunction HealthTab() {\n const [checks, setChecks] = useState<HealthCheck[]>([]);\n const [pkiFolder, setPkiFolder] = useState(\"\");\n const [loading, setLoading] = useState(true);\n\n const load = useCallback(async () => {\n setLoading(true);\n try {\n const result = await fetchPkiHealth();\n setChecks(result.checks);\n setPkiFolder(result.pkiFolder);\n } catch (err) {\n const detail = err instanceof Error ? err.message : String(err);\n setChecks([{ level: \"error\", message: `Failed to load PKI health: ${detail}` }]);\n }\n setLoading(false);\n }, []);\n\n useEffect(() => {\n load();\n }, [load]);\n\n if (loading) return <p className=\"py-8 text-center text-gray-500\">Loading…</p>;\n\n return (\n <div className=\"space-y-4\">\n <div className=\"flex items-center justify-between\">\n <h3 className=\"text-lg font-semibold text-gray-800\">⚕️ PKI Health Check</h3>\n <button\n type=\"button\"\n onClick={load}\n className=\"px-4 py-2 text-sm font-medium text-gray-700 transition-all bg-gray-100 rounded-lg hover:bg-gray-200\"\n >\n 🔄 Refresh\n </button>\n </div>\n\n <div className=\"space-y-2\">\n {checks.map((check) => (\n <div\n key={check.message}\n className={`flex items-start gap-3 px-4 py-3 border rounded-lg ${badgeClass(check.level)}`}\n >\n <span className=\"text-lg\">{iconForLevel(check.level)}</span>\n <span className=\"text-sm\">{check.message}</span>\n </div>\n ))}\n </div>\n\n {pkiFolder && (\n <p className=\"text-xs text-gray-500\">\n PKI folder: <code className=\"px-2 py-1 bg-gray-100 rounded\">{pkiFolder}</code>\n </p>\n )}\n </div>\n );\n}\n\n// ── Main Page ──\n\nexport function CertificatesPage({ licenceType }: { licenceType: string }) {\n const [tab, setTab] = useState<Tab>(\"own\");\n\n return (\n <div className=\"space-y-6\">\n <div className=\"flex flex-wrap gap-2\">\n <button type=\"button\" onClick={() => setTab(\"own\")} className={tabClass(tab === \"own\")}>\n 🔐 Own\n </button>\n <button type=\"button\" onClick={() => setTab(\"trusted\")} className={tabClass(tab === \"trusted\")}>\n ✅ Trusted\n </button>\n <button type=\"button\" onClick={() => setTab(\"rejected\")} className={tabClass(tab === \"rejected\")}>\n ⛔ Rejected\n </button>\n <button type=\"button\" onClick={() => setTab(\"issuers\")} className={tabClass(tab === \"issuers\")}>\n 🏛️ Issuers\n </button>\n <button type=\"button\" onClick={() => setTab(\"health\")} className={tabClass(tab === \"health\")}>\n ⚕️ Health\n </button>\n <button type=\"button\" onClick={() => setTab(\"gds\")} className={tabClass(tab === \"gds\")}>\n 🌐 GDS\n </button>\n </div>\n\n {tab === \"own\" && <OwnCertificateTab />}\n {tab === \"trusted\" && <TrustedCertsTab />}\n {tab === \"rejected\" && <RejectedCertsTab />}\n {tab === \"issuers\" && <IssuersTab />}\n {tab === \"health\" && <HealthTab />}\n {tab === \"gds\" && <GdsPullTab licenceType={licenceType} />}\n </div>\n );\n}\n","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","const Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n this.data = new TextEncoder().encode(data)\n } else {\n this.data = new Uint8Array(data)\n }\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin <self@wyattbaldwin.com>\n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>'\n\n const path =\n '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>'\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","/**\n * Request PRO Evaluation page (BKL-018 US-056).\n *\n * Shown only while the installation's licence is TRIAL. Displays\n * a QR code encoding `<kyu-url>/request-pro#<trial-jwt>` so the\n * customer can scan it with a phone (which typically has internet\n * access) and submit an evaluation request to Sterfive — even\n * when the Node-RED host itself is offline / air-gapped.\n *\n * The trial JWT lives in the URL fragment (`#…`). Fragments are\n * never sent to any server during navigation — the Kyu landing\n * page reads it client-side and POSTs it to\n * `/api/v1/pro-eval/verify` out-of-band.\n *\n * QR generation is 100% client-side (the `qrcode` npm package\n * renders to a canvas in the browser) — no network calls are made\n * from Node-RED to render the QR itself, matching the offline-OK\n * deployment envelope.\n */\n\nimport QRCode from \"qrcode\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { getTrialJwtForRequest, installationCodeFromTrialJwt } from \"../api\";\n\ninterface RequestProEvalPageProps {\n /** Optional customer-set label; surfaced next to the code. */\n installationLabel?: string;\n /** Back-to-home callback. */\n onBack?: () => void;\n}\n\nexport const RequestProEvalPage = ({ installationLabel, onBack }: RequestProEvalPageProps) => {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n const [url, setUrl] = useState<string | null>(null);\n const [code, setCode] = useState<string | null>(null);\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n (async () => {\n setLoading(true);\n setError(null);\n const res = await getTrialJwtForRequest();\n if (cancelled) return;\n if (!res) {\n setError(\"No trial licence to request an evaluation from. Please complete onboarding first.\");\n setLoading(false);\n return;\n }\n const fullUrl = `${res.kyuUrl.replace(/\\/$/, \"\")}/request-pro#${res.trialJwt}`;\n setUrl(fullUrl);\n setCode(installationCodeFromTrialJwt(res.trialJwt));\n setLoading(false);\n })();\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n if (!url || !canvasRef.current) return;\n // Version ~20 at error-correction M fits ~500-char payloads\n // at a comfortable module size. Let the library pick the\n // smallest version that holds the payload.\n QRCode.toCanvas(canvasRef.current, url, { width: 320, errorCorrectionLevel: \"M\", margin: 2 }, (err) => {\n if (err) {\n console.error(\"QR render failed:\", err);\n setError(\"Could not render QR code.\");\n }\n });\n }, [url]);\n\n return (\n <div className=\"w-full max-w-2xl mx-auto\">\n <div className=\"mb-6 text-center\">\n <h2 className=\"text-2xl font-bold text-gray-800\">Request PRO Evaluation</h2>\n <p className=\"mt-2 text-gray-600\">\n Scan this QR with your phone to lodge a request — our team will review it and email you an evaluation licence.\n </p>\n </div>\n\n <div className=\"p-6 bg-white rounded-lg shadow-md border border-gray-200\">\n {loading && <p className=\"py-12 text-center text-gray-500\">Preparing your request…</p>}\n\n {error && <div className=\"p-3 text-red-700 rounded-md bg-red-50 border border-red-200\">{error}</div>}\n\n {url && !error && (\n <>\n <div className=\"flex flex-col items-center gap-4\">\n <canvas ref={canvasRef} aria-label=\"QR code\" />\n\n <div className=\"w-full p-4 text-center bg-gray-50 rounded-lg border border-gray-200\">\n {code && (\n <div className=\"font-mono text-2xl font-bold tracking-widest text-gray-800\">\n {code.toUpperCase()}\n </div>\n )}\n {installationLabel && <div className=\"mt-1 text-sm text-gray-600\">{installationLabel}</div>}\n </div>\n </div>\n\n <div className=\"mt-6 space-y-3 text-sm text-gray-700\">\n <p>\n <strong>How to use:</strong>\n </p>\n <ol className=\"pl-5 space-y-1 list-decimal\">\n <li>Open your phone's camera and point it at the QR code.</li>\n <li>\n Tap the link it offers — the browser will open a Sterfive page prefilled with this\n installation's details.\n </li>\n <li>Pick a duration (30 / 60 / 90 days), add an optional note, and submit.</li>\n <li>\n You'll receive an email within 1 business day at the address you registered during onboarding.\n </li>\n </ol>\n </div>\n\n <details className=\"mt-6\">\n <summary className=\"text-sm text-gray-500 cursor-pointer hover:text-gray-700\">\n Can't scan? Show the URL instead.\n </summary>\n <div className=\"p-3 mt-2 text-xs bg-gray-50 rounded border border-gray-200\">\n <p className=\"mb-2 text-gray-600\">Open this URL on any internet-capable device:</p>\n <code className=\"block p-2 break-all bg-white border border-gray-200 rounded font-mono\">{url}</code>\n <p className=\"mt-2 text-gray-500\">\n The portion after <code className=\"px-1 bg-gray-100 rounded\">#</code> is your trial token — it\n is never sent to our server until you submit the form.\n </p>\n </div>\n </details>\n </>\n )}\n </div>\n\n {onBack && (\n <div className=\"mt-6 text-center\">\n <button\n type=\"button\"\n onClick={onBack}\n className=\"px-6 py-2 text-sm font-medium text-gray-700 transition-all bg-white border border-gray-300 rounded-lg hover:bg-gray-50\"\n >\n ← Back\n </button>\n </div>\n )}\n </div>\n );\n};\n","import { useEffect, useRef } from \"react\";\n\n// Extend Window interface for HubSpot\ndeclare global {\n interface Window {\n hbspt?: {\n forms: {\n create: (options: { region: string; portalId: string; formId: string; target: HTMLElement | string }) => void;\n };\n };\n }\n}\n\nexport const SupportPage = () => {\n const formContainerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n // Create the HubSpot form element\n const formDiv = document.createElement(\"div\");\n formDiv.className = \"hs-form-frame\";\n formDiv.setAttribute(\"data-region\", \"eu1\");\n formDiv.setAttribute(\"data-form-id\", \"30b012dd-4a11-47c1-b831-81768fa0a046\");\n formDiv.setAttribute(\"data-portal-id\", \"143904992\");\n\n if (formContainerRef.current) {\n formContainerRef.current.appendChild(formDiv);\n }\n\n // Trigger HubSpot form initialization if needed\n if (window.hbspt) {\n window.hbspt.forms.create({\n region: \"eu1\",\n portalId: \"143904992\",\n formId: \"30b012dd-4a11-47c1-b831-81768fa0a046\",\n target: formDiv,\n });\n }\n\n // Cleanup\n return () => {\n if (formContainerRef.current) {\n formContainerRef.current.innerHTML = \"\";\n }\n };\n }, []);\n\n return (\n <div className=\"w-full\">\n <div className=\"text-center mb-8\">\n <h2 className=\"text-2xl font-bold text-gray-800\">Contact Support</h2>\n <p className=\"text-gray-600 mt-2\">Need help? Fill out the form below and our team will get back to you.</p>\n </div>\n\n {/* HubSpot Form Container */}\n <div ref={formContainerRef} className=\"w-full\" />\n </div>\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport \"./App.css\";\nimport { configureAPI, getLicenceInfo, type ILicenceInfo, refreshLicence, reloadLicence } from \"./api\";\nimport sterfive from \"./assets/sterfive.png\";\nimport { ActivationForm } from \"./components/ActivationForm\";\nimport { GeneralInfoBox, LicenceInfoBox } from \"./components/LicenceInfoBox\";\nimport { getOnboardingStatus, OnboardingWizard } from \"./components/OnboardingWizard\";\nimport { BuyOnlinePage } from \"./pages/BuyOnlinePage\";\nimport { CertificatesPage } from \"./pages/CertificatesPage\";\nimport { RequestProEvalPage } from \"./pages/RequestProEvalPage\";\nimport { SupportPage } from \"./pages/SupportPage\";\nimport StripePricingTable from \"./StripePricingTable\";\n\ntype Page = \"home\" | \"support\" | \"buy\" | \"onboarding\" | \"certificates\" | \"request-pro\";\n\nconst ApiErrorCard = ({ message, onRetry }: { message: string; onRetry: () => void }) => (\n <div className=\"w-full max-w-lg p-6 my-4 bg-white border-t-4 border-red-500 shadow-lg rounded-lg\">\n <div className=\"flex items-center mb-4\">\n <svg\n className=\"w-8 h-8 text-red-500\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"error\"\n >\n <title>error</title>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <h2 className=\"ml-3 text-lg font-bold text-gray-700 sm:text-xl\">Licence API unreachable</h2>\n </div>\n <div className=\"p-3 mb-4 text-red-700 rounded-md bg-red-50\">\n <p className=\"text-sm\">{message}</p>\n <p className=\"mt-2 text-xs text-red-600\">Check Node-RED logs for the underlying cause.</p>\n </div>\n <button\n type=\"button\"\n onClick={onRetry}\n className=\"w-full py-3 font-semibold text-white transition-all bg-blue-600 rounded-lg hover:bg-blue-700 shadow-md\"\n >\n Retry\n </button>\n </div>\n);\n\nconst UnlockButton = ({ onClick, label = \"Upgrade to Professional\" }: { onClick: () => void; label?: string }) => {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n className=\"flex items-center gap-3 px-10 py-4 mt-8 font-bold text-white transition-all duration-300 transform shadow-2xl group bg-linear-to-r from-blue-600 to-blue-700 hover:from-blue-700 hover:to-blue-800 rounded-xl hover:shadow-blue-500/50 hover:-translate-y-1\"\n >\n <svg\n className=\"w-6 h-6 transition-transform group-hover:scale-110\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"lightning\"\n >\n <title>lightning</title>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M13 10V3L4 14h7v7l9-11h-7z\" />\n </svg>\n <span className=\"text-lg\">{label}</span>\n <svg\n className=\"w-5 h-5 transition-transform group-hover:translate-x-1\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"arrow-right\"\n >\n <title>arrow-right</title>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n </button>\n );\n};\n\nfunction App() {\n const [licence, setLicence] = useState<ILicenceInfo | undefined>();\n const [apiError, setApiError] = useState<string | undefined>();\n const [activating, setActivating] = useState<boolean>(false);\n const [currentPage, setCurrentPage] = useState<Page>(\"home\");\n const [needsOnboarding, setNeedsOnboarding] = useState<boolean | null>(null);\n const [onboardingEmail, setOnboardingEmail] = useState<string | undefined>();\n\n const [haveALicenceKey, setHaveALicenceKey] = useState<boolean | null>(null);\n\n // Read initial page from URL hash\n useEffect(() => {\n const hash = window.location.hash.slice(1); // Remove the '#'\n if (hash === \"support\") {\n setCurrentPage(\"support\");\n } else if (hash === \"buy\") {\n setCurrentPage(\"buy\");\n } else if (hash === \"certificates\") {\n setCurrentPage(\"certificates\");\n }\n }, []);\n\n // Update URL hash when page changes\n useEffect(() => {\n if (currentPage === \"support\") {\n window.location.hash = \"#support\";\n } else if (currentPage === \"buy\") {\n window.location.hash = \"#buy\";\n } else if (currentPage === \"certificates\") {\n window.location.hash = \"#certificates\";\n } else {\n window.location.hash = \"\";\n }\n }, [currentPage]);\n\n const getInfo = useCallback(async () => {\n setApiError(undefined);\n try {\n const result = await getLicenceInfo();\n setLicence(result);\n } catch (err) {\n // Don't synthesise a fake FREEWARE licence on failure — the\n // LicenceInfoBox would then render the \"Upgrade to Professional\"\n // upsell card and hide the real cause (e.g. a 404 or a CSRF\n // rejection). Surface the error explicitly via apiError so the\n // user sees what actually went wrong and can retry.\n console.warn(\"Licence API error:\", (err as Error).message);\n setLicence(undefined);\n setApiError((err as Error).message || \"Unable to reach licence API.\");\n }\n }, []);\n useEffect(() => {\n configureAPI();\n // KYU-132: Sequential startup — fetch licence first, then onboarding\n (async () => {\n await getInfo();\n try {\n const status = await getOnboardingStatus();\n const notOnboarded = !status.onboarded;\n setNeedsOnboarding(notOnboarded);\n if (notOnboarded) {\n setCurrentPage(\"onboarding\");\n }\n if (status.onboarded && status.email) {\n setOnboardingEmail(status.email);\n }\n } catch {\n // If we can't check, don't block\n setNeedsOnboarding(false);\n }\n })();\n }, [getInfo]);\n\n const onActivated = async () => {\n await getInfo();\n setActivating(false);\n };\n const onUnlockClicked = async () => {\n setActivating(true);\n };\n const onBack = () => setActivating(false);\n\n if (!licence && !apiError) return <div className=\"flex items-center justify-center min-h-screen\">loading ...</div>;\n\n const handleRefresh = async () => {\n await refreshLicence();\n await getInfo();\n };\n\n // Hard reload — rebuilds the licence engine in-process so a repaired\n // environment (e.g. cache dir made writable again) recovers without a\n // Node-RED restart.\n const handleReload = async () => {\n await reloadLicence();\n await getInfo();\n };\n\n // An EXPIRED licence must offer a way out too: without this, an expired\n // non-trial licence (e.g. PROFESSIONAL features still reported but the\n // Cryptlex lease lapsed) showed only \"Refresh Status\" — a dead end with no\n // way to enter a new key, renew, or buy.\n const isExpired = licence?.status === \"EXPIRED\";\n const needToActivate =\n !!licence &&\n (licence.status === \"FAILED\" || licence.status === \"EXPIRED\" || licence.type === \"TRIAL\" || licence.type === \"FREEWARE\");\n\n return (\n <div className=\"flex items-center justify-center min-h-screen p-4 font-sans bg-gray-50\">\n <div className=\"w-full max-w-4xl p-6 bg-white shadow-xl rounded-2xl sm:p-10\">\n {/* Header */}\n <div className=\"pb-6 mb-8 text-center border-b border-gray-200\">\n <h1 className=\"text-2xl font-bold text-gray-800 sm:text-3xl\">\n OPC UA for Node-RED by{\" \"}\n <a href=\"https://www.sterfive.com\" className=\"inline-block align-middle\">\n <img style={{ height: \"2.5em\" }} src={sterfive} alt=\"Sterfive\" />\n </a>\n </h1>\n <div className=\"flex justify-center gap-4 mt-4\">\n {needsOnboarding && (\n <button\n type=\"button\"\n onClick={() => setCurrentPage(\"onboarding\")}\n className={`px-6 py-2 font-medium rounded-lg transition-all ${\n currentPage === \"onboarding\"\n ? \"bg-orange-500 text-white shadow-md\"\n : \"bg-orange-100 text-orange-700 hover:bg-orange-200\"\n }`}\n >\n ⚠️ Registration\n </button>\n )}\n <button\n type=\"button\"\n onClick={() => setCurrentPage(\"home\")}\n className={`px-6 py-2 font-medium rounded-lg transition-all ${\n currentPage === \"home\"\n ? \"bg-blue-600 text-white shadow-md\"\n : \"bg-gray-100 text-gray-700 hover:bg-gray-200\"\n }`}\n >\n Home\n </button>\n <button\n type=\"button\"\n onClick={() => setCurrentPage(\"certificates\")}\n className={`px-6 py-2 font-medium rounded-lg transition-all ${\n currentPage === \"certificates\"\n ? \"bg-blue-600 text-white shadow-md\"\n : \"bg-gray-100 text-gray-700 hover:bg-gray-200\"\n }`}\n >\n 🔒 Certificates\n </button>\n {licence?.type === \"TRIAL\" && (\n <button\n type=\"button\"\n onClick={() => setCurrentPage(\"buy\")}\n className={`px-6 py-2 font-medium rounded-lg transition-all ${\n currentPage === \"buy\"\n ? \"bg-blue-600 text-white shadow-md\"\n : \"bg-gray-100 text-gray-700 hover:bg-gray-200\"\n }`}\n >\n Buy Online\n </button>\n )}\n {licence?.type === \"TRIAL\" && licence.status !== \"EXPIRED\" && (\n <button\n type=\"button\"\n onClick={() => setCurrentPage(\"request-pro\")}\n className={`px-6 py-2 font-medium rounded-lg transition-all ${\n currentPage === \"request-pro\"\n ? \"bg-blue-600 text-white shadow-md\"\n : \"bg-gray-100 text-gray-700 hover:bg-gray-200\"\n }`}\n >\n 📱 Request PRO Eval\n </button>\n )}\n <button\n type=\"button\"\n onClick={() => setCurrentPage(\"support\")}\n className={`px-6 py-2 font-medium rounded-lg transition-all ${\n currentPage === \"support\"\n ? \"bg-blue-600 text-white shadow-md\"\n : \"bg-gray-100 text-gray-700 hover:bg-gray-200\"\n }`}\n >\n Support\n </button>\n </div>\n </div>\n\n {/* Page Content */}\n {currentPage === \"onboarding\" ? (\n <OnboardingWizard\n onComplete={async () => {\n // Re-fetch licence info and onboarding status (KYU-115)\n await getInfo();\n const status = await getOnboardingStatus();\n setNeedsOnboarding(!status.onboarded);\n if (status.onboarded && status.email) {\n setOnboardingEmail(status.email);\n }\n setCurrentPage(\"home\");\n }}\n />\n ) : currentPage === \"certificates\" ? (\n <CertificatesPage licenceType={licence?.type ?? \"FREEWARE\"} />\n ) : currentPage === \"support\" ? (\n <SupportPage />\n ) : currentPage === \"buy\" ? (\n <BuyOnlinePage onRequestQuote={() => setCurrentPage(\"support\")} />\n ) : currentPage === \"request-pro\" ? (\n <RequestProEvalPage onBack={() => setCurrentPage(\"home\")} />\n ) : apiError || !licence ? (\n <ApiErrorCard message={apiError ?? \"Unable to reach licence API.\"} onRetry={getInfo} />\n ) : (\n <div className=\"flex flex-col items-center gap-6\">\n {!activating ? (\n <>\n <GeneralInfoBox licence={licence} onboardingEmail={onboardingEmail} />\n <LicenceInfoBox\n licence={licence}\n goToOnboarding={() => setCurrentPage(\"onboarding\")}\n onActivationKeySaved={getInfo}\n onRefresh={handleRefresh}\n onReload={handleReload}\n />\n {needToActivate && (\n <UnlockButton\n onClick={onUnlockClicked}\n label={isExpired ? \"Renew or change licence\" : undefined}\n />\n )}\n </>\n ) : (\n <div className=\"flex flex-col items-center w-full gap-6\">\n {haveALicenceKey === null ? (\n /* Two-card chooser — first screen after \"Upgrade\" */\n <div className=\"w-full max-w-2xl mx-auto\">\n <h2 className=\"mb-6 text-xl font-bold text-center text-gray-800\">\n How would you like to activate?\n </h2>\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n <button\n type=\"button\"\n onClick={() => setHaveALicenceKey(true)}\n className=\"flex flex-col items-center gap-3 p-6 text-center transition-all border-2 border-gray-200 rounded-xl hover:border-blue-500 hover:shadow-lg hover:bg-blue-50 group\"\n >\n <span className=\"text-4xl\">🔑</span>\n <span className=\"text-lg font-bold text-gray-800 group-hover:text-blue-700\">\n I have a licence key\n </span>\n <span className=\"text-sm text-gray-500\">\n Enter your existing Cryptlex licence key to activate\n </span>\n </button>\n <button\n type=\"button\"\n onClick={() => setHaveALicenceKey(false)}\n className=\"flex flex-col items-center gap-3 p-6 text-center transition-all border-2 border-gray-200 rounded-xl hover:border-green-500 hover:shadow-lg hover:bg-green-50 group\"\n >\n <span className=\"text-4xl\">🛒</span>\n <span className=\"text-lg font-bold text-gray-800 group-hover:text-green-700\">\n I need a licence\n </span>\n <span className=\"text-sm text-gray-500\">\n Buy online or request a quote from Sterfive\n </span>\n </button>\n </div>\n </div>\n ) : haveALicenceKey ? (\n <>\n <ActivationForm onActivated={onActivated} />\n <button\n type=\"button\"\n className=\"text-sm text-blue-600 hover:underline\"\n onClick={() => setHaveALicenceKey(false)}\n >\n Don't have a licence key? Get one now.\n </button>\n </>\n ) : (\n <>\n <StripePricingTable />\n <button\n type=\"button\"\n className=\"text-sm text-blue-600 hover:underline\"\n onClick={() => setHaveALicenceKey(true)}\n >\n Already have a licence key? Activate here.\n </button>\n </>\n )}\n <div className=\"mt-4\">\n <button\n type=\"button\"\n onClick={() => {\n onBack();\n setHaveALicenceKey(null);\n }}\n className=\"flex items-center gap-2 font-semibold text-gray-600 hover:text-gray-800\"\n >\n <svg\n role=\"img\"\n aria-label=\"arrow-left\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"w-5 h-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <title>arrow-left</title>\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n Back\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport App from \"./App.tsx\";\nimport \"./index.css\";\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n <React.StrictMode>\n <App />\n </React.StrictMode>,\n);\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,70,71,72,73,74,75,76,77,78,79,80,81,82,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],"mappings":"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EACA,GAAyB,EAAa,SAAS,EAC/C,EAAa,EACb,GAAwB,EACxB,MACF,IAAK,GACH,IACE,GAAgB,EAAc,CAAsB,EACxD,IAAK,GAWH,GAVA,EAAiB,EACjB,EAA4B,GAC5B,EAAa,KACb,GACE,EACA,EACA,CACF,EACA,EAAa,EACb,GAAwB,EACX,IAAT,KACF,GAAI,GACF,GAAI,EACK,EAAW,WAAjB,EACG,EAAW,KACA,EAAW,WAAtB,OACE,EAAW,cAAc,KACzB,GACJ,YAAY,EAAa,SAAS,CACtC,OAAS,EAAO,CACd,EACE,EACA,EACA,CACF,CACF,MAEA,GAAI,CACF,EAAW,YAAY,EAAa,SAAS,CAC/C,OAAS,EAAO,CACd,EACE,EACA,EACA,CACF,CACF,CACJ,MACF,IAAK,IACM,IAAT,OACG,IACK,EAAe,EACjB,GACQ,EAAa,WAAnB,EACI,EAAa,KACF,EAAa,WAAxB,OACE,EAAa,cAAc,KAC3B,EACN,EAAa,SACf,EACA,GAAiB,CAAY,GAC7B,GAAuB,EAAY,EAAa,SAAS,GAC/D,MACF,IAAK,GACH,EAAiB,EACjB,EAA4B,GAC5B,EAAa,EAAa,UAAU,cACpC,GAAwB,CAAC,EACzB,GACE,EACA,EACA,CACF,EACA,EAAa,EACb,GAAwB,EACxB,MACF,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACH,GAA4B,EAAG,EAAc,CAAsB,EACnE,IACE,GAA4B,EAAG,EAAc,CAAsB,EACrE,GACE,EACA,EACA,CACF,EACA,MACF,IAAK,GACH,KACG,GAAgB,EAAc,CAAsB,EACpD,EAAiB,EAAa,UAChB,OAAO,EAAe,sBAArC,YACE,GACE,EACA,EACA,CACF,GACJ,GACE,EACA,EACA,CACF,EACA,MACF,IAAK,IACH,GACE,EACA,EACA,CACF,EACA,MACF,IAAK,IACH,IACG,EAAiB,KACT,EAAa,gBAAtB,KACF,GACE,EACA,EACA,CACF,EACA,GAA4B,EAC5B,MACF,QACE,GACE,EACA,EACA,CACF,CACJ,CACF,CACA,SAAS,GAAiC,EAAc,EAAc,CACpE,GACW,EAAa,gBAAtB,OACE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AAI,EAAY,aAAe,MAC7B,IAAK,EAAc,EAAY,MAAgB,IAAT,MACpC,GACE,EACA,EACA,EACA,CACF,EACG,EAAc,EAAY,OACnC,CACA,SAAS,GACP,EACA,EACA,EACA,EACA,CACA,IAAI,EAAQ,EAAa,MACzB,OAAQ,EAAa,IAArB,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACH,GACE,EACA,EACA,EACA,CACF,EACA,EAAQ,MAAQ,GAA0B,EAAG,CAAY,EACzD,MACF,IAAK,GACH,GACE,EACA,EACA,EACA,CACF,EACA,MACF,IAAK,GACH,GACE,EACA,EACA,EACA,CACF,EACA,EAAQ,OACJ,EAAe,KACR,EAAa,YAAtB,OACG,EAAe,EAAa,UAAU,cAAc,OACtD,EAAe,EAAa,cAAc,MAC3C,IAAiB,IACd,EAAa,WACN,GAAR,MAAwB,GAAa,CAAY,IACrD,MACF,IAAK,IACH,GAAI,EAAQ,KAAM,CAChB,GACE,EACA,EACA,EACA,CACF,EACA,EAAe,EAAa,UAC5B,GAAI,CACF,IAAI,EAAyB,EAAa,cACxC,EAAK,EAAuB,GAC5B,EAAe,EAAuB,aACzB,OAAO,GAAtB,YACE,EACE,EACS,EAAa,YAAtB,KAAkC,QAAU,SAC5C,EAAa,sBACb,EACF,CACJ,OAAS,EAAO,CACd,EAAwB,EAAc,EAAa,OAAQ,CAAK,CAClE,CACF,MACE,GACE,EACA,EACA,EACA,CACF,EACF,MACF,IAAK,IACH,GACE,EACA,EACA,EACA,CACF,EACA,MACF,IAAK,IACH,GACE,EACA,EACA,EACA,CACF,EACA,MACF,IAAK,IACH,MACF,IAAK,IACH,EAAyB,EAAa,UACtC,EAAK,EAAa,UACT,EAAa,gBAAtB,KASI,EAAuB,YAAc,EACnC,GACE,EACA,EACA,EACA,CACF,GACE,EAAuB,aAAe,EACxC,GACE,EACA,EACA,EACA,GACO,EAAa,aAAe,QAAnC,GAA6C,CAAC,CAChD,GAtBF,EAAuB,YAAc,EACnC,GACE,EACA,EACA,EACA,CACF,EACA,GAAwC,EAAc,CAAY,EAgBxE,EAAQ,MAAQ,GAAmC,EAAI,CAAY,EACnE,MACF,IAAK,IACH,GACE,EACA,EACA,EACA,CACF,EACA,EAAQ,MACN,GAA8B,EAAa,UAAW,CAAY,EACpE,MACF,QACE,GACE,EACA,EACA,EACA,CACF,CACJ,CACF,CACA,SAAS,GACP,EACA,EACA,EACA,EACA,EACA,CAIA,IAHA,KAEU,EAAY,aAAe,QAAlC,GAA4C,CAAC,EAC3C,EAAc,EAAY,MAAgB,IAAT,MAAwB,CAC5D,IAAI,EAAe,EACjB,EAAe,EACf,EAAiB,EACjB,EAAuB,EACvB,EAAQ,EAAa,MACvB,OAAQ,EAAa,IAArB,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACH,GACE,EACA,EACA,EACA,EACA,CACF,EACA,GAA0B,EAAG,CAAY,EACzC,MACF,IAAK,IACH,MACF,IAAK,IACH,IAAI,EAAW,EAAa,UACnB,EAAa,gBAAtB,MAaM,EAAS,aAAe,EAC1B,GACE,EACA,EACA,EACA,EACA,CACF,GAnBA,EAAS,YAAc,EACrB,GACE,EACA,EACA,EACA,EACA,CACF,EACA,GACE,EACA,CACF,EASN,GACE,EAAQ,MACR,GACE,EAAa,UACb,CACF,EACF,MACF,IAAK,IACH,GACE,EACA,EACA,EACA,EACA,CACF,EACA,GACE,EAAQ,MACR,GAA8B,EAAa,UAAW,CAAY,EACpE,MACF,QACE,GACE,EACA,EACA,EACA,EACA,CACF,CACJ,CACA,EAAc,EAAY,OAC5B,CACF,CACA,SAAS,GACP,EACA,EACA,CACA,GAAI,EAAY,aAAe,MAC7B,IAAK,EAAc,EAAY,MAAgB,IAAT,MAAwB,CAC5D,IAAI,EAAe,EACjB,EAAe,EACf,EAAQ,EAAa,MACvB,OAAQ,EAAa,IAArB,CACE,IAAK,IACH,GAAwC,EAAc,CAAY,EAClE,EAAQ,MACN,GACE,EAAa,UACb,CACF,EACF,MACF,IAAK,IACH,GAAwC,EAAc,CAAY,EAClE,EAAQ,MACN,GAA8B,EAAa,UAAW,CAAY,EACpE,MACF,QACE,GAAwC,EAAc,CAAY,CACtE,CACA,EAAc,EAAY,OAC5B,CACJ,CACA,IAAI,GAAsB,KAC1B,SAAS,GACP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KACI,GAAsC,EACvC,GAAoC,KAAK,MACvC,GACA,CACF,EACR,CACA,EAAa,CACf,CAEA,GADA,EAAsB,CAAC,EACb,IAAN,EAAkB,QACxB,CACF,CACA,GAAU,IAAN,EAAkB,CACpB,GAAkB,EAAe,CAAC,EAClC,GAAkB,EAAe,EAAO,EAAG,CAAC,CAAC,EAC7C,KACF,CACA,EAAG,CAGD,OAFA,EAAkB,EAClB,EAAsB,EACd,EAAR,CACE,IAAK,GACL,IAAK,GACH,MAAM,MAAM,EAAuB,GAAG,CAAC,EACzC,IAAK,GACH,IAAK,EAAQ,WAAa,EAAO,MACnC,IAAK,GACH,GACE,EACA,EACA,GACA,CAAC,EACH,EACA,MAAM,EACR,IAAK,GACH,GAAsC,KACtC,MACF,IAAK,GACL,IAAK,GACH,MACF,QACE,MAAM,MAAM,EAAuB,GAAG,CAAC,CAC3C,CACA,IACG,EAAQ,YAAc,IACrB,EAAa,GAA+B,IAAM,GAAI,EACxD,GAAK,GACL,CAOA,GANA,GACE,EACA,EACA,GACA,CAAC,EACH,EACU,GAAa,EAAiB,EAAG,CAAC,CAAC,IAAzC,EAA4C,MAAM,EACtD,GAAsB,EACtB,EAAgB,cAAgB,GAC9B,GAAoB,KAClB,KACA,EACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,YACA,GACA,CACF,EACA,CACF,EACA,MAAM,CACR,CACA,GACE,EACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,KACA,GACA,CACF,CACF,CACF,CACA,KACF,OAAS,GACT,GAAsB,CAAa,CACrC,CACA,SAAS,GACP,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CAGA,GAFA,EAAK,cAAgB,GACrB,EAAwB,EAAa,aAEnC,EAAwB,OACV,EAAwB,WAAtC,SACA,CACA,EAAwB,CACtB,YAAa,KACb,MAAO,EACP,SAAU,EACV,SAAU,EACV,gBAAiB,CAAC,EAClB,iBAAkB,CAAC,EACnB,yBAA0B,CAAC,EAC3B,UAAW,EACb,EACA,GAC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AAK,OACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,gBACL,IAAK,cACL,IAAK,YACL,IAAK,aACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,aACL,IAAK,eACL,IAAK,SACL,IAAK,kBACL,IAAK,YACL,IAAK,mBACL,IAAK,iBACL,IAAK,oBACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,OACL,IAAK,mBACL,IAAK,QACL,IAAK,aACL,IAAK,WACL,IAAK,SACL,IAAK,cACH,MAAO,GACT,IAAK,OACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,SACL,IAAK,YACL,IAAK,QACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,eACH,MAAO,GACT,IAAK,UACH,OAAQ,GAAwB,EAAhC,CACE,KAAK,GACH,MAAO,GACT,KAAK,GACH,MAAO,GACT,KAAK,EACL,KAAK,GACH,MAAO,IACT,KAAK,GACH,MAAO,WACT,QACE,MAAO,GACX,CACF,QACE,MAAO,GACX,CACF,CACA,IAAI,GAA4B,CAAC,EAC/B,GAAc,KACd,GAAa,KACb,GAAc,KACd,GAAiB,IAAI,IACrB,GAAwB,IAAI,IAC5B,GAAiC,CAAC,EAClC,GACE,sPAAsP,MACpP,GACF,EACJ,SAAS,GAAuB,EAAc,EAAa,CACzD,OAAQ,EAAR,CACE,IAAK,UACL,IAAK,WACH,GAAc,KACd,MACF,IAAK,YACL,IAAK,YACH,GAAa,KACb,MACF,IAAK,YACL,IAAK,WACH,GAAc,KACd,MACF,IAAK,cACL,IAAK,aACH,GAAe,OAAO,EAAY,SAAS,EAC3C,MACF,IAAK,oBACL,IAAK,qBACH,GAAsB,OAAO,EAAY,SAAS,CACtD,CACF,CACA,SAAS,GACP,EACA,EACA,EACA,EACA,EACA,EACA,CAuBA,OArBW,IAAT,MACA,EAAoB,cAAgB,GAGjC,EAAsB,CACV,YACG,eACI,mBACL,cACb,iBAAkB,CAAC,CAAe,CACpC,EACS,IAAT,OACI,EAAY,EAAoB,CAAS,EAClC,IAAT,MAAsB,GAA2B,CAAS,GAC5D,IAEJ,EAAoB,kBAAoB,EACxC,EAAY,EAAoB,iBACvB,IAAT,MACS,EAAU,QAAQ,CAAe,IAAxC,IACA,EAAU,KAAK,CAAe,EACzB,EACT,CACA,SAAS,GACP,EACA,EACA,EACA,EACA,EACA,CACA,OAAQ,EAAR,CACE,IAAK,UACH,MACG,IAAc,GACb,GACA,EACA,EACA,EACA,EACA,CACF,EACA,CAAC,EAEL,IAAK,YACH,MACG,IAAa,GACZ,GACA,EACA,EACA,EACA,EACA,CACF,EACA,CAAC,EAEL,IAAK,YACH,MACG,IAAc,GACb,GACA,EACA,EACA,EACA,EACA,CACF,EACA,CAAC,EAEL,IAAK,cACH,IAAI,EAAY,EAAY,UAY5B,OAXA,GAAe,IACb,EACA,GACE,GAAe,IAAI,CAAS,GAAK,KACjC,EACA,EACA,EACA,EACA,CACF,CACF,EACO,CAAC,EACV,IAAK,oBACH,MACG,GAAY,EAAY,UACzB,GAAsB,IACpB,EACA,GACE,GAAsB,IAAI,CAAS,GAAK,KACxC,EACA,EACA,EACA,EACA,CACF,CACF,EACA,CAAC,CAEP,CACA,MAAO,CAAC,CACV,CACA,SAAS,GAA+B,EAAc,CACpD,IAAI,EAAa,GAA2B,EAAa,MAAM,EAC/D,GAAa,IAAT,KAAqB,CACvB,IAAI,EAAiB,EAAuB,CAAU,EACtD,GAAa,IAAT,SACI,EAAa,EAAe,IAAa,IAAP,OAElC,EAAa,EAA6B,CAAc,EACjD,IAAT,KACA,CACA,EAAa,UAAY,EACzB,GAAgB,EAAa,SAAU,UAAY,CACjD,GAAkC,CAAc,CAClD,CAAC,EACD,MACF,OACK,GAAW,IAAP,OAEL,EAAa,EAA6B,CAAc,EACjD,IAAT,KACA,CACA,EAAa,UAAY,EACzB,GAAgB,EAAa,SAAU,UAAY,CACjD,GAAkC,CAAc,CAClD,CAAC,EACD,MACF,OACK,GACC,IAAN,GACA,EAAe,UAAU,QAAQ,cAAc,aAC/C,CACA,EAAa,UACL,EAAe,MAArB,EACI,EAAe,UAAU,cACzB,KACN,MACF,EACJ,CACA,EAAa,UAAY,IAC3B,CACA,SAAS,GAAmC,EAAa,CACvD,GAAa,EAAY,YAArB,KAAgC,MAAO,CAAC,EAC5C,IACE,IAAI,EAAmB,EAAY,iBACnC,EAAI,EAAiB,QAErB,CACA,IAAI,EAAgB,GAA0B,EAAY,WAAW,EACrE,GAAa,IAAT,KAAwB,CAC1B,EAAgB,EAAY,YAC5B,IAAI,EAAmB,IAAI,EAAc,YACvC,EAAc,KACd,CACF,EACA,GAAwB,EACxB,EAAc,OAAO,cAAc,CAAgB,EACnD,GAAwB,IAC1B,MACE,MACG,GAAmB,EAAoB,CAAa,EAC5C,IAAT,MACE,GAA2B,CAAgB,EAC5C,EAAY,UAAY,EACzB,CAAC,EAEL,EAAiB,MAAM,CACzB,CACA,MAAO,CAAC,CACV,CACA,SAAS,GAAwC,EAAa,EAAK,EAAK,CACtE,GAAmC,CAAW,GAAK,EAAI,OAAO,CAAG,CACnE,CACA,SAAS,IAAwB,CAC/B,GAA4B,CAAC,EACpB,KAAT,MACE,GAAmC,EAAW,IAC7C,GAAc,MACR,KAAT,MACE,GAAmC,EAAU,IAC5C,GAAa,MACP,KAAT,MACE,GAAmC,EAAW,IAC7C,GAAc,MACjB,GAAe,QAAQ,EAAuC,EAC9D,GAAsB,QAAQ,EAAuC,CACvE,CACA,SAAS,GAA4B,EAAa,EAAW,CAC3D,EAAY,YAAc,IACtB,EAAY,UAAY,KAC1B,KACI,GAA4B,CAAC,EAC/B,EAAU,0BACR,EAAU,wBACV,EACF,GACN,CACA,IAAI,GAA2B,KAC/B,SAAS,GAA4B,EAAoB,CACvD,KAA6B,IACzB,GAA2B,EAC7B,EAAU,0BACR,EAAU,wBACV,UAAY,CACV,KAA6B,IAC1B,GAA2B,MAC9B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAmB,OAAQ,GAAK,EAAG,CACrD,IAAI,EAAO,EAAmB,GAC5B,EAAoB,EAAmB,EAAI,GAC3C,EAAW,EAAmB,EAAI,GACpC,GAAmB,OAAO,GAAtB,WACF,IAAa,GAA2B,GAAqB,CAAI,IAA7D,KACF,SACG,KAAA,CACP,IAAI,EAAW,EAAoB,CAAI,EAC9B,IAAT,OACG,EAAmB,OAAO,EAAG,CAAC,EAC9B,GAAK,EACN,GACE,EACA,CACE,QAAS,CAAC,EACV,KAAM,EACN,OAAQ,EAAK,OACb,OAAQ,CACV,EACA,EACA,CACF,EACJ,CACF,CACF,EACJ,CACA,SAAS,GAAiB,EAAW,CACnC,SAAS,EAAQ,EAAa,CAC5B,OAAO,GAA4B,EAAa,CAAS,CAC3D,CACS,KAAT,MAAwB,GAA4B,GAAa,CAAS,EACjE,KAAT,MAAuB,GAA4B,GAAY,CAAS,EAC/D,KAAT,MAAwB,GAA4B,GAAa,CAAS,EAC1E,GAAe,QAAQ,CAAO,EAC9B,GAAsB,QAAQ,CAAO,EACrC,IAAK,IAAI,EAAI,EAAG,EAAI,GAA+B,OAAQ,IAAK,CAC9D,IAAI,EAAe,GAA+B,GAClD,EAAa,YAAc,IAAc,EAAa,UAAY,KACpE,CACA,KAEE,EAAI,GAA+B,SACjC,EAAI,GAA+B,GAAc,EAAE,YAAX,OAG1C,GAA+B,CAAC,EACrB,EAAE,YAAX,MAAwB,GAA+B,MAAM,EAEjE,GADA,GAAK,EAAU,eAAiB,GAAW,kBAC/B,GAAR,KACF,IAAK,EAAe,EAAG,EAAe,EAAE,OAAQ,GAAgB,EAAG,CACjE,IAAI,EAAO,EAAE,GACX,EAAoB,EAAE,EAAe,GACrC,EAAY,EAAK,KAAqB,KACxC,GAAmB,OAAO,GAAtB,WACF,GAAa,GAA4B,CAAC,OACvC,GAAI,EAAW,CAClB,IAAI,EAAS,KACb,GAAI,GAAqB,EAAkB,aAAa,YAAY,MAE9D,EAAO,EACR,EAAY,EAAkB,KAAqB,KAEpD,EAAS,EAAU,gBAEnB,GAAa,GAA2B,CAAI,IAAxC,KAA2C,QAAA,MAE9C,EAAS,EAAU,OACT,OAAO,GAAtB,WACK,EAAE,EAAe,GAAK,GACtB,EAAE,OAAO,EAAc,CAAC,EAAI,GAAgB,GACjD,GAA4B,CAAC,CAC/B,CACF,CACJ,CACA,SAAS,IAAsC,CAC7C,SAAS,EAAe,EAAO,CAC7B,EAAM,cACmB,EAAM,OAA7B,oBACA,EAAM,UAAU,CACd,QAAS,UAAY,CACnB,OAAO,IAAI,QAAQ,SAAU,EAAS,CACpC,MAAQ,GAAiB,CAC3B,CAAC,CACH,EACA,WAAY,SACZ,OAAQ,QACV,CAAC,CACL,CACA,SAAS,GAAyB,CACvB,IAAT,OAA4B,EAAe,EAAI,EAAiB,MAChE,GAAe,WAAW,EAAqB,EAAE,CACnD,CACA,SAAS,GAAsB,CAC7B,GAAI,CAAC,GAAe,CAAC,WAAW,WAAY,CAC1C,IAAI,EAAe,WAAW,aAC9B,GACU,EAAa,KAArB,MACA,WAAW,SAAS,EAAa,IAAK,CACpC,MAAO,EAAa,SAAS,EAC7B,KAAM,mBACN,QAAS,SACX,CAAC,CACL,CACF,CACA,GAAiB,OAAO,YAApB,SAAgC,CAClC,IAAI,EAAc,CAAC,EACjB,EAAiB,KAKnB,OAJA,WAAW,iBAAiB,WAAY,CAAc,EACtD,WAAW,iBAAiB,kBAAmB,CAAsB,EACrE,WAAW,iBAAiB,gBAAiB,CAAsB,EACnE,WAAW,EAAqB,GAAG,EAC5B,UAAY,CACjB,EAAc,CAAC,EACf,WAAW,oBAAoB,WAAY,CAAc,EACzD,WAAW,oBAAoB,kBAAmB,CAAsB,EACxE,WAAW,oBAAoB,gBAAiB,CAAsB,EAC7D,IAAT,OAA4B,EAAe,EAAI,EAAiB,KAClE,CACF,CACF,CACA,SAAS,GAAa,EAAc,CAClC,KAAK,cAAgB,CACvB,CACA,GAAsB,UAAU,OAAS,GAAa,UAAU,OAC9D,SAAU,EAAU,CAClB,IAAI,EAAO,KAAK,cAChB,GAAa,IAAT,KAAe,MAAM,MAAM,EAAuB,GAAG,CAAC,EAC1D,IAAI,EAAU,EAAK,QAEnB,GAAoB,EADX,GACuB,EAAG,EAAU,EAAM,KAAM,IAAI,CAC/D,EACF,GAAsB,UAAU,QAAU,GAAa,UAAU,QAC/D,UAAY,CACV,IAAI,EAAO,KAAK,cAChB,GAAa,IAAT,KAAe,CACjB,KAAK,cAAgB,KACrB,IAAI,EAAY,EAAK,cACrB,GAAoB,EAAK,QAAS,EAAG,KAAM,EAAM,KAAM,IAAI,EAC3D,GAAgB,EAChB,EAAU,IAAgC,IAC5C,CACF,EACF,SAAS,GAAsB,EAAc,CAC3C,KAAK,cAAgB,CACvB,CACA,GAAsB,UAAU,2BAA6B,SAAU,EAAQ,CAC7E,GAAI,EAAQ,CACV,IAAI,EAAiB,GAAsB,EAC3C,EAAS,CAAE,UAAW,KAAc,SAAQ,SAAU,CAAe,EACrE,IACE,IAAI,EAAI,EACR,EAAI,GAA+B,QAC7B,IAAN,GACA,EAAiB,GAA+B,GAAG,SACnD,KAEF,GAA+B,OAAO,EAAG,EAAG,CAAM,EAC5C,IAAN,GAAW,GAA+B,CAAM,CAClD,CACF,EACA,IAAI,GAAmD,EAAM,QAC7D,GAEE,KADA,SAGA,MAAM,MACJ,EACE,IACA,GACA,QACF,CACF,EACF,EAAwB,YAAc,SAAU,EAAoB,CAClE,IAAI,EAAQ,EAAmB,gBAC/B,GAAe,IAAX,IAAK,GAIP,MAHmB,OAAO,EAAmB,QAAzC,WACI,MAAM,EAAuB,GAAG,CAAC,GACzC,EAAqB,OAAO,KAAK,CAAkB,EAAE,KAAK,GAAG,EACvD,MAAM,EAAuB,IAAK,CAAkB,CAAC,GAS7D,MAPA,GAAqB,EAA8B,CAAK,EACxD,EACW,IAAT,KAEI,KADA,EAAyB,CAAkB,EAEjD,EACW,IAAT,KAA8B,KAAO,EAAmB,UACnD,CACT,EACA,IAAI,GAA+B,CACjC,WAAY,EACZ,QAAS,SACT,oBAAqB,YACrB,qBAAsB,EACtB,kBAAmB,QACrB,EACA,GAAoB,OAAO,+BAAvB,IAAuD,CACzD,IAAI,GAA0B,+BAC9B,GACE,CAAC,GAAwB,YACzB,GAAwB,cAExB,GAAI,CACF,GAAc,GAAwB,OACpC,EACF,EACG,GAAe,EACpB,MAAc,CAAC,CACnB,CACA,EAAQ,WAAa,SAAU,EAAW,EAAS,CACjD,GAAI,CAAC,EAAiB,CAAS,EAAG,MAAM,MAAM,EAAuB,GAAG,CAAC,EACzE,IAAI,EAAe,CAAC,EAClB,EAAmB,GACnB,EAAkB,GAClB,EAAgB,GAChB,EAAqB,GA2BvB,OA1BS,GAAT,OAEG,CAAC,IAAM,EAAQ,sBAAwB,EAAe,CAAC,GAC7C,EAAQ,mBAAnB,IAAK,KACF,EAAmB,EAAQ,kBACnB,EAAQ,kBAAnB,IAAK,KACF,EAAkB,EAAQ,iBAClB,EAAQ,gBAAnB,IAAK,KAAgC,EAAgB,EAAQ,eAClD,EAAQ,qBAAnB,IAAK,KACF,EAAqB,EAAQ,qBAClC,EAAU,GACR,EACA,EACA,CAAC,EACD,KACA,KACA,EACA,EACA,KACA,EACA,EACA,EACA,EACF,EACA,EAAU,IAAgC,EAAQ,QAClD,GAA2B,CAAS,EAC7B,IAAI,GAAa,CAAO,CACjC,kBC7nfA,SAAS,GAAW,CAGhB,YAAO,+BAAmC,KAC1C,OAAO,+BAA+B,UAAa,YAcrD,GAAI,CAEF,+BAA+B,SAAS,CAAQ,CAClD,OAAS,EAAK,CAGZ,QAAQ,MAAM,CAAG,CACnB,CACF,CAKE,EAAS,EACT,EAAO,QAAA,EAAA,2BEVT,SAAgB,EAAqB,EAAO,CAExC,OADc,EAAM,MAAM,GAAG,EAAE,IAAM,GAEhC,MAAM,QAAQ,EACd,OAAQ,GAAM,EAAE,OAAS,CAAC,EAC1B,IAAK,GAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAI,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAC/D,KAAK,GAAG,CACjB,CC7BA,IAAM,EADsB,KAAO,IACc,GACjD,SAAgB,EAAY,EAAS,CACjC,GAAI,CAAC,EAAQ,YAAY,WACrB,MAAO,GAEX,IAAM,EAAW,IADM,KAAK,EAAQ,YAAY,UAC/B,EAAW,QAAQ,EAAI,KAAK,IAAI,EAIjD,OAHI,EAAW,EACJ,EACM,KAAK,MAAM,EAAW,CAChC,CACX,CCZA,SAAgB,EAAS,EAAe,EAAuB,CAa3D,OAZI,EAAM,WAAW,GAAG,IACpB,EAAQ,EAAM,MAAM,CAAC,GAErB,EAAM,SAAS,GAAG,IAClB,EAAQ,EAAM,MAAM,EAAG,EAAE,GAEzB,EAAM,WAAW,GAAG,IACpB,EAAQ,EAAM,MAAM,CAAC,GAEpB,EAGE,IAAI,EAAM,GAAG,IAFT,IAAI,GAGnB,CCKA,SAAgB,EAAwB,EAA2B,CAC/D,IAAM,EAAI,IAAI,IAAI,EAAW,4BAA4B,EACnD,EAAW,EAAE,SAAS,QAAQ,2BAA4B,EAAE,EAOlE,OANI,IAAa,EAAE,SAIR,IAEJ,GAAY,GACvB,CAEA,SAAS,GAAqB,CAK1B,OAAO,EAHoC,OAAO,KAAK,KAClD,SAAS,eAA4C,KACtD,OAAO,SAAS,IACoB,CAC5C,CAEA,SAAgB,EAAW,EAAyB,CAIhD,OAHK,EAAQ,WAAW,GAAG,IACvB,EAAU,IAAI,KAEX,EAAS,EAAW,EAAG,CAAO,CACzC,CAQA,IAAM,GAAO,KAAU,GAAK,IACtB,GAAW,EAEJ,EAA2C,CACpD,OAAQ,aACR,KAAM,QACN,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,GAAW,EAAI,EAAE,YAAY,EAC/D,YAAa,cACb,oBAAqB,GACrB,UAAW,aACf,CACJ,EACa,GAAwC,CACjD,OAAQ,UACR,KAAM,QACN,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,GAAW,EAAI,EAAE,YAAY,EAC/D,QAAS,GACT,YAAa,cACb,oBAAqB,GACrB,UAAW,qBACf,CACJ,EAEM,GAAoC,CACtC,OAAQ,aACR,KAAM,WACN,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,WAAY,GACZ,YAAa,cACb,oBAAqB,GACrB,UAAW,EACf,CACJ,EAEM,GAAoC,CACtC,OAAQ,aACR,KAAM,eACN,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,GAAW,EAAI,EAAE,YAAY,EAC/D,YAAa,cACb,oBAAqB,GACrB,UAAW,WACf,CACJ,EACM,GAA6C,CAC/C,OAAQ,aACR,KAAM,eACN,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,QAAS,YACT,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,GAAW,EAAI,EAAE,YAAY,EAC/D,YAAa,cACb,oBAAqB,GACrB,UAAW,WACf,CACJ,EAEM,GAAuC,CACzC,OAAQ,aACR,KAAM,eACN,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,WAAY,gCACZ,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,GAAW,EAAI,EAAE,YAAY,EAC/D,YAAa,kBACb,oBAAqB,GACrB,UAAW,oBACf,CACJ,EAEM,GAAsC,CACxC,OAAQ,UACR,KAAM,eACN,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,GAAW,EAAI,EAAE,YAAY,EAC/D,YAAa,cACb,oBAAqB,GACrB,UAAW,QACf,CACJ,EAEa,GAA6C,CACtD,OAAQ,aACR,KAAM,eACN,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,GAAW,EAAI,EAAE,YAAY,EAC/D,YAAa,qBACb,oBAAqB,yBACrB,UAAW,EACf,CACJ,EAEM,EAAmD,CACrD,OAAQ,SACR,KAAM,eACN,QAAS,sCACT,YAAa,sBACb,eAAgB,SAChB,YAAa,CACT,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,GAAW,EAAI,EAAE,YAAY,EAC/D,YAAa,qBACb,oBAAqB,yBACrB,UAAW,EACf,CACJ,EACa,EAAS,CAClB,KAAM,GACN,eAAgB,GAChB,IAAK,SACL,QAAS,UACT,cAAe,QACnB,EACA,SAAgB,GAAY,EAAW,CAGnC,OAFA,EAAO,KAAO,QACd,EAAI,EAAE,QAAQ,KAAM,GAAG,EACf,EAAR,CACI,IAAK,MACD,EAAO,eAAiB,GACxB,MACJ,IAAK,QACD,EAAO,eAAiB,EACxB,MACJ,IAAK,gBACD,EAAO,eAAiB,GACxB,MACJ,IAAK,cACD,EAAO,eAAiB,GACxB,MACJ,IAAK,WACD,EAAO,eAAiB,GACxB,MACJ,IAAK,sBACD,EAAO,eAAiB,GACxB,MACJ,IAAK,6BACD,EAAO,eAAiB,EACxB,MACJ,IAAK,gBACD,EAAO,eAAiB,GACxB,MACJ,IAAK,eACD,EAAO,eAAiB,GACxB,MACJ,QACI,QAAQ,IAAI,gBAAiB,CAAC,EAC9B,KACR,CACJ,CAEA,IAAM,GAAQ,GAAe,IAAI,QAAS,GAAY,WAAW,EAAS,CAAE,CAAC,EAChE,GAAuB,KAAO,IAA+C,CACtF,GAAI,EAAO,OAAS,QAKhB,OAJA,MAAM,GAAK,GAAI,EACX,EAAQ,UAAY,EAAO,IACpB,EAAO,QAEX,GAGX,IAAM,EAAM,EAAW,0BAA0B,EAM3C,EAAQ,MAAM,MALC,MAAM,EAAK,CAC5B,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAO,CAChC,CAAC,GAC0B,KAAK,EAShC,OAJI,EAAK,SAAW,MAAQ,CAAC,EAAK,SAC9B,QAAQ,IAAI,EAAK,OAAO,EACjB,IAEJ,EAAK,OAChB,EAEa,GAAkB,KAAO,IAAyC,CAC3E,GAAI,EAAO,OAAS,QAMhB,OALA,MAAM,GAAK,GAAI,EACX,IAAe,EAAO,eACtB,EAAO,eAAiB,GACjB,IAEJ,GAEX,IAAM,EAAM,EAAW,2BAA2B,EAUlD,OAJI,MALiB,MAAM,EAAK,CAC5B,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,YAAW,CAAC,CACvC,CAAC,GACU,SAAW,IAIf,IAHH,QAAQ,IAAI,OAAO,EACZ,GAGf,EAEa,GAAkB,KAAO,IAA8B,CAChE,IAAM,EAAM,EAAW,mBAAmB,EAM1C,IAAI,MALiB,MAAM,EAAK,CAC5B,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAO,CAChC,CAAC,GACU,SAAW,IAAK,CACvB,QAAQ,IAAI,OAAO,EACnB,MACJ,CACA,MAAO,IACX,EAEa,EAAiB,SAAmC,CAC7D,GAAI,EAAO,OAAS,QAEhB,OADA,MAAM,GAAK,GAAI,EACR,EAAO,eAGlB,GAAI,CACA,IAAM,EAAM,EAAW,cAAc,EAC/B,EAAS,MAAM,MAAM,EAAK,CAAE,OAAQ,MAAO,CAAC,EAClD,GAAI,EAAO,SAAW,IAClB,MAAU,MAAM,mBAAmB,EAAO,OAAO,GAAG,EAAO,YAAY,EAG3E,OAAO,MADa,EAAO,KAAK,CAEpC,OAAS,EAAK,CAEV,MADA,QAAQ,IAAK,EAAc,OAAO,EAC5B,CACV,CACJ,EAEM,IAAkB,EAAQ,QAEvB,GAAS,OAAO,SAAS,OAAO,QAAQ,IAAK,EAAE,GAG3C,MAAM,GAAG,EAGT,IAAK,GAAS,CACX,GAAM,CAAC,EAAK,GAAO,EAAK,MAAM,GAAG,EACjC,MAAO,CAAC,EAAK,mBAAmB,GAAO,EAAE,CAAC,CAC9C,CAAC,EAGA,QACI,EAAQ,CAAC,EAAK,MACX,EAAO,GAAO,EACP,GAEX,CAAC,CACL,EAGC,OAAqB,CAC9B,IAAM,EAAK,GAAe,EACtB,EAAG,MACH,GAAY,EAAG,IAAI,CAE3B,EAiBa,GAAoB,KAAO,IAA8D,CAClG,GAAI,EAAO,OAAS,QAEhB,OADA,MAAM,GAAK,GAAI,EACR,CAAE,QAAS,GAAM,QAAS,oCAAqC,EAG1E,IAAM,EAAM,EAAW,yBAAyB,EAChD,GAAI,CACA,IAAM,EAAS,MAAM,MAAM,EAAK,CAC5B,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,eAAc,CAAC,CAC1C,CAAC,EACK,EAAQ,MAAM,EAAO,KAAK,EAOhC,MAAO,CACH,QAAS,EAAO,IAAM,EAAK,SAAW,KACtC,QAAS,EAAK,UAAY,EAAO,GAAK,wBAA0B,kCAChE,OAAQ,EAAK,OACb,KAAM,EAAK,KACX,OAAQ,EAAK,MACjB,CACJ,OAAS,EAAK,CACV,MAAO,CAAE,QAAS,GAAO,QAAU,EAAc,OAAQ,CAC7D,CACJ,EAQa,GAAwB,SAAkE,CACnG,GAAI,EAAO,OAAS,QAIhB,OAHA,MAAM,GAAK,GAAG,EAGP,CACH,SACI,4KACJ,OAAQ,0BACZ,EAEJ,GAAI,CACA,IAAM,EAAM,EAAW,oBAAoB,EACrC,EAAS,MAAM,MAAM,EAAK,CAAE,OAAQ,KAAM,CAAC,EACjD,GAAI,EAAO,SAAW,IAClB,OAAO,KAEX,IAAM,EAAQ,MAAM,EAAO,KAAK,EAQhC,OAHI,EAAK,SAAW,MAAQ,CAAC,EAAK,SACvB,KAEJ,CACH,SAAU,EAAK,SACf,OAAQ,EAAK,QAAU,0BAC3B,CACJ,OAAS,EAAK,CAEV,OADA,QAAQ,IAAI,4BAA6B,CAAG,EACrC,IACX,CACJ,EASA,SAAgB,GAA6B,EAAiC,CAC1E,GAAI,CACA,IAAM,EAAQ,EAAS,MAAM,GAAG,EAChC,GAAI,EAAM,SAAW,EAAG,OAAO,KAE/B,IAAM,EAAM,EAAM,GAAG,QAAQ,KAAM,GAAG,EAAE,QAAQ,KAAM,GAAG,EACnD,EAAS,EAAM,MAAM,OAAO,EAAI,OAAS,GAAK,CAAC,EAE/C,EADU,KAAK,MAAM,KAAK,CAAM,CAC3B,EAAQ,eACnB,GAAI,CAAC,GAAM,CAAC,gBAAgB,KAAK,CAAE,EAAG,OAAO,KAC7C,IAAM,EAAM,EAAG,QAAQ,KAAM,EAAE,EAAE,MAAM,EAAG,CAAC,EAAE,YAAY,EAEzD,OADI,EAAI,OAAS,EAAU,KACpB,GAAG,EAAI,MAAM,EAAG,CAAC,EAAE,GAAG,EAAI,MAAM,EAAG,CAAC,GAC/C,MAAQ,CACJ,OAAO,IACX,CACJ,CAEA,IAAa,GAAiB,SAA8B,CACxD,GAAI,EAAO,OAAS,QAEhB,OADA,MAAM,GAAK,GAAG,EACP,GAEX,GAAI,CACA,IAAM,EAAM,EAAW,kBAAkB,EAEzC,OAAO,MADc,MAAM,EAAK,CAAE,OAAQ,MAAO,CAAC,GACpC,SAAW,GAC7B,OAAS,EAAK,CAEV,OADA,QAAQ,IAAI,0BAA2B,CAAG,EACnC,EACX,CACJ,EASa,GAAgB,SAA8B,CACvD,GAAI,EAAO,OAAS,QAEhB,OADA,MAAM,GAAK,GAAG,EACP,GAEX,GAAI,CACA,IAAM,EAAM,EAAW,iBAAiB,EAExC,OAAO,MADc,MAAM,EAAK,CAAE,OAAQ,MAAO,CAAC,GACpC,SAAW,GAC7B,OAAS,EAAK,CAEV,OADA,QAAQ,IAAI,kCAAmC,CAAG,EAC3C,EACX,CACJ,EC/dA,GAAe,GAAA,IAAA,IAAA,wBAAA,OAAA,KAAA,GAAA,EAAA,KCAF,GAAmB,GAAmB,CAC/C,UAAU,UAAU,UAAU,CAAM,EAAE,SAC5B,CACF,QAAQ,IAAI,6CAA6C,CAC7D,EACC,GAAQ,CACL,QAAQ,MAAM,+BAAgC,CAAG,CACrD,CACJ,CACJ,ECTa,IAAe,EAAqB,IAAqB,CAClE,IAAM,EAAO,IAAI,KAAK,CAAC,CAAW,EAAG,CAAE,KAAM,YAAa,CAAC,EACrD,EAAe,SAAS,cAAc,GAAG,EAC/C,EAAa,SAAW,EACxB,EAAa,KAAO,OAAO,IAAI,gBAAgB,CAAI,EACnD,SAAS,KAAK,YAAY,CAAY,EACtC,EAAa,MAAM,EACnB,SAAS,KAAK,YAAY,CAAY,CAC1C,YCGA,IAAI,EAAqB,OAAO,IAAI,4BAA4B,EAC9D,EAAsB,OAAO,IAAI,gBAAgB,EACnD,SAAS,EAAQ,EAAM,EAAQ,EAAU,CACvC,IAAI,EAAM,KAGV,GAFW,IAAX,IAAK,KAAmB,EAAM,GAAK,GACxB,EAAO,MAAlB,IAAK,KAAqB,EAAM,GAAK,EAAO,KACxC,QAAS,EAEX,IAAK,IAAI,IADT,GAAW,CAAC,EACS,EACT,IAAV,QAAuB,EAAS,GAAY,EAAO,SAChD,EAAW,EAElB,MADA,GAAS,EAAS,IACX,CACL,SAAU,EACJ,OACD,MACL,IAAgB,IAAX,IAAK,GAAwB,KAAT,EACzB,MAAO,CACT,CACF,CACA,EAAQ,SAAW,EACnB,EAAQ,IAAM,EACd,EAAQ,KAAO,kBC9Bb,EAAO,QAAA,GAAA,OCEH,GAAU,GAEH,IAA8B,CAAE,iBAA+C,CACxF,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAA4B,CAAC,EACpC,CAAC,EAAmB,IAAA,EAAA,EAAA,UAAiC,EAAE,EACvD,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA+B,EAAE,EACnD,CAAC,EAAY,IAAA,EAAA,EAAA,UAA0B,EAAK,EAC5C,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAE,EACnC,CAAC,EAAY,IAAA,EAAA,EAAA,UAA0B,EAAE,EAwC/C,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,sBACT,IAAS,GAAK,IAAS,KACrB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,IAAS,EAAI,mBAAqB,8BAC7C,IAAS,EAAI,yBAA2B,aACxC,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,KAAC,QAAD,CACI,KAAK,OACL,UAAU,uBACV,GAAG,UACH,YAAY,oBACZ,MAAO,EACP,SAAW,GAAM,EAAW,EAAE,OAAO,KAAK,CAC7C,CAAA,EACA,IAAS,IACN,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,QAAS,SAxDhC,CACvB,GAAI,CAOA,IAAM,EAAoB,MAAM,GAAqB,CAJxC,UACT,MAAO,GACP,SAAU,EAEuC,CAAI,EACrD,IACA,EAAQ,CAAC,EACT,EAAqB,CAAiB,EAE9C,OAAS,EAAK,CACV,QAAQ,IAAI,CAAG,CACnB,CACJ,EAwCmE,UAAU,yCAAgC,QAEzE,CAAA,CAEX,GACJ,CAAA,CAAA,EAEJ,IAAS,IACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,0BAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4DAAf,EACI,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,sCAAb,CAA0C,2CACG,KACzC,EAAA,EAAA,KAAC,IAAD,CACI,KAAK,8BACL,UAAU,2DACb,sBAEE,CAAA,CACJ,KACH,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gCAAf,EACI,EAAA,EAAA,MAAC,SAAD,CAAQ,KAAK,SAAS,UAAU,sCAAsC,YA5C7E,CACrB,GAAY,EAAmB,wBAAwB,CAC3D,WA0CgC,EACI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,IAAQ,CAAA,EAAC,mBACX,KACR,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACL,UAAU,oEACV,YA/CJ,CAC5B,GAAgB,CAAiB,CACrC,WA0CgC,EAKI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,IAAQ,CAAA,EAAC,oBACX,GACP,GACJ,IAEJ,IAMD,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,QAAQ,QAAQ,sBAAa,mCAEvC,CAAA,GACP,EAAA,EAAA,KAAC,WAAD,CACI,UAAW,oFACP,EACM,oCACA,wCAEV,GAAG,aACH,YAAY,wCACZ,MAAO,EACP,SAAW,GAAM,EAAc,EAAE,OAAO,KAAK,CAChD,CAAA,EACA,IACG,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,6DAAb,EACI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,IAAQ,CAAA,EAAC,IAAE,CAClB,IAEN,IACG,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,8DAAb,EACI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,GAAO,CAAA,EAAC,4BACf,GAEN,CAAA,CAAA,GAEL,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,SA3GE,CACnC,EAAc,EAAI,EAClB,EAAmB,EAAE,EAErB,IAAM,EAAS,MAAM,GAAgB,CAAU,EAC/C,EAAc,EAAK,EAEf,GACA,EAAY,EACZ,EAAQ,CAAC,GAET,EAAmB,wBAAwB,CAEnD,EA+F4B,UAAU,4CACV,SAAU,WAET,EAAa,gBAAkB,kBAC5B,CAAA,CACP,GAER,GAER,CAAA,CAEb,EAEa,IAA6B,CAAE,iBAA+C,CACvF,GAAM,CAAC,EAAU,IAAA,EAAA,EAAA,UAA0C,CACvD,QAAS,GACT,MAAO,GACP,SAAU,EACd,CAAC,EAEK,CAAC,EAAQ,IAAA,EAAA,EAAA,UAAwC,CACnD,QAAS,GACT,MAAO,GACP,SAAU,EACd,CAAC,EAEK,EAAoB,SAAY,CAC9B,EAAS,GAEL,MADiB,GAAgB,CAAQ,GAEzC,EAAY,CAGxB,EAEM,EAAgB,GAAqC,CACvD,GAAM,CAAE,OAAM,SAAU,EAAE,OAK1B,EAAY,CAAE,GAAG,GAAW,GAAO,CAAM,CAAC,CAC9C,EAEM,MAAiB,CACnB,IAAM,EAA+B,CACjC,QAAS,GACT,MAAO,GACP,SAAU,EACd,EAWA,MARA,GAAW,QAAU,EAAS,QACxB,EAAS,QAAQ,MAAM,8BAA8B,EACjD,GACA,2EACJ,0BACN,EAAW,MAAQ,6BAA6B,KAAK,EAAS,KAAK,EAAI,GAAK,sBAC5E,EAAW,SAAW,EAAS,SAAW,GAAK,0BAC/C,EAAU,CAAU,EACb,OAAO,OAAO,CAAU,EAAE,MAAO,GAAM,IAAM,EAAE,CAC1D,EAKA,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qCACX,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,yDAAyD,SAN3D,GAAkC,CACpD,EAAE,eAAe,EACjB,EAAkB,CACtB,WAGQ,EACI,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,QAAQ,QAAQ,mBAAU,aAEpC,CAAA,GACP,EAAA,EAAA,KAAC,QAAD,CACI,UAAW,eAAe,EAAO,QAAU,oCAAsC,KACjF,KAAK,OACL,GAAG,UACH,KAAK,UACL,MAAO,EAAS,QAChB,SAAU,EACV,YAAY,4CACZ,SAAA,EACH,CAAA,EACA,EAAO,UACJ,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,6DAAb,EACI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,IAAQ,CAAA,EAAC,IAAE,EAAO,OACzB,GAEN,CAAA,CAAA,GAEL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,QAAQ,QAAQ,iBAAQ,eAElC,CAAA,GACP,EAAA,EAAA,KAAC,QAAD,CACI,UAAW,eAAe,EAAO,MAAQ,oCAAsC,KAC/E,KAAK,QACL,GAAG,QACH,KAAK,QACL,MAAO,EAAS,MAChB,SAAU,EACV,YAAY,yBACZ,SAAA,EACH,CAAA,EACA,EAAO,QACJ,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,6DAAb,EACI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,IAAQ,CAAA,EAAC,IAAE,EAAO,KACzB,GAEN,CAAA,CAAA,GAEL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,QAAQ,QAAQ,oBAAW,WAErC,CAAA,GACP,EAAA,EAAA,KAAC,QAAD,CACI,UAAW,eAAe,EAAO,SAAW,oCAAsC,KAClF,KAAK,OACL,GAAG,WACH,KAAK,WACL,MAAO,EAAS,SAChB,SAAU,EACV,YAAY,WACZ,SAAA,EACH,CAAA,EACA,EAAO,WACJ,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,6DAAb,EACI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,IAAQ,CAAA,EAAC,IAAE,EAAO,QACzB,GAEN,CAAA,CAAA,GAEL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBACX,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,UAAU,qDAA4C,kBAEpE,CAAA,CACP,CAAA,CACH,GACL,CAAA,CAEb,EAEa,IAAkB,CAAE,iBAAwD,CACrF,GAAM,CAAC,EAAW,IAAA,EAAA,EAAA,UAAyB,EAAK,EAEhD,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qCACX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uDAAf,EAEI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gEAAf,EACI,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAa,EAAK,EACjC,UAAW,iFACN,EAEK,gFADA,gEALd,EASI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAU,IAAQ,CAAA,GAClC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iCAAwB,mBAAuB,CAAA,GAC/D,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BAAqB,mBAAuB,CAAA,CACxD,KACR,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAa,EAAI,EAChC,UAAW,iFACP,EACM,qDACA,2FANd,EASI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAU,IAAQ,CAAA,GAClC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iCAAwB,oBAAwB,CAAA,GAChE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BAAqB,wBAA4B,CAAA,CAC7D,GACP,KAEL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,gBACV,GACG,EAAA,EAAA,KAAC,GAAD,CAAyC,aAAc,CAAA,GAEvD,EAAA,EAAA,KAAC,GAAD,CAAwC,aAAc,CAAA,CAEzD,CAAA,CACJ,GACJ,CAAA,CAEb,ECnSa,GAAa,SAuCb,GAAqB,OAOrB,GAAoB,MAmCpB,GAAiB,MAOjB,GAAe,KAiDf,GAAe,KAAgB,GAOf,GAAe,EAOf,GAAe,GAOE,GAOG,EAajD,IAAa,GAAsB,OAAO,IAAI,mBAAmB,EClLjE,SAAgB,GAAc,EAAM,EAAO,CAQzC,OAPI,OAAO,GAAS,WAAmB,EAAK,CAAK,EAE7C,GAAQ,OAAO,GAAS,UAAY,MAAuB,EACtD,EAAK,IAAqB,CAAK,EAEpC,aAAgB,KAAa,IAAI,EAAK,YAAY,CAAK,EAEpD,IAAI,KAAK,CAAK,CACvB,CCNA,SAAgB,EAAO,EAAU,EAAS,CAExC,OAAO,GAAc,GAAW,EAAU,CAAQ,CACpD,CC3CA,IAAI,GAAiB,CAAC,EAEtB,SAAgB,IAAoB,CAClC,OAAO,EACT,CC8BA,SAAgB,GAAY,EAAM,EAAS,CACzC,IAAM,EAAiB,GAAkB,EACnC,EACJ,GAAS,cACT,GAAS,QAAQ,SAAS,cAC1B,EAAe,cACf,EAAe,QAAQ,SAAS,cAChC,EAEI,EAAQ,EAAO,EAAM,GAAS,EAAE,EAChC,EAAM,EAAM,OAAO,EACnB,GAAQ,EAAM,EAAe,EAAI,GAAK,EAAM,EAIlD,OAFA,EAAM,QAAQ,EAAM,QAAQ,EAAI,CAAI,EACpC,EAAM,SAAS,EAAG,EAAG,EAAG,CAAC,EAClB,CACT,CCpBA,SAAgB,GAAe,EAAM,EAAS,CAC5C,OAAO,GAAY,EAAM,CAAE,GAAG,EAAS,aAAc,CAAE,CAAC,CAC1D,CCJA,SAAgB,GAAe,EAAM,EAAS,CAC5C,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAChC,EAAO,EAAM,YAAY,EAEzB,EAA4B,GAAc,EAAO,CAAC,EACxD,EAA0B,YAAY,EAAO,EAAG,EAAG,CAAC,EACpD,EAA0B,SAAS,EAAG,EAAG,EAAG,CAAC,EAC7C,IAAM,EAAkB,GAAe,CAAyB,EAE1D,EAA4B,GAAc,EAAO,CAAC,EACxD,EAA0B,YAAY,EAAM,EAAG,CAAC,EAChD,EAA0B,SAAS,EAAG,EAAG,EAAG,CAAC,EAC7C,IAAM,EAAkB,GAAe,CAAyB,EAO9D,OALE,EAAM,QAAQ,GAAK,EAAgB,QAAQ,EACtC,EAAO,EACL,EAAM,QAAQ,GAAK,EAAgB,QAAQ,EAC7C,EAEA,EAAO,CAElB,CCpCA,SAAgB,GAAgC,EAAM,CACpD,IAAM,EAAQ,EAAO,CAAI,EACnB,EAAU,IAAI,KAClB,KAAK,IACH,EAAM,YAAY,EAClB,EAAM,SAAS,EACf,EAAM,QAAQ,EACd,EAAM,SAAS,EACf,EAAM,WAAW,EACjB,EAAM,WAAW,EACjB,EAAM,gBAAgB,CACxB,CACF,EAEA,OADA,EAAQ,eAAe,EAAM,YAAY,CAAC,EAClC,EAAO,CAAC,CAClB,CC1BA,SAAgB,GAAe,EAAS,GAAG,EAAO,CAChD,IAAM,EAAY,GAAc,KAC9B,KACA,GAAW,EAAM,KAAM,GAAS,OAAO,GAAS,QAAQ,CAC1D,EACA,OAAO,EAAM,IAAI,CAAS,CAC5B,CCoBA,SAAgB,GAAW,EAAM,EAAS,CACxC,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAEtC,OADA,EAAM,SAAS,EAAG,EAAG,EAAG,CAAC,EAClB,CACT,CCQA,SAAgB,GAAyB,EAAW,EAAa,EAAS,CACxE,GAAM,CAAC,EAAY,GAAgB,GACjC,GAAS,GACT,EACA,CACF,EAEM,EAAkB,GAAW,CAAU,EACvC,EAAoB,GAAW,CAAY,EAE3C,EACJ,CAAC,EAAkB,GAAgC,CAAe,EAC9D,EACJ,CAAC,EAAoB,GAAgC,CAAiB,EAKxE,OAAO,KAAK,OAAO,EAAiB,GAAoB,EAAiB,CAC3E,CC1BA,SAAgB,GAAmB,EAAM,EAAS,CAChD,IAAM,EAAO,GAAe,EAAM,CAAO,EACnC,EAAkB,GAAc,GAAS,IAAM,EAAM,CAAC,EAG5D,OAFA,EAAgB,YAAY,EAAM,EAAG,CAAC,EACtC,EAAgB,SAAS,EAAG,EAAG,EAAG,CAAC,EAC5B,GAAe,CAAe,CACvC,CCLA,SAAgB,GAAW,EAAU,EAAW,CAC9C,IAAM,EAAQ,EAAO,CAAQ,EAAI,CAAC,EAAO,CAAS,EAMlD,OAJI,EAAO,EAAU,GACZ,EAAO,EAAU,EAGnB,CACT,CCVA,SAAgB,GAAO,EAAO,CAC5B,OACE,aAAiB,MAChB,OAAO,GAAU,UAChB,OAAO,UAAU,SAAS,KAAK,CAAK,IAAM,eAEhD,CCJA,SAAgB,GAAQ,EAAM,CAC5B,MAAO,EAAG,CAAC,GAAO,CAAI,GAAK,OAAO,GAAS,UAAa,MAAM,CAAC,EAAO,CAAI,CAAC,EAC7E,CCRA,SAAgB,GAA2B,EAAW,EAAa,EAAS,CAC1E,GAAM,CAAC,EAAY,GAAgB,GACjC,GAAS,GACT,EACA,CACF,EAEM,EAAY,EAAW,YAAY,EAAI,EAAa,YAAY,EAChE,EAAa,EAAW,SAAS,EAAI,EAAa,SAAS,EAEjE,OAAO,EAAY,GAAK,CAC1B,CCvCA,SAAgB,GAAkB,EAAQ,CACxC,MAAQ,IAAW,CAEjB,IAAM,GADQ,EAAS,KAAK,GAAU,KAAK,OACtB,CAAM,EAE3B,OAAO,IAAW,EAAI,EAAI,CAC5B,CACF,CCiBA,SAAgB,GAAyB,EAAW,EAAa,CAC/D,OAAQ,EAAO,CAAS,EAAI,CAAC,EAAO,CAAW,CACjD,CCEA,SAAgB,GAAS,EAAM,EAAS,CACtC,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAEtC,OADA,EAAM,SAAS,GAAI,GAAI,GAAI,GAAG,EACvB,CACT,CCJA,SAAgB,GAAW,EAAM,EAAS,CACxC,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAChC,EAAQ,EAAM,SAAS,EAG7B,OAFA,EAAM,YAAY,EAAM,YAAY,EAAG,EAAQ,EAAG,CAAC,EACnD,EAAM,SAAS,GAAI,GAAI,GAAI,GAAG,EACvB,CACT,CCZA,SAAgB,GAAiB,EAAM,EAAS,CAC9C,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EACtC,MAAO,CAAC,GAAS,EAAO,CAAO,GAAM,CAAC,GAAW,EAAO,CAAO,CACjE,CCAA,SAAgB,GAAmB,EAAW,EAAa,EAAS,CAClE,GAAM,CAAC,EAAY,EAAkB,GAAgB,GACnD,GAAS,GACT,EACA,EACA,CACF,EAEM,EAAO,GAAW,EAAkB,CAAY,EAChD,EAAa,KAAK,IACtB,GAA2B,EAAkB,CAAY,CAC3D,EAEA,GAAI,EAAa,EAAG,MAAO,GAEvB,EAAiB,SAAS,IAAM,GAAK,EAAiB,QAAQ,EAAI,IACpE,EAAiB,QAAQ,EAAE,EAE7B,EAAiB,SAAS,EAAiB,SAAS,EAAI,EAAO,CAAU,EAEzE,IAAI,EAAqB,GAAW,EAAkB,CAAY,IAAM,CAAC,EAGvE,GAAiB,CAAU,GAC3B,IAAe,GACf,GAAW,EAAY,CAAY,IAAM,IAEzC,EAAqB,IAGvB,IAAM,EAAS,GAAQ,EAAa,CAAC,GACrC,OAAO,IAAW,EAAI,EAAI,CAC5B,CC3BA,SAAgB,GAAoB,EAAW,EAAa,EAAS,CACnE,IAAM,EAAO,GAAyB,EAAW,CAAW,EAAI,IAChE,OAAO,GAAkB,GAAS,cAAc,EAAE,CAAI,CACxD,CCLA,SAAgB,GAAY,EAAM,EAAS,CACzC,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAGtC,OAFA,EAAM,YAAY,EAAM,YAAY,EAAG,EAAG,CAAC,EAC3C,EAAM,SAAS,EAAG,EAAG,EAAG,CAAC,EAClB,CACT,CCjCA,IAAM,GAAuB,CAC3B,iBAAkB,CAChB,IAAK,qBACL,MAAO,6BACT,EAEA,SAAU,CACR,IAAK,WACL,MAAO,mBACT,EAEA,YAAa,gBAEb,iBAAkB,CAChB,IAAK,qBACL,MAAO,6BACT,EAEA,SAAU,CACR,IAAK,WACL,MAAO,mBACT,EAEA,YAAa,CACX,IAAK,eACL,MAAO,uBACT,EAEA,OAAQ,CACN,IAAK,SACL,MAAO,iBACT,EAEA,MAAO,CACL,IAAK,QACL,MAAO,gBACT,EAEA,YAAa,CACX,IAAK,eACL,MAAO,uBACT,EAEA,OAAQ,CACN,IAAK,SACL,MAAO,iBACT,EAEA,aAAc,CACZ,IAAK,gBACL,MAAO,wBACT,EAEA,QAAS,CACP,IAAK,UACL,MAAO,kBACT,EAEA,YAAa,CACX,IAAK,eACL,MAAO,uBACT,EAEA,OAAQ,CACN,IAAK,SACL,MAAO,iBACT,EAEA,WAAY,CACV,IAAK,cACL,MAAO,sBACT,EAEA,aAAc,CACZ,IAAK,gBACL,MAAO,wBACT,CACF,EAEaA,IAAkB,EAAO,EAAO,IAAY,CACvD,IAAI,EAEE,EAAa,GAAqB,GAiBxC,MAhBA,CAKE,EALE,OAAO,GAAe,SACf,EACA,IAAU,EACV,EAAW,IAEX,EAAW,MAAM,QAAQ,YAAa,EAAM,SAAS,CAAC,EAG7D,GAAS,UACP,EAAQ,YAAc,EAAQ,WAAa,EACtC,MAAQ,EAER,EAAS,OAIb,CACT,ECpGA,SAAgB,GAAkB,EAAM,CACtC,OAAQ,EAAU,CAAC,IAAM,CAEvB,IAAM,EAAQ,EAAQ,MAAQ,OAAO,EAAQ,KAAK,EAAI,EAAK,aAE3D,OADe,EAAK,QAAQ,IAAU,EAAK,QAAQ,EAAK,aAE1D,CACF,CCgBA,IAAa,GAAa,CACxB,KAAM,GAAkB,CACtB,QAAS,CAtBX,KAAM,mBACN,KAAM,aACN,OAAQ,WACR,MAAO,YAmBI,EACT,aAAc,MAChB,CAAC,EAED,KAAM,GAAkB,CACtB,QAAS,CApBX,KAAM,iBACN,KAAM,cACN,OAAQ,YACR,MAAO,QAiBI,EACT,aAAc,MAChB,CAAC,EAED,SAAU,GAAkB,CAC1B,QAAS,CAlBX,KAAM,yBACN,KAAM,yBACN,OAAQ,qBACR,MAAO,oBAeI,EACT,aAAc,MAChB,CAAC,CACH,ECtCM,GAAuB,CAC3B,SAAU,qBACV,UAAW,mBACX,MAAO,eACP,SAAU,kBACV,SAAU,cACV,MAAO,GACT,EAEaC,IAAkB,EAAO,EAAO,EAAW,IACtD,GAAqB,GC6BvB,SAAgB,GAAgB,EAAM,CACpC,OAAQ,EAAO,IAAY,CACzB,IAAM,EAAU,GAAS,QAAU,OAAO,EAAQ,OAAO,EAAI,aAEzD,EACJ,GAAI,IAAY,cAAgB,EAAK,iBAAkB,CACrD,IAAM,EAAe,EAAK,wBAA0B,EAAK,aACnD,EAAQ,GAAS,MAAQ,OAAO,EAAQ,KAAK,EAAI,EAEvD,EACE,EAAK,iBAAiB,IAAU,EAAK,iBAAiB,EAC1D,KAAO,CACL,IAAM,EAAe,EAAK,aACpB,EAAQ,GAAS,MAAQ,OAAO,EAAQ,KAAK,EAAI,EAAK,aAE5D,EAAc,EAAK,OAAO,IAAU,EAAK,OAAO,EAClD,CACA,IAAM,EAAQ,EAAK,iBAAmB,EAAK,iBAAiB,CAAK,EAAI,EAGrE,OAAO,EAAY,EACrB,CACF,CC+FA,IAAa,GAAW,CACtB,eAzBqB,EAAa,IAAa,CAC/C,IAAM,EAAS,OAAO,CAAW,EAS3B,EAAS,EAAS,IACxB,GAAI,EAAS,IAAM,EAAS,GAC1B,OAAQ,EAAS,GAAjB,CACE,IAAK,GACH,OAAO,EAAS,KAClB,IAAK,GACH,OAAO,EAAS,KAClB,IAAK,GACH,OAAO,EAAS,IACpB,CAEF,OAAO,EAAS,IAClB,EAKE,IAAK,GAAgB,CACnB,OAAQ,CA7JV,OAAQ,CAAC,IAAK,GAAG,EACjB,YAAa,CAAC,KAAM,IAAI,EACxB,KAAM,CAAC,gBAAiB,aAAa,CA2J3B,EACR,aAAc,MAChB,CAAC,EAED,QAAS,GAAgB,CACvB,OAAQ,CA5JV,OAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3B,YAAa,CAAC,KAAM,KAAM,KAAM,IAAI,EACpC,KAAM,CAAC,cAAe,cAAe,cAAe,aAAa,CA0JvD,EACR,aAAc,OACd,iBAAmB,GAAY,EAAU,CAC3C,CAAC,EAED,MAAO,GAAgB,CACrB,OAAQ,CAxJV,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACnE,YAAa,CACX,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACF,EAEA,KAAM,CACJ,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,UACF,CA2HU,EACR,aAAc,MAChB,CAAC,EAED,IAAK,GAAgB,CACnB,OAAQ,CA5HV,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC1C,MAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EAChD,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAC7D,KAAM,CACJ,SACA,SACA,UACA,YACA,WACA,SACA,UACF,CAiHU,EACR,aAAc,MAChB,CAAC,EAED,UAAW,GAAgB,CACzB,OAAQ,CAlHV,OAAQ,CACN,GAAI,IACJ,GAAI,IACJ,SAAU,KACV,KAAM,IACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACT,EACA,YAAa,CACX,GAAI,KACJ,GAAI,KACJ,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACT,EACA,KAAM,CACJ,GAAI,OACJ,GAAI,OACJ,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACT,CAqFU,EACR,aAAc,OACd,iBAAkB,CAnFpB,OAAQ,CACN,GAAI,IACJ,GAAI,IACJ,SAAU,KACV,KAAM,IACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UACT,EACA,YAAa,CACX,GAAI,KACJ,GAAI,KACJ,SAAU,WACV,KAAM,OACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UACT,EACA,KAAM,CACJ,GAAI,OACJ,GAAI,OACJ,SAAU,WACV,KAAM,OACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UACT,CAsDoB,EAClB,uBAAwB,MAC1B,CAAC,CACH,EC1LA,SAAgB,EAAa,EAAM,CACjC,OAAQ,EAAQ,EAAU,CAAC,IAAM,CAC/B,IAAM,EAAQ,EAAQ,MAEhB,EACH,GAAS,EAAK,cAAc,IAC7B,EAAK,cAAc,EAAK,mBACpB,EAAc,EAAO,MAAM,CAAY,EAE7C,GAAI,CAAC,EACH,OAAO,KAET,IAAM,EAAgB,EAAY,GAE5B,EACH,GAAS,EAAK,cAAc,IAC7B,EAAK,cAAc,EAAK,mBAEpB,EAAM,MAAM,QAAQ,CAAa,EACnC,GAAU,EAAgB,GAAY,EAAQ,KAAK,CAAa,CAAC,EAEjE,GAAQ,EAAgB,GAAY,EAAQ,KAAK,CAAa,CAAC,EAE/D,EAEJ,EAAQ,EAAK,cAAgB,EAAK,cAAc,CAAG,EAAI,EACvD,EAAQ,EAAQ,cAEZ,EAAQ,cAAc,CAAK,EAC3B,EAEJ,IAAM,EAAO,EAAO,MAAM,EAAc,MAAM,EAE9C,MAAO,CAAE,QAAO,MAAK,CACvB,CACF,CAEA,SAAS,GAAQ,EAAQ,EAAW,CAClC,IAAK,IAAM,KAAO,EAChB,GACE,OAAO,UAAU,eAAe,KAAK,EAAQ,CAAG,GAChD,EAAU,EAAO,EAAI,EAErB,OAAO,CAIb,CAEA,SAAS,GAAU,EAAO,EAAW,CACnC,IAAK,IAAI,EAAM,EAAG,EAAM,EAAM,OAAQ,IACpC,GAAI,EAAU,EAAM,EAAI,EACtB,OAAO,CAIb,CCxDA,SAAgB,GAAoB,EAAM,CACxC,OAAQ,EAAQ,EAAU,CAAC,IAAM,CAC/B,IAAM,EAAc,EAAO,MAAM,EAAK,YAAY,EAClD,GAAI,CAAC,EAAa,OAAO,KACzB,IAAM,EAAgB,EAAY,GAE5B,EAAc,EAAO,MAAM,EAAK,YAAY,EAClD,GAAI,CAAC,EAAa,OAAO,KACzB,IAAI,EAAQ,EAAK,cACb,EAAK,cAAc,EAAY,EAAE,EACjC,EAAY,GAGhB,EAAQ,EAAQ,cAAgB,EAAQ,cAAc,CAAK,EAAI,EAE/D,IAAM,EAAO,EAAO,MAAM,EAAc,MAAM,EAE9C,MAAO,CAAE,QAAO,MAAK,CACvB,CACF,CELA,IAAa,GAAO,CAClB,KAAM,QACN,eAAgBC,GACJ,cACZ,eAAgBC,GACN,YACH,ODsEP,cAAe,GAAoB,CACjC,aAAc,wBACd,aAAc,OACd,cAAgB,GAAU,SAAS,EAAO,EAAE,CAC9C,CAAC,EAED,IAAK,EAAa,CAChB,cAAe,CA1FjB,OAAQ,UACR,YAAa,6DACb,KAAM,4DAwFW,EACf,kBAAmB,OACnB,cAAe,CAvFjB,IAAK,CAAC,MAAO,SAAS,CAuFL,EACf,kBAAmB,KACrB,CAAC,EAED,QAAS,EAAa,CACpB,cAAe,CAxFjB,OAAQ,WACR,YAAa,YACb,KAAM,gCAsFW,EACf,kBAAmB,OACnB,cAAe,CArFjB,IAAK,CAAC,KAAM,KAAM,KAAM,IAAI,CAqFX,EACf,kBAAmB,MACnB,cAAgB,GAAU,EAAQ,CACpC,CAAC,EAED,MAAO,EAAa,CAClB,cAAe,CAvFjB,OAAQ,eACR,YAAa,sDACb,KAAM,2FAqFW,EACf,kBAAmB,OACnB,cAAe,CApFjB,OAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACF,EAEA,IAAK,CACH,OACA,MACA,QACA,OACA,QACA,QACA,QACA,OACA,MACA,MACA,MACA,KACF,CAwDiB,EACf,kBAAmB,KACrB,CAAC,EAED,IAAK,EAAa,CAChB,cAAe,CAzDjB,OAAQ,YACR,MAAO,2BACP,YAAa,kCACb,KAAM,8DAsDW,EACf,kBAAmB,OACnB,cAAe,CArDjB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EACxD,IAAK,CAAC,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAM,CAoDxC,EACf,kBAAmB,KACrB,CAAC,EAED,UAAW,EAAa,CACtB,cAAe,CArDjB,OAAQ,6DACR,IAAK,gFAoDY,EACf,kBAAmB,MACnB,cAAe,CAnDjB,IAAK,CACH,GAAI,MACJ,GAAI,MACJ,SAAU,OACV,KAAM,OACN,QAAS,WACT,UAAW,aACX,QAAS,WACT,MAAO,QACT,CA0CiB,EACf,kBAAmB,KACrB,CAAC,CC9GM,EACP,QAAS,CACP,aAAc,EACd,sBAAuB,CACzB,CACF,ECCA,SAAgB,GAAa,EAAM,EAAS,CAC1C,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAGtC,OAFa,GAAyB,EAAO,GAAY,CAAK,CACzC,EAAI,CAE3B,CCFA,SAAgB,GAAW,EAAM,EAAS,CACxC,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAChC,EAAQ,GAAe,CAAK,EAAI,CAAC,GAAmB,CAAK,EAK/D,OAAO,KAAK,MAAM,EAAO,EAAkB,EAAI,CACjD,CCMA,SAAgB,GAAY,EAAM,EAAS,CACzC,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAChC,EAAO,EAAM,YAAY,EAEzB,EAAiB,GAAkB,EACnC,EACJ,GAAS,uBACT,GAAS,QAAQ,SAAS,uBAC1B,EAAe,uBACf,EAAe,QAAQ,SAAS,uBAChC,EAEI,EAAsB,GAAc,GAAS,IAAM,EAAM,CAAC,EAChE,EAAoB,YAAY,EAAO,EAAG,EAAG,CAAqB,EAClE,EAAoB,SAAS,EAAG,EAAG,EAAG,CAAC,EACvC,IAAM,EAAkB,GAAY,EAAqB,CAAO,EAE1D,EAAsB,GAAc,GAAS,IAAM,EAAM,CAAC,EAChE,EAAoB,YAAY,EAAM,EAAG,CAAqB,EAC9D,EAAoB,SAAS,EAAG,EAAG,EAAG,CAAC,EACvC,IAAM,EAAkB,GAAY,EAAqB,CAAO,EAO9D,MALE,CAAC,GAAS,CAAC,EACN,EAAO,EACL,CAAC,GAAS,CAAC,EACb,EAEA,EAAO,CAElB,CC1BA,SAAgB,GAAgB,EAAM,EAAS,CAC7C,IAAM,EAAiB,GAAkB,EACnC,EACJ,GAAS,uBACT,GAAS,QAAQ,SAAS,uBAC1B,EAAe,uBACf,EAAe,QAAQ,SAAS,uBAChC,EAEI,EAAO,GAAY,EAAM,CAAO,EAChC,EAAY,GAAc,GAAS,IAAM,EAAM,CAAC,EAItD,OAHA,EAAU,YAAY,EAAM,EAAG,CAAqB,EACpD,EAAU,SAAS,EAAG,EAAG,EAAG,CAAC,EACf,GAAY,EAAW,CAC1B,CACb,CClBA,SAAgB,GAAQ,EAAM,EAAS,CACrC,IAAM,EAAQ,EAAO,EAAM,GAAS,EAAE,EAChC,EAAQ,GAAY,EAAO,CAAO,EAAI,CAAC,GAAgB,EAAO,CAAO,EAK3E,OAAO,KAAK,MAAM,EAAO,EAAkB,EAAI,CACjD,CCnDA,SAAgB,EAAgB,EAAQ,EAAc,CAGpD,OAFa,EAAS,EAAI,IAAM,IACjB,KAAK,IAAI,CAAM,EAAE,SAAS,EAAE,SAAS,EAAc,GAC/C,CACrB,CCWA,IAAa,GAAkB,CAE7B,EAAE,EAAM,EAAO,CAUb,IAAM,EAAa,EAAK,YAAY,EAE9B,EAAO,EAAa,EAAI,EAAa,EAAI,EAC/C,OAAO,EAAgB,IAAU,KAAO,EAAO,IAAM,EAAM,EAAM,MAAM,CACzE,EAGA,EAAE,EAAM,EAAO,CACb,IAAM,EAAQ,EAAK,SAAS,EAC5B,OAAO,IAAU,IAAM,OAAO,EAAQ,CAAC,EAAI,EAAgB,EAAQ,EAAG,CAAC,CACzE,EAGA,EAAE,EAAM,EAAO,CACb,OAAO,EAAgB,EAAK,QAAQ,EAAG,EAAM,MAAM,CACrD,EAGA,EAAE,EAAM,EAAO,CACb,IAAM,EAAqB,EAAK,SAAS,EAAI,IAAM,EAAI,KAAO,KAE9D,OAAQ,EAAR,CACE,IAAK,IACL,IAAK,KACH,OAAO,EAAmB,YAAY,EACxC,IAAK,MACH,OAAO,EACT,IAAK,QACH,OAAO,EAAmB,GAE5B,QACE,OAAO,IAAuB,KAAO,OAAS,MAClD,CACF,EAGA,EAAE,EAAM,EAAO,CACb,OAAO,EAAgB,EAAK,SAAS,EAAI,IAAM,GAAI,EAAM,MAAM,CACjE,EAGA,EAAE,EAAM,EAAO,CACb,OAAO,EAAgB,EAAK,SAAS,EAAG,EAAM,MAAM,CACtD,EAGA,EAAE,EAAM,EAAO,CACb,OAAO,EAAgB,EAAK,WAAW,EAAG,EAAM,MAAM,CACxD,EAGA,EAAE,EAAM,EAAO,CACb,OAAO,EAAgB,EAAK,WAAW,EAAG,EAAM,MAAM,CACxD,EAGA,EAAE,EAAM,EAAO,CACb,IAAM,EAAiB,EAAM,OACvB,EAAe,EAAK,gBAAgB,EAI1C,OAAO,EAHmB,KAAK,MAC7B,EAAwB,KAAI,EAAiB,EAER,EAAG,EAAM,MAAM,CACxD,CACF,EClFM,GAAgB,CACpB,GAAI,KACJ,GAAI,KACJ,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACT,EAgDa,EAAa,CAExB,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAM,IAAK,YAAY,EAAI,GACjC,OAAQ,EAAR,CAEE,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAO,EAAS,IAAI,EAAK,CAAE,MAAO,aAAc,CAAC,EAEnD,IAAK,QACH,OAAO,EAAS,IAAI,EAAK,CAAE,MAAO,QAAS,CAAC,EAG9C,QACE,OAAO,EAAS,IAAI,EAAK,CAAE,MAAO,MAAO,CAAC,CAC9C,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAElC,GAAI,IAAU,KAAM,CAClB,IAAM,EAAa,EAAK,YAAY,EAE9B,EAAO,EAAa,EAAI,EAAa,EAAI,EAC/C,OAAO,EAAS,cAAc,EAAM,CAAE,KAAM,MAAO,CAAC,CACtD,CAEA,OAAO,GAAgB,EAAE,EAAM,CAAK,CACtC,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,EAAS,CAC3C,IAAM,EAAiB,GAAY,EAAM,CAAO,EAE1C,EAAW,EAAiB,EAAI,EAAiB,EAAI,EAc3D,OAXI,IAAU,KAEL,EADc,EAAW,IACK,CAAC,EAIpC,IAAU,KACL,EAAS,cAAc,EAAU,CAAE,KAAM,MAAO,CAAC,EAInD,EAAgB,EAAU,EAAM,MAAM,CAC/C,EAGA,EAAG,SAAU,EAAM,EAAO,CAIxB,OAAO,EAHa,GAAe,CAGF,EAAG,EAAM,MAAM,CAClD,EAWA,EAAG,SAAU,EAAM,EAAO,CAExB,OAAO,EADM,EAAK,YACQ,EAAG,EAAM,MAAM,CAC3C,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAU,KAAK,MAAM,EAAK,SAAS,EAAI,GAAK,CAAC,EACnD,OAAQ,EAAR,CAEE,IAAK,IACH,OAAO,OAAO,CAAO,EAEvB,IAAK,KACH,OAAO,EAAgB,EAAS,CAAC,EAEnC,IAAK,KACH,OAAO,EAAS,cAAc,EAAS,CAAE,KAAM,SAAU,CAAC,EAE5D,IAAK,MACH,OAAO,EAAS,QAAQ,EAAS,CAC/B,MAAO,cACP,QAAS,YACX,CAAC,EAEH,IAAK,QACH,OAAO,EAAS,QAAQ,EAAS,CAC/B,MAAO,SACP,QAAS,YACX,CAAC,EAGH,QACE,OAAO,EAAS,QAAQ,EAAS,CAC/B,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAU,KAAK,MAAM,EAAK,SAAS,EAAI,GAAK,CAAC,EACnD,OAAQ,EAAR,CAEE,IAAK,IACH,OAAO,OAAO,CAAO,EAEvB,IAAK,KACH,OAAO,EAAgB,EAAS,CAAC,EAEnC,IAAK,KACH,OAAO,EAAS,cAAc,EAAS,CAAE,KAAM,SAAU,CAAC,EAE5D,IAAK,MACH,OAAO,EAAS,QAAQ,EAAS,CAC/B,MAAO,cACP,QAAS,YACX,CAAC,EAEH,IAAK,QACH,OAAO,EAAS,QAAQ,EAAS,CAC/B,MAAO,SACP,QAAS,YACX,CAAC,EAGH,QACE,OAAO,EAAS,QAAQ,EAAS,CAC/B,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAQ,EAAK,SAAS,EAC5B,OAAQ,EAAR,CACE,IAAK,IACL,IAAK,KACH,OAAO,GAAgB,EAAE,EAAM,CAAK,EAEtC,IAAK,KACH,OAAO,EAAS,cAAc,EAAQ,EAAG,CAAE,KAAM,OAAQ,CAAC,EAE5D,IAAK,MACH,OAAO,EAAS,MAAM,EAAO,CAC3B,MAAO,cACP,QAAS,YACX,CAAC,EAEH,IAAK,QACH,OAAO,EAAS,MAAM,EAAO,CAC3B,MAAO,SACP,QAAS,YACX,CAAC,EAGH,QACE,OAAO,EAAS,MAAM,EAAO,CAAE,MAAO,OAAQ,QAAS,YAAa,CAAC,CACzE,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAQ,EAAK,SAAS,EAC5B,OAAQ,EAAR,CAEE,IAAK,IACH,OAAO,OAAO,EAAQ,CAAC,EAEzB,IAAK,KACH,OAAO,EAAgB,EAAQ,EAAG,CAAC,EAErC,IAAK,KACH,OAAO,EAAS,cAAc,EAAQ,EAAG,CAAE,KAAM,OAAQ,CAAC,EAE5D,IAAK,MACH,OAAO,EAAS,MAAM,EAAO,CAC3B,MAAO,cACP,QAAS,YACX,CAAC,EAEH,IAAK,QACH,OAAO,EAAS,MAAM,EAAO,CAC3B,MAAO,SACP,QAAS,YACX,CAAC,EAGH,QACE,OAAO,EAAS,MAAM,EAAO,CAAE,MAAO,OAAQ,QAAS,YAAa,CAAC,CACzE,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,EAAS,CAC3C,IAAM,EAAO,GAAQ,EAAM,CAAO,EAMlC,OAJI,IAAU,KACL,EAAS,cAAc,EAAM,CAAE,KAAM,MAAO,CAAC,EAG/C,EAAgB,EAAM,EAAM,MAAM,CAC3C,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAU,GAAW,CAAI,EAM/B,OAJI,IAAU,KACL,EAAS,cAAc,EAAS,CAAE,KAAM,MAAO,CAAC,EAGlD,EAAgB,EAAS,EAAM,MAAM,CAC9C,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAKlC,OAJI,IAAU,KACL,EAAS,cAAc,EAAK,QAAQ,EAAG,CAAE,KAAM,MAAO,CAAC,EAGzD,GAAgB,EAAE,EAAM,CAAK,CACtC,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAY,GAAa,CAAI,EAMnC,OAJI,IAAU,KACL,EAAS,cAAc,EAAW,CAAE,KAAM,WAAY,CAAC,EAGzD,EAAgB,EAAW,EAAM,MAAM,CAChD,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAY,EAAK,OAAO,EAC9B,OAAQ,EAAR,CAEE,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,cACP,QAAS,YACX,CAAC,EAEH,IAAK,QACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,SACP,QAAS,YACX,CAAC,EAEH,IAAK,SACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,QACP,QAAS,YACX,CAAC,EAGH,QACE,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,EAAS,CAC3C,IAAM,EAAY,EAAK,OAAO,EACxB,GAAkB,EAAY,EAAQ,aAAe,GAAK,GAAK,EACrE,OAAQ,EAAR,CAEE,IAAK,IACH,OAAO,OAAO,CAAc,EAE9B,IAAK,KACH,OAAO,EAAgB,EAAgB,CAAC,EAE1C,IAAK,KACH,OAAO,EAAS,cAAc,EAAgB,CAAE,KAAM,KAAM,CAAC,EAC/D,IAAK,MACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,cACP,QAAS,YACX,CAAC,EAEH,IAAK,QACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,SACP,QAAS,YACX,CAAC,EAEH,IAAK,SACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,QACP,QAAS,YACX,CAAC,EAGH,QACE,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,EAAS,CAC3C,IAAM,EAAY,EAAK,OAAO,EACxB,GAAkB,EAAY,EAAQ,aAAe,GAAK,GAAK,EACrE,OAAQ,EAAR,CAEE,IAAK,IACH,OAAO,OAAO,CAAc,EAE9B,IAAK,KACH,OAAO,EAAgB,EAAgB,EAAM,MAAM,EAErD,IAAK,KACH,OAAO,EAAS,cAAc,EAAgB,CAAE,KAAM,KAAM,CAAC,EAC/D,IAAK,MACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,cACP,QAAS,YACX,CAAC,EAEH,IAAK,QACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,SACP,QAAS,YACX,CAAC,EAEH,IAAK,SACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,QACP,QAAS,YACX,CAAC,EAGH,QACE,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAY,EAAK,OAAO,EACxB,EAAe,IAAc,EAAI,EAAI,EAC3C,OAAQ,EAAR,CAEE,IAAK,IACH,OAAO,OAAO,CAAY,EAE5B,IAAK,KACH,OAAO,EAAgB,EAAc,EAAM,MAAM,EAEnD,IAAK,KACH,OAAO,EAAS,cAAc,EAAc,CAAE,KAAM,KAAM,CAAC,EAE7D,IAAK,MACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,cACP,QAAS,YACX,CAAC,EAEH,IAAK,QACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,SACP,QAAS,YACX,CAAC,EAEH,IAAK,SACH,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,QACP,QAAS,YACX,CAAC,EAGH,QACE,OAAO,EAAS,IAAI,EAAW,CAC7B,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAElC,IAAM,EADQ,EAAK,SACY,EAAI,IAAM,EAAI,KAAO,KAEpD,OAAQ,EAAR,CACE,IAAK,IACL,IAAK,KACH,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,cACP,QAAS,YACX,CAAC,EACH,IAAK,MACH,OAAO,EACJ,UAAU,EAAoB,CAC7B,MAAO,cACP,QAAS,YACX,CAAC,EACA,YAAY,EACjB,IAAK,QACH,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,SACP,QAAS,YACX,CAAC,EAEH,QACE,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAQ,EAAK,SAAS,EACxB,EASJ,OARA,AAKE,EALE,IAAU,GACS,GAAc,KAC1B,IAAU,EACE,GAAc,SAEd,EAAQ,IAAM,EAAI,KAAO,KAGxC,EAAR,CACE,IAAK,IACL,IAAK,KACH,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,cACP,QAAS,YACX,CAAC,EACH,IAAK,MACH,OAAO,EACJ,UAAU,EAAoB,CAC7B,MAAO,cACP,QAAS,YACX,CAAC,EACA,YAAY,EACjB,IAAK,QACH,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,SACP,QAAS,YACX,CAAC,EAEH,QACE,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAQ,EAAK,SAAS,EACxB,EAWJ,OAVA,AAOE,EAPE,GAAS,GACU,GAAc,QAC1B,GAAS,GACG,GAAc,UAC1B,GAAS,EACG,GAAc,QAEd,GAAc,MAG7B,EAAR,CACE,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,cACP,QAAS,YACX,CAAC,EACH,IAAK,QACH,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,SACP,QAAS,YACX,CAAC,EAEH,QACE,OAAO,EAAS,UAAU,EAAoB,CAC5C,MAAO,OACP,QAAS,YACX,CAAC,CACL,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,GAAI,IAAU,KAAM,CAClB,IAAI,EAAQ,EAAK,SAAS,EAAI,GAE9B,OADI,IAAU,IAAG,EAAQ,IAClB,EAAS,cAAc,EAAO,CAAE,KAAM,MAAO,CAAC,CACvD,CAEA,OAAO,GAAgB,EAAE,EAAM,CAAK,CACtC,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAKlC,OAJI,IAAU,KACL,EAAS,cAAc,EAAK,SAAS,EAAG,CAAE,KAAM,MAAO,CAAC,EAG1D,GAAgB,EAAE,EAAM,CAAK,CACtC,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAM,EAAQ,EAAK,SAAS,EAAI,GAMhC,OAJI,IAAU,KACL,EAAS,cAAc,EAAO,CAAE,KAAM,MAAO,CAAC,EAGhD,EAAgB,EAAO,EAAM,MAAM,CAC5C,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAClC,IAAI,EAAQ,EAAK,SAAS,EAO1B,OANI,IAAU,IAAG,EAAQ,IAErB,IAAU,KACL,EAAS,cAAc,EAAO,CAAE,KAAM,MAAO,CAAC,EAGhD,EAAgB,EAAO,EAAM,MAAM,CAC5C,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAKlC,OAJI,IAAU,KACL,EAAS,cAAc,EAAK,WAAW,EAAG,CAAE,KAAM,QAAS,CAAC,EAG9D,GAAgB,EAAE,EAAM,CAAK,CACtC,EAGA,EAAG,SAAU,EAAM,EAAO,EAAU,CAKlC,OAJI,IAAU,KACL,EAAS,cAAc,EAAK,WAAW,EAAG,CAAE,KAAM,QAAS,CAAC,EAG9D,GAAgB,EAAE,EAAM,CAAK,CACtC,EAGA,EAAG,SAAU,EAAM,EAAO,CACxB,OAAO,GAAgB,EAAE,EAAM,CAAK,CACtC,EAGA,EAAG,SAAU,EAAM,EAAO,EAAW,CACnC,IAAM,EAAiB,EAAK,kBAAkB,EAE9C,GAAI,IAAmB,EACrB,MAAO,IAGT,OAAQ,EAAR,CAEE,IAAK,IACH,OAAO,GAAkC,CAAc,EAKzD,IAAK,OACL,IAAK,KACH,OAAO,GAAe,CAAc,EAOtC,QACE,OAAO,GAAe,EAAgB,GAAG,CAC7C,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAW,CACnC,IAAM,EAAiB,EAAK,kBAAkB,EAE9C,OAAQ,EAAR,CAEE,IAAK,IACH,OAAO,GAAkC,CAAc,EAKzD,IAAK,OACL,IAAK,KACH,OAAO,GAAe,CAAc,EAOtC,QACE,OAAO,GAAe,EAAgB,GAAG,CAC7C,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAW,CACnC,IAAM,EAAiB,EAAK,kBAAkB,EAE9C,OAAQ,EAAR,CAEE,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQ,GAAoB,EAAgB,GAAG,EAGxD,QACE,MAAO,MAAQ,GAAe,EAAgB,GAAG,CACrD,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAW,CACnC,IAAM,EAAiB,EAAK,kBAAkB,EAE9C,OAAQ,EAAR,CAEE,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQ,GAAoB,EAAgB,GAAG,EAGxD,QACE,MAAO,MAAQ,GAAe,EAAgB,GAAG,CACrD,CACF,EAGA,EAAG,SAAU,EAAM,EAAO,EAAW,CAEnC,OAAO,EADW,KAAK,MAAO,EAAO,GACN,EAAG,EAAM,MAAM,CAChD,EAGA,EAAG,SAAU,EAAM,EAAO,EAAW,CACnC,OAAO,EAAgB,CAAC,EAAM,EAAM,MAAM,CAC5C,CACF,EAEA,SAAS,GAAoB,EAAQ,EAAY,GAAI,CACnD,IAAM,EAAO,EAAS,EAAI,IAAM,IAC1B,EAAY,KAAK,IAAI,CAAM,EAC3B,EAAQ,KAAK,MAAM,EAAY,EAAE,EACjC,EAAU,EAAY,GAI5B,OAHI,IAAY,EACP,EAAO,OAAO,CAAK,EAErB,EAAO,OAAO,CAAK,EAAI,EAAY,EAAgB,EAAS,CAAC,CACtE,CAEA,SAAS,GAAkC,EAAQ,EAAW,CAK5D,OAJI,EAAS,IAAO,GACL,EAAS,EAAI,IAAM,KAClB,EAAgB,KAAK,IAAI,CAAM,EAAI,GAAI,CAAC,EAEjD,GAAe,EAAQ,CAAS,CACzC,CAEA,SAAS,GAAe,EAAQ,EAAY,GAAI,CAC9C,IAAM,EAAO,EAAS,EAAI,IAAM,IAC1B,EAAY,KAAK,IAAI,CAAM,EAC3B,EAAQ,EAAgB,KAAK,MAAM,EAAY,EAAE,EAAG,CAAC,EACrD,EAAU,EAAgB,EAAY,GAAI,CAAC,EACjD,OAAO,EAAO,EAAQ,EAAY,CACpC,CCvwBA,IAAM,IAAqB,EAAS,IAAe,CACjD,OAAQ,EAAR,CACE,IAAK,IACH,OAAO,EAAW,KAAK,CAAE,MAAO,OAAQ,CAAC,EAC3C,IAAK,KACH,OAAO,EAAW,KAAK,CAAE,MAAO,QAAS,CAAC,EAC5C,IAAK,MACH,OAAO,EAAW,KAAK,CAAE,MAAO,MAAO,CAAC,EAE1C,QACE,OAAO,EAAW,KAAK,CAAE,MAAO,MAAO,CAAC,CAC5C,CACF,EAEM,IAAqB,EAAS,IAAe,CACjD,OAAQ,EAAR,CACE,IAAK,IACH,OAAO,EAAW,KAAK,CAAE,MAAO,OAAQ,CAAC,EAC3C,IAAK,KACH,OAAO,EAAW,KAAK,CAAE,MAAO,QAAS,CAAC,EAC5C,IAAK,MACH,OAAO,EAAW,KAAK,CAAE,MAAO,MAAO,CAAC,EAE1C,QACE,OAAO,EAAW,KAAK,CAAE,MAAO,MAAO,CAAC,CAC5C,CACF,EAkCa,GAAiB,CAC5B,EAAG,GACH,GAlC6B,EAAS,IAAe,CACrD,IAAM,EAAc,EAAQ,MAAM,WAAW,GAAK,CAAC,EAC7C,EAAc,EAAY,GAC1B,EAAc,EAAY,GAEhC,GAAI,CAAC,EACH,OAAO,GAAkB,EAAS,CAAU,EAG9C,IAAI,EAEJ,OAAQ,EAAR,CACE,IAAK,IACH,EAAiB,EAAW,SAAS,CAAE,MAAO,OAAQ,CAAC,EACvD,MACF,IAAK,KACH,EAAiB,EAAW,SAAS,CAAE,MAAO,QAAS,CAAC,EACxD,MACF,IAAK,MACH,EAAiB,EAAW,SAAS,CAAE,MAAO,MAAO,CAAC,EACtD,MAEF,QACE,EAAiB,EAAW,SAAS,CAAE,MAAO,MAAO,CAAC,EACtD,KACJ,CAEA,OAAO,EACJ,QAAQ,WAAY,GAAkB,EAAa,CAAU,CAAC,EAC9D,QAAQ,WAAY,GAAkB,EAAa,CAAU,CAAC,CACnE,CAKA,EC/DM,GAAmB,OACnB,GAAkB,OAElB,GAAc,CAAC,IAAK,KAAM,KAAM,MAAM,EAE5C,SAAgB,GAA0B,EAAO,CAC/C,OAAO,GAAiB,KAAK,CAAK,CACpC,CAEA,SAAgB,GAAyB,EAAO,CAC9C,OAAO,GAAgB,KAAK,CAAK,CACnC,CAEA,SAAgB,GAA0B,EAAO,EAAQ,EAAO,CAC9D,IAAM,EAAW,GAAQ,EAAO,EAAQ,CAAK,EAE7C,GADA,QAAQ,KAAK,CAAQ,EACjB,GAAY,SAAS,CAAK,EAAG,MAAU,WAAW,CAAQ,CAChE,CAEA,SAAS,GAAQ,EAAO,EAAQ,EAAO,CACrC,IAAM,EAAU,EAAM,KAAO,IAAM,QAAU,oBAC7C,MAAO,SAAS,EAAM,YAAY,EAAE,kBAAkB,EAAM,WAAW,EAAO,qBAAqB,EAAQ,kBAAkB,EAAM,gFACrI,CCKA,IAAM,GACJ,wDAII,GAA6B,oCAE7B,GAAsB,eACtB,GAAoB,MACpB,GAAgC,WAoStC,SAAgB,GAAO,EAAM,EAAW,EAAS,CAC/C,IAAM,EAAiB,GAAkB,EACnC,EAAS,GAAS,QAAU,EAAe,QAAUC,GAErD,EACJ,GAAS,uBACT,GAAS,QAAQ,SAAS,uBAC1B,EAAe,uBACf,EAAe,QAAQ,SAAS,uBAChC,EAEI,EACJ,GAAS,cACT,GAAS,QAAQ,SAAS,cAC1B,EAAe,cACf,EAAe,QAAQ,SAAS,cAChC,EAEI,EAAe,EAAO,EAAM,GAAS,EAAE,EAE7C,GAAI,CAAC,GAAQ,CAAY,EACvB,MAAU,WAAW,oBAAoB,EAG3C,IAAI,EAAQ,EACT,MAAM,EAA0B,EAChC,IAAK,GAAc,CAClB,IAAM,EAAiB,EAAU,GACjC,GAAI,IAAmB,KAAO,IAAmB,IAAK,CACpD,IAAM,EAAgB,GAAe,GACrC,OAAO,EAAc,EAAW,EAAO,UAAU,CACnD,CACA,OAAO,CACT,CAAC,EACA,KAAK,EAAE,EACP,MAAM,EAAsB,EAC5B,IAAK,GAAc,CAElB,GAAI,IAAc,KAChB,MAAO,CAAE,QAAS,GAAO,MAAO,GAAI,EAGtC,IAAM,EAAiB,EAAU,GACjC,GAAI,IAAmB,IACrB,MAAO,CAAE,QAAS,GAAO,MAAO,GAAmB,CAAS,CAAE,EAGhE,GAAI,EAAW,GACb,MAAO,CAAE,QAAS,GAAM,MAAO,CAAU,EAG3C,GAAI,EAAe,MAAM,EAA6B,EACpD,MAAU,WACR,iEACE,EACA,GACJ,EAGF,MAAO,CAAE,QAAS,GAAO,MAAO,CAAU,CAC5C,CAAC,EAGC,EAAO,SAAS,eAClB,EAAQ,EAAO,SAAS,aAAa,EAAc,CAAK,GAG1D,IAAM,EAAmB,CACvB,wBACA,eACA,QACF,EAEA,OAAO,EACJ,IAAK,GAAS,CACb,GAAI,CAAC,EAAK,QAAS,OAAO,EAAK,MAE/B,IAAM,EAAQ,EAAK,OAGhB,CAAC,GAAS,6BACT,GAAyB,CAAK,GAC/B,CAAC,GAAS,8BACT,GAA0B,CAAK,IAEjC,GAA0B,EAAO,EAAW,OAAO,CAAI,CAAC,EAG1D,IAAM,EAAY,EAAW,EAAM,IACnC,OAAO,EAAU,EAAc,EAAO,EAAO,SAAU,CAAgB,CACzE,CAAC,EACA,KAAK,EAAE,CACZ,CAEA,SAAS,GAAmB,EAAO,CACjC,IAAM,EAAU,EAAM,MAAM,EAAmB,EAM/C,OAJK,EAIE,EAAQ,GAAG,QAAQ,GAAmB,GAAG,EAHvC,CAIX,CCnVA,SAAgB,GAAe,EAAW,EAAa,EAAS,CAC9D,IAAM,EAAiB,GAAkB,EACnC,EAAS,GAAS,QAAU,EAAe,QAAUC,GAGrD,EAAa,GAAW,EAAW,CAAW,EAEpD,GAAI,MAAM,CAAU,EAAG,MAAU,WAAW,oBAAoB,EAEhE,IAAM,EAAkB,OAAO,OAAO,CAAC,EAAG,EAAS,CACjD,UAAW,GAAS,UACR,YACd,CAAC,EAEK,CAAC,EAAY,GAAgB,GACjC,GAAS,GACT,GAAI,EAAa,EAAI,CAAC,EAAa,CAAS,EAAI,CAAC,EAAW,CAAW,CACzE,EAEM,EAAU,GAAoB,EAAc,CAAU,EACtD,GACH,GAAgC,CAAY,EAC3C,GAAgC,CAAU,GAC5C,IACI,EAAU,KAAK,OAAO,EAAU,GAAmB,EAAE,EACvD,EAGJ,GAAI,EAAU,EAmBR,OAlBA,GAAS,eACP,EAAU,EACL,EAAO,eAAe,mBAAoB,EAAG,CAAe,EAC1D,EAAU,GACZ,EAAO,eAAe,mBAAoB,GAAI,CAAe,EAC3D,EAAU,GACZ,EAAO,eAAe,mBAAoB,GAAI,CAAe,EAC3D,EAAU,GACZ,EAAO,eAAe,cAAe,EAAG,CAAe,EACrD,EAAU,GACZ,EAAO,eAAe,mBAAoB,EAAG,CAAe,EAE5D,EAAO,eAAe,WAAY,EAAG,CAAe,EAGzD,IAAY,EACP,EAAO,eAAe,mBAAoB,EAAG,CAAe,EAE5D,EAAO,eAAe,WAAY,EAAS,CAAe,EAKhE,GAAI,EAAU,GACnB,OAAO,EAAO,eAAe,WAAY,EAAS,CAAe,EAG5D,GAAI,EAAU,GACnB,OAAO,EAAO,eAAe,cAAe,EAAG,CAAe,EAGzD,GAAI,EAAA,KAAwB,CACjC,IAAM,EAAQ,KAAK,MAAM,EAAU,EAAE,EACrC,OAAO,EAAO,eAAe,cAAe,EAAO,CAAe,CAGpE,MAAO,GAAI,EAAU,KACnB,OAAO,EAAO,eAAe,QAAS,EAAG,CAAe,OAGnD,GAAI,EAAA,MAA0B,CACnC,IAAM,EAAO,KAAK,MAAM,EAAU,EAAY,EAC9C,OAAO,EAAO,eAAe,QAAS,EAAM,CAAe,CAG7D,MAAO,GAAI,EAAA,MAA2B,EAEpC,MADA,GAAS,KAAK,MAAM,EAAU,EAAc,EACrC,EAAO,eAAe,eAAgB,EAAQ,CAAe,EAMtE,GAHA,EAAS,GAAmB,EAAc,CAAU,EAGhD,EAAS,GAAI,CACf,IAAM,EAAe,KAAK,MAAM,EAAU,EAAc,EACxD,OAAO,EAAO,eAAe,UAAW,EAAc,CAAe,CAGvE,KAAO,CACL,IAAM,EAAyB,EAAS,GAClC,EAAQ,KAAK,MAAM,EAAS,EAAE,EAYlC,OATE,EAAyB,EACpB,EAAO,eAAe,cAAe,EAAO,CAAe,EAGzD,EAAyB,EAC3B,EAAO,eAAe,aAAc,EAAO,CAAe,EAI1D,EAAO,eAAe,eAAgB,EAAQ,EAAG,CAAe,CAE3E,CACF,CCzLA,SAAgB,GAAmB,CAAE,WAAoC,CACrE,GAAM,CAAC,EAAK,IAAA,EAAA,EAAA,UAAmB,EAAE,EAC3B,CAAC,EAAQ,IAAA,EAAA,EAAA,UAAsB,EAAK,EACpC,CAAC,EAAO,IAAA,EAAA,EAAA,UAAyC,EACjD,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAK,EACtC,CAAC,EAAU,IAAA,EAAA,EAAA,UAAwB,EAAK,EA4C9C,OApBI,GAEI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,8FAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kDAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,UAAU,KAAK,OAAO,OAAO,eAAe,QAAQ,YAAY,KAAK,MAAM,aAAW,mBAArG,EACI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,SAAc,CAAA,GACrB,EAAA,EAAA,KAAC,OAAD,CACI,cAAc,QACd,eAAe,QACf,YAAa,EACb,EAAE,+CACL,CAAA,CACA,KACL,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,6BAAoB,uBAA2B,CAAA,CAC9D,KACL,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,sCAA6B,4BAA6B,CAAA,CACtE,KAKT,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6FAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,wCAAf,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oBAAW,IAAQ,CAAA,GACnC,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,2CAAkC,gBAAkB,CAAA,CACjE,KAGL,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAY,CAAC,CAAQ,EACpC,UAAU,gHAHd,EAKI,EAAA,EAAA,MAAC,MAAD,CACI,UAAW,gCAAgC,EAAW,YAAc,KACpE,KAAK,OACL,OAAO,eACP,QAAQ,YACR,KAAK,MACL,aAAW,kBANf,EAQI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,QAAa,CAAA,GACpB,EAAA,EAAA,KAAC,OAAD,CAAM,cAAc,QAAQ,eAAe,QAAQ,YAAa,EAAG,EAAE,cAAgB,CAAA,CACpF,IAAC,2BAEF,IAEP,IACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,0EAAf,EACI,EAAA,EAAA,MAAC,IAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,IAAU,CAAA,EAAC,kFACpB,CAAA,CAAA,GACH,EAAA,EAAA,MAAC,IAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,IAAU,CAAA,EAAC,qDAAmD,KACtE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mDAA0C,MAAU,CAAA,EAAC,IACtE,CAAA,CAAA,GACH,EAAA,EAAA,MAAC,IAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,IAAU,CAAA,EAAC,8BAA0B,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,iBAA2B,CAAA,EAAC,GAClF,CAAA,CAAA,GACH,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,iCAAb,CAAqC,6DAC0B,KAC3D,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,2CAAkC,+CAAmD,CAAA,CACtG,GACF,KAIT,EAAA,EAAA,KAAC,WAAD,CACI,GAAG,uBACH,UAAU,mJACV,KAAM,EACN,YAAY,4CACZ,MAAO,EACP,SAAW,GAAM,CACb,EAAO,EAAE,OAAO,KAAK,EACrB,EAAS,IAAA,EAAS,CACtB,EACA,SAAU,CACb,CAAA,EAGA,IAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,8DAAsD,CAAW,CAAA,GAG1F,EAAA,EAAA,KAAC,SAAD,CACI,GAAG,sBACH,KAAK,SACL,QAAS,SA7GU,CAC3B,GAAI,CAAC,EAAI,KAAK,EAAG,CACb,EAAS,mCAAmC,EAC5C,MACJ,CACA,EAAU,EAAI,EACd,EAAS,IAAA,EAAS,EAClB,GAAI,CACA,IAAM,EAAS,MAAM,GAAkB,CAAG,EACtC,EAAO,SACP,EAAW,EAAI,EACf,eAAiB,EAAQ,EAAG,IAAI,GAEhC,EAAS,EAAO,SAAW,gCAAgC,CAEnE,OAAS,EAAK,CACV,EAAU,EAAc,OAAO,CACnC,QAAU,CACN,EAAU,EAAK,CACnB,CACJ,EA0FY,SAAU,GAAU,CAAC,EAAI,KAAK,EAC9B,UAAU,wKAET,EAAS,UAAY,iBAClB,CAAA,CACP,GAEb,CChIA,IAAM,QACF,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,yBACV,KAAK,OACL,OAAO,eACP,QAAQ,YACR,MAAM,6BACN,KAAK,MACL,aAAW,mBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,SAAc,CAAA,GACrB,EAAA,EAAA,KAAC,OAAD,CAAM,cAAc,QAAQ,eAAe,QAAQ,YAAa,EAAG,EAAE,+CAAiD,CAAA,CACrH,IAEH,QACF,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,uBACV,KAAK,OACL,OAAO,eACP,QAAQ,YACR,MAAM,6BACN,KAAK,MACL,aAAW,iBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,OAAY,CAAA,GACnB,EAAA,EAAA,KAAC,OAAD,CACI,cAAc,QACd,eAAe,QACf,YAAa,EACb,EAAE,sEACL,CAAA,CACA,IAEH,QACF,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,0BACV,KAAK,OACL,OAAO,eACP,QAAQ,YACR,MAAM,6BACN,KAAK,MACL,aAAW,mBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,SAAc,CAAA,GACrB,EAAA,EAAA,KAAC,OAAD,CACI,cAAc,QACd,eAAe,QACf,YAAa,EACb,EAAE,sIACL,CAAA,CACA,IAEH,QACF,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,wBACV,KAAK,OACL,OAAO,eACP,QAAQ,YACR,MAAM,6BACN,KAAK,MACL,aAAW,gBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,MAAW,CAAA,GAClB,EAAA,EAAA,KAAC,OAAD,CACI,cAAc,QACd,eAAe,QACf,YAAa,EACb,EAAE,2DACL,CAAA,CACA,IAIH,IAAW,CAAE,QAAO,QAAO,iBAAiB,OAC9C,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sHAAf,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oDAA4C,CAAY,CAAA,GACxE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,+BAA+B,aAAmB,CAAY,CAAA,CAC9E,IAGH,IAAY,CACd,QACA,OACA,WACA,cAAc,sBAOd,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,4EAA4E,aAA5F,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kCAAf,CACK,GACD,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,2DAAmD,CAAU,CAAA,CAC1E,KACL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,YAAa,UAAc,CAAA,CACzC,IAGH,GACF,mLAOE,IAAmB,CAAE,WAAU,eAC7B,CAAC,GAAY,CAAC,EAAkB,MAEhC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gDAAf,CACK,IACG,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,QAAS,EAAU,UAAW,YAAsB,uBAElE,CAAA,EAEX,IACG,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,QAAS,EAAW,UAAW,YAAsB,gBAEnE,CAAA,CAEX,IASP,QACF,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,kDAAb,CAAsD,qCACf,KACnC,EAAA,EAAA,KAAC,IAAD,CAAG,KAAK,8BAA8B,UAAU,yCAAgC,iBAE7E,CAAA,EAAC,GAEL,IAID,IAA4B,CAAE,UAAS,eAAmE,CAC5G,IAAM,EAAc,EAAQ,YAAY,UAAY,YAC9C,EAAa,EAAQ,YAAY,WAAa,IAAI,KAAK,EAAQ,YAAY,UAAU,EAAI,KACzF,EAAc,EAAQ,YAAwC,WAC9D,EAAY,EAAa,EAAW,SAAS,SAAS,EAAI,GAEhE,OACI,EAAA,EAAA,MAAC,GAAD,CACI,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6BAAf,CAAmC,6BAE9B,IAAa,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,4DAAmD,YAAgB,CAAA,CAChG,IAET,MAAM,EAAA,EAAA,KAAC,GAAD,CAAc,CAAA,EACpB,YAAY,4BARhB,CAUK,IACG,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,gFACX,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,mBAAb,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yBAAgB,OAAW,CAAA,EAAC,2KAE7C,GACF,CAAA,GAET,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,eAAe,MAAO,EAAQ,YAAY,WAAc,CAAA,GACvE,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,aAAa,MAAO,EAAQ,YAAY,SAAY,CAAA,EAClE,GACG,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,WAAW,MAAM,WAAa,CAAA,EAE7C,IACI,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,UACN,OACI,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,MAAD,CAAA,SAAM,GAAO,EAAY,eAAe,CAAO,CAAA,GAC/C,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iCACV,GAAe,EAAY,IAAI,KAAQ,CACpC,UAAW,EACf,CAAC,CACA,CAAA,CACP,CAAA,CAAA,CAET,CAAA,GAGT,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,sBAAsB,MAAO,EAAQ,YAAY,wBAA2B,CAAA,EAC1F,IACG,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,iMACb,gBAEO,CAAA,CAEN,GAElB,EAEM,IAAyB,CAC3B,UACA,YACA,WACA,0BAME,CACF,IAAM,EAAa,EAAQ,YAAY,WAAa,IAAI,KAAK,EAAQ,YAAY,UAAU,EAAI,KAC/F,OACI,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,MAAC,GAAD,CAAU,MAAM,0BAA0B,MAAM,EAAA,EAAA,KAAC,GAAD,CAAc,CAAA,EAAG,YAAY,6BAA7E,EACI,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,eAAe,MAAO,EAAQ,YAAY,WAAc,CAAA,GACvE,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,aAAa,MAAO,EAAQ,YAAY,SAAY,CAAA,EAClE,IAAc,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,aAAa,MAAO,GAAO,EAAY,eAAe,CAAI,CAAA,GACxF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,4DAAmD,kQAI7D,CAAA,GACL,EAAA,EAAA,KAAC,GAAD,CAA2B,WAAqB,WAAY,CAAA,GAC5D,EAAA,EAAA,KAAC,GAAD,CAAqB,CAAA,CACf,IAIT,IAAwB,EAAA,EAAA,KAAC,GAAD,CAAoB,QAAS,CAAuB,CAAA,CAC/E,CAAA,CAAA,CAEV,EAEM,IAAwB,CAC1B,UACA,iBACA,uBACA,YACA,cAQoB,EAAQ,YAAY,cAAgB,IAIhD,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,GAAD,CAAU,MAAM,wBAAwB,MAAM,EAAA,EAAA,KAAC,GAAD,CAAc,CAAA,EAAG,YAAY,8BACvE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uDAAf,CAA6D,+DAEzD,EAAA,EAAA,KAAC,KAAD,CAAK,CAAA,EAAC,qFAEL,GACC,CAAA,EACT,IAAwB,EAAA,EAAA,KAAC,GAAD,CAAoB,QAAS,CAAuB,CAAA,EAC5E,IACG,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,iMACb,gBAEO,CAAA,CAEd,CAAA,CAAA,GAKY,EAAQ,YAAY,cAAgB,aAAe,EAAQ,YAAY,cAAgB,YACxF,GAEb,EAAA,EAAA,MAAC,GAAD,CAAU,MAAM,wBAAwB,MAAM,EAAA,EAAA,KAAC,GAAD,CAAc,CAAA,EAAG,YAAY,6BAA3E,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,uDAA8C,uDAExD,CAAA,GACL,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,uHACb,yBAEO,CAAA,CACF,KAKd,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,MAAC,GAAD,CAAU,MAAM,0BAA0B,MAAM,EAAA,EAAA,KAAC,GAAD,CAAY,CAAA,EAAG,YAAY,0BAA3E,EACI,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,QAAQ,MAAO,EAAQ,QAAS,eAAe,4BAA8B,CAAA,GAC5F,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,sDAA6C,oKAGvD,CAAA,EACJ,IACG,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,uHACb,yBAEO,CAAA,GAEZ,EAAA,EAAA,KAAC,GAAD,CAA2B,WAAqB,WAAY,CAAA,GAC5D,EAAA,EAAA,KAAC,GAAD,CAAqB,CAAA,CACf,IAGT,IAAwB,EAAA,EAAA,KAAC,GAAD,CAAoB,QAAS,CAAuB,CAAA,CAC/E,CAAA,CAAA,EAIG,IAAkB,CAC3B,UACA,iBACA,uBACA,YACA,cAOE,CACF,GAAI,EAAQ,OAAS,WAAY,CAC7B,IAAM,EAAc,EAAQ,YAAY,cAAgB,GACxD,OACI,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,GAAD,CAAU,MAAM,mBAAmB,MAAM,EAAA,EAAA,KAAC,GAAD,CAAW,CAAA,EAAG,YAAY,4BAC/D,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mDACV,EACK,sHACA,gGACL,CAAA,CACC,CAAA,EACT,GAAe,IAAwB,EAAA,EAAA,KAAC,GAAD,CAAoB,QAAS,CAAuB,CAAA,EAC3F,IACG,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,oPACb,gBAEO,CAAA,CAEd,CAAA,CAAA,CAEV,CACA,OAAQ,EAAQ,OAAhB,CACI,IAAK,UACD,OACI,EAAA,EAAA,KAAC,GAAD,CACa,UACE,YACD,WACY,sBACzB,CAAA,EAET,IAAK,SACD,OACI,EAAA,EAAA,KAAC,GAAD,CACa,UACO,iBACM,uBACX,YACD,UACb,CAAA,EAET,IAAK,aACD,OAAO,EAAA,EAAA,KAAC,GAAD,CAAmC,UAAoB,WAAY,CAAA,EAC9E,QACI,OACI,EAAA,EAAA,MAAC,GAAD,CAAU,MAAM,yBAAyB,MAAM,EAAA,EAAA,KAAC,GAAD,CAAc,CAAA,EAAG,YAAY,2BAA5E,EACI,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,SAAS,MAAO,EAAQ,MAAS,CAAA,EAC/C,IACG,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,iMACb,gBAEO,CAAA,CAEN,GAEtB,CACJ,EAEa,IAAkB,CAAE,UAAS,qBAA2E,CACjH,IAAM,EAAW,EAAY,CAAO,EAC9B,EAAkB,EAAQ,OAAS,SAAW,IAAa,MAAQ,EAAW,EAEpF,OACI,EAAA,EAAA,MAAC,GAAD,CAAU,MAAM,sBAAsB,MAAM,EAAA,EAAA,KAAC,GAAD,CAAW,CAAA,EAAG,YAAY,2BAAtE,CACK,IACG,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,kBACN,OAAO,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,wCAAhB,CAA+C,cAAY,EAAqB,CAAe,CAAQ,GACjH,CAAA,GAEL,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,UAAU,OAAO,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yBAAiB,EAAQ,WAAkB,CAAA,CAAI,CAAA,GAC/F,EAAA,EAAA,KAAC,GAAD,CAAS,MAAM,UAAU,OAAO,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,6BAAqB,EAAQ,cAAqB,CAAA,CAAI,CAAA,GACtG,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,eACN,OACI,EAAA,EAAA,KAAC,OAAD,CACI,UAAW,gDACP,EAAQ,OAAS,eACX,8BACA,EAAQ,OAAS,QACf,gCACA,uCAGX,EAAQ,IACP,CAAA,CAEb,CAAA,EACA,EAAQ,OAAS,SAAW,IAAa,OACtC,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,eACN,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,iBAAiB,EAAkB,eAAiB,2BAApE,CACK,EAAW,EAAI,GAAG,EAAS,iBAAmB,UAC9C,GAAmB,EAAW,IAC3B,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,wBAAe,oCAAuC,CAAA,CAExE,GAEZ,CAAA,CAEC,GAElB,EC1aA,SAAS,GAAc,EAAuB,CAC1C,GAAM,CAAC,EAAO,GAAU,EAAM,MAAM,GAAG,EACvC,GAAI,CAAC,EAAQ,OAAO,EACpB,IAAM,EAAY,EAAM,OAAS,EAAI,GAAG,EAAM,MAAM,EAAG,CAAC,EAAE,GAAK,EACzD,EAAc,EAAO,MAAM,GAAG,EAC9B,EAAa,EAAY,GACzB,EAAM,EAAY,MAAM,CAAC,EAAE,KAAK,GAAG,EAEzC,MAAO,GAAG,EAAU,GADD,EAAW,OAAS,EAAI,IAAI,EAAW,MAAM,EAAE,IAAM,EACtC,GAAG,GACzC,CAKA,eAAsB,IAAiD,CACnE,IAAM,EAAM,EAAW,oBAAoB,EAE3C,OAAO,MADW,MAAM,CAAG,GAChB,KAAK,CACpB,CAKA,eAAe,GAAiB,EAIiB,CAC7C,IAAM,EAAM,EAAW,oBAAoB,EAM3C,OAAO,MALW,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAI,CAC7B,CAAC,GACU,KAAK,CACpB,CAKA,eAAe,GAAiB,EAIiB,CAC7C,IAAM,EAAM,EAAW,oBAAoB,EACrC,EAAM,MAAM,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAI,CAC7B,CAAC,EACD,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAC5B,MAAU,MAAM,EAAK,SAAW,qBAAqB,CACzD,CACA,OAAO,EAAI,KAAK,CACpB,CAMA,SAAS,GAAkB,CAAE,UAAS,WAAsD,CACxF,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mEACX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kCAAf,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uBAAuB,cAAY,gBAAO,GAAO,CAAA,GACjE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mDAAf,EACI,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,yBAAgB,+BAAgC,CAAA,GAC7D,EAAA,EAAA,KAAC,IAAD,CAAA,SAAG,qEAEA,CAAA,GACH,EAAA,EAAA,MAAC,KAAD,CAAI,UAAU,0BAAd,EACI,EAAA,EAAA,MAAC,KAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oDAA2C,0BAA8B,CAAA,EAAE,IAAI,mCAE/F,CAAA,CAAA,GACJ,EAAA,EAAA,MAAC,KAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oDAA2C,0BAA8B,CAAA,EAAE,IAAI,qCAE/F,CAAA,CAAA,CACJ,KACJ,EAAA,EAAA,MAAC,IAAD,CAAA,SAAA,CAAG,kDAC+C,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,oBAA0B,CAAA,EAAC,8DACvC,KAC1C,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,+BAA+B,KAAK,uCAA8B,sBAE5E,CAAA,EAAC,GAEL,CAAA,CAAA,GACH,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,SAAU,EACV,UAAU,2HAET,EAAU,YAAc,0BACrB,CAAA,CACP,GACJ,GACJ,CAAA,CAEb,CAWA,SAAS,GAAqB,CAC1B,OACA,WACA,aAKD,CACC,GAAM,CAAC,EAAK,IAAA,EAAA,EAAA,UAA2B,KAAK,EAE5C,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,wDAAf,EACI,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAS,CAAC,CAAI,EAC7B,UAAU,2GACV,gBAAe,YAEf,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,mCAAhB,EACI,EAAA,EAAA,KAAC,OAAD,CACI,UAAW,qCAAqC,EAAO,YAAc,KACrE,cAAY,gBACf,GAEK,CAAA,EAAC,iDAEL,GACF,CAAA,EAEP,IACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,iEAAf,EAEI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uCAAf,EACI,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAO,KAAK,EAC3B,UAAW,sEACP,IAAQ,MACF,2CACA,0EAEb,yBAEO,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAO,QAAQ,EAC9B,UAAW,sEACP,IAAQ,SACF,2CACA,0EAEb,yBAEO,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAO,SAAS,EAC/B,UAAW,sEACP,IAAQ,UACF,2CACA,0EAEb,0BAEO,CAAA,CACP,KAEL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,CACK,IAAQ,QAAS,EAAA,EAAA,KAAC,GAAD,CAAoB,QAAS,CAAY,CAAA,EAC1D,IAAQ,WAAY,EAAA,EAAA,KAAC,GAAD,CAA2B,YAAa,CAAY,CAAA,EACxE,IAAQ,YAAa,EAAA,EAAA,KAAC,GAAD,CAA4B,YAAa,CAAY,CAAA,CAC1E,CAAA,CAAA,CACJ,GAER,GAEb,CAQA,SAAgB,GAAiB,CAAE,cAA0C,CACzE,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAA0B,UAAU,EAC3C,CAAC,EAAO,IAAA,EAAA,EAAA,UAAqB,EAAE,EAC/B,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAE,EACnC,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA+B,EAAK,EACtD,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA+B,EAAK,EACtD,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,EAAE,EAC7B,CAAC,EAAO,IAAA,EAAA,EAAA,UAAqB,EAAE,EAC/B,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAK,EACtC,CAAC,EAAU,IAAA,EAAA,EAAA,UAAwB,CAAC,EAEpC,CAAC,EAAkB,IAAA,EAAA,EAAA,UAAgC,EAAK,EACxD,CAAC,EAAe,IAAA,EAAA,EAAA,UAA6B,EAAK,EAClD,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA+B,EAAK,EACtD,CAAC,GAAc,KAAA,EAAA,EAAA,UAA4B,EAAE,EAC7C,CAAC,EAAgB,KAAA,EAAA,EAAA,UAA8B,EAAK,EAEpD,CAAC,GAAW,KAAA,EAAA,EAAA,UAAyB,EAAK,EAI1C,CAAC,GAAkB,KAAA,EAAA,EAAA,UAAgC,EAAK,GAK9D,EAAA,EAAA,eAAgB,CACR,IAAW,GAAoB,EAAI,CAC3C,EAAG,CAAC,EAAS,CAAC,GAGd,EAAA,EAAA,eAAgB,CACZ,GAAoB,EACf,KAAM,GAAW,CACV,EAAO,gBACP,EAAoB,EAAI,EACpB,EAAO,cAAc,QACrB,EAAS,EAAO,cAAc,KAAK,EACnC,EAAiB,EAAI,EACrB,GAAgB,GAAc,EAAO,cAAc,KAAK,CAAC,GAEzD,EAAO,cAAc,MACrB,EAAW,EAAO,cAAc,GAAG,EACnC,EAAmB,EAAI,GAGvB,EAAO,cAAc,OAAS,EAAO,cAAc,MACnD,EAAmB,EAAI,EACvB,GAAkB,EAAI,GAGlC,CAAC,EACA,UAAY,CAEb,CAAC,CACT,EAAG,CAAC,CAAC,GAGL,EAAA,EAAA,eAAgB,CACR,GAAkB,GAAS,IAC3B,GAAkB,EAAK,EACvB,GAAiB,CAAE,QAAO,UAAS,gBAAiB,EAAM,CAAC,EACtD,SAAW,CACR,EAAQ,QAAQ,EAChB,EAAY,EAAE,CAClB,CAAC,EACA,UAAY,CAET,EAAS,yDAAyD,CACtE,CAAC,EAEb,EAAG,CAAC,EAAgB,EAAO,CAAO,CAAC,GAGnC,EAAA,EAAA,eAAgB,CACZ,GAAI,GAAY,EAAG,OACnB,IAAM,EAAQ,eAAiB,EAAa,GAAM,EAAI,CAAC,EAAG,GAAI,EAC9D,UAAa,aAAa,CAAK,CACnC,EAAG,CAAC,CAAQ,CAAC,GAGb,EAAA,EAAA,eAAgB,CACZ,GAAI,IAAS,UAAW,CACpB,IAAM,EAAQ,WAAW,EAAY,GAAI,EACzC,UAAa,aAAa,CAAK,CACnC,CACJ,EAAG,CAAC,EAAM,CAAU,CAAC,EAErB,IAAM,IAAA,EAAA,EAAA,aAAmC,SAAY,CACjD,GAAI,CAAC,GAAS,CAAC,EAAS,CACpB,EAAS,iCAAiC,EAC1C,MACJ,CACA,GAAI,CAAC,EAAiB,CAClB,EAAS,iDAAiD,EAC1D,MACJ,CACA,EAAS,EAAE,EACX,EAAW,EAAI,EACf,GAAI,CAEA,IAAI,MADiB,GAAiB,CAAE,MAAO,EAAM,KAAK,EAAG,QAAS,EAAQ,KAAK,EAAG,iBAAgB,CAAC,GAC5F,SAAW,gBAAiB,CACnC,EAAS,8EAA8E,EACvF,MACJ,CACA,GAAa,EAAK,EAClB,EAAQ,QAAQ,EAChB,EAAY,EAAE,CAClB,MAAQ,CACJ,GAAa,EAAI,EACjB,EAAS,EAAE,CACf,QAAU,CACN,EAAW,EAAK,CACpB,CACJ,EAAG,CAAC,EAAO,EAAS,EAAiB,CAAe,CAAC,EAG/C,IAAA,EAAA,EAAA,iBAA6C,CAC/C,IAAM,EAAe,EAAM,KAAK,EAC1B,EAAiB,EAAQ,KAAK,EAChC,GAAgB,GAIhB,GAAiB,CAAE,MAAO,EAAc,QAAS,EAAgB,iBAAgB,CAAC,EAAE,UAAY,CAEhG,CAAC,EAEL,EAAQ,SAAS,CACrB,EAAG,CAAC,EAAO,EAAS,CAAe,CAAC,EAE9B,GAAA,EAAA,EAAA,aAA+B,SAAY,CAC7C,GAAI,CAAC,GAAQ,EAAK,SAAW,EAAG,CAC5B,EAAS,oDAAoD,EAC7D,MACJ,CACA,EAAS,EAAE,EACX,EAAW,EAAI,EACf,GAAI,CACA,MAAM,GAAiB,CAAE,MAAO,EAAM,KAAK,EAAG,QAAS,EAAQ,KAAK,EAAG,KAAM,EAAK,KAAK,CAAE,CAAC,EAC1F,EAAQ,SAAS,CACrB,OAAS,EAAK,CACV,EAAU,EAAc,SAAW,4BAA4B,CACnE,QAAU,CACN,EAAW,EAAK,CACpB,CACJ,EAAG,CAAC,EAAO,EAAS,CAAI,CAAC,EAEnB,GAAA,EAAA,EAAA,aAA2B,SAAY,CACrC,OAAW,GAEf,CADA,EAAS,EAAE,EACX,EAAW,EAAI,EACf,GAAI,CACA,MAAM,GAAiB,CAAE,MAAO,EAAM,KAAK,EAAG,QAAS,EAAQ,KAAK,EAAG,iBAAgB,CAAC,EACxF,EAAY,EAAE,CAClB,MAAQ,CACJ,EAAS,0DAA0D,CACvE,QAAU,CACN,EAAW,EAAK,CACpB,CARe,CASnB,EAAG,CAAC,EAAO,EAAS,EAAiB,CAAQ,CAAC,EAE9C,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EAEI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,uDACT,CAAC,WAAY,SAAU,SAAS,EAAa,KAAK,EAAG,KACnD,EAAA,EAAA,MAAC,MAAD,CAAa,UAAU,mCAAvB,EACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,0FACP,IAAS,EACH,mCACC,CAAC,WAAY,SAAU,SAAS,EAAa,QAAQ,CAAI,EAAI,EAC5D,0BACA,uCAGV,CAAC,WAAY,SAAU,SAAS,EAAa,QAAQ,CAAI,EAAI,EAAI,IAAM,EAAI,CAC5E,CAAA,EACJ,EAAI,IAAK,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,wBAA0B,CAAA,CAClD,GAbK,CAaL,CACR,CACA,CAAA,EAGJ,IAAS,iBAAqB,CAC3B,IAAM,GACF,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uBAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,2CAAkC,4BAA8B,CAAA,GAC9E,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,sCAA6B,sEAEvC,CAAA,CACF,KAEL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,MAAC,QAAD,CAAO,QAAQ,YAAY,UAAU,wDAArC,CAAoF,gBAE/E,GAAoB,IACjB,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uCAA8B,uBAA2B,CAAA,CAE1E,KACP,EAAA,EAAA,KAAC,QAAD,CACI,GAAG,YACH,KAAK,QACL,MAAO,EAAgB,GAAe,EACtC,SAAW,GAAM,CAAC,GAAiB,EAAS,EAAE,OAAO,KAAK,EAC1D,SAAU,EACV,YAAY,kBACZ,UAAU,qIACb,CAAA,CACA,CAAA,CAAA,GAEL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,MAAC,QAAD,CAAO,QAAQ,cAAc,UAAU,wDAAvC,CAAsF,eAEjF,GAAoB,IACjB,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uCAA8B,uBAA2B,CAAA,CAE1E,KACP,EAAA,EAAA,KAAC,QAAD,CACI,GAAG,cACH,KAAK,OACL,MAAO,EACP,SAAW,GAAM,CAAC,GAAmB,EAAW,EAAE,OAAO,KAAK,EAC9D,SAAU,EACV,YAAY,YACZ,UAAU,qIACb,CAAA,CACA,CAAA,CAAA,GAEL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,MAAC,QAAD,CAAO,UAAU,iDAAjB,EACI,EAAA,EAAA,KAAC,QAAD,CACI,KAAK,WACL,QAAS,EACT,SAAW,GAAM,EAAmB,EAAE,OAAO,OAAO,EACpD,UAAU,wEACb,CAAA,GACD,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,iCAAhB,CAAwC,2DACqB,KACzD,EAAA,EAAA,KAAC,IAAD,CACI,KAAK,mCACL,OAAO,SACP,IAAI,sBACJ,UAAU,uDACb,gBAEE,CAAA,EAAE,KACL,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,wBAAe,GAAO,CAAA,CACpC,GACH,KAEP,EAAA,EAAA,MAAC,QAAD,CAAO,UAAU,iDAAjB,EACI,EAAA,EAAA,KAAC,QAAD,CACI,KAAK,WACL,QAAS,EACT,SAAW,GAAM,EAAmB,EAAE,OAAO,OAAO,EACpD,UAAU,wEACb,CAAA,GACD,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iCAAwB,sDAA0D,CAAA,CAC/F,GACN,IAEJ,IAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+EAAuE,CAAW,CAAA,GAE3G,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,GACT,SAAU,GAAW,CAAC,GAAmB,CAAC,GAAS,CAAC,EACpD,UAAU,kKAET,EAAU,aAAe,wBACtB,CAAA,CACP,IAGT,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,CACK,KAAa,EAAA,EAAA,KAAC,GAAD,CAAmB,QAAS,GAA+B,SAAU,CAAA,EAMlF,CAAC,IAAa,CAAC,IAAoB,EAEnC,CAAC,IAAa,CAAC,KACZ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kFAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yBAA2B,CAAA,GAC1C,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,IAAQ,CAAA,GACd,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yBAA2B,CAAA,CACzC,KAGT,EAAA,EAAA,KAAC,GAAD,CACI,KAAM,GACN,SAAU,GACV,UAAW,EACd,CAAA,EAEA,KACG,EAAA,EAAA,MAAC,UAAD,CAAS,UAAU,iBAAnB,EACI,EAAA,EAAA,MAAC,UAAD,CAAS,UAAU,qFAAnB,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8DAA8D,cAAY,gBAAO,GAE3F,CAAA,EAAC,8BAEF,KACT,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qBAAa,CAAe,CAAA,CACtC,GAEZ,GAEb,GAAG,EAGF,IAAS,WACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uBAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,2CAAkC,yBAA2B,CAAA,GAC3E,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,sCAAb,CAA0C,mCACP,EAAA,EAAA,KAAC,SAAD,CAAA,SAAS,CAAc,CAAA,CACvD,GACF,KAEL,EAAA,EAAA,KAAC,MAAD,CAAA,UACI,EAAA,EAAA,KAAC,QAAD,CACI,GAAG,WACH,KAAK,OACL,MAAO,EACP,SAAW,GAAM,EAAQ,EAAE,OAAO,MAAM,YAAY,EAAE,MAAM,EAAG,CAAC,CAAC,EACjE,YAAY,WACZ,UAAW,EACX,UAAU,4LACb,CAAA,CACA,CAAA,EAEJ,IAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+EAAuE,CAAW,CAAA,GAE3G,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,SAAU,GAAW,EAAK,SAAW,EACrC,UAAU,kKAET,EAAU,eAAiB,QACxB,CAAA,GAER,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,wBACX,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,SAAU,EAAW,GAAK,EAC1B,UAAU,8FAET,EAAW,EAAI,gBAAgB,EAAS,IAAM,aAC3C,CAAA,CACP,CAAA,GAEL,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,CACX,EAAQ,UAAU,EAClB,EAAS,EAAE,CACf,EACA,UAAU,qFACb,QAEO,CAAA,CACP,IAIR,IAAS,YACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sCAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mCAA0B,GAAM,CAAA,GAC/C,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,2CAAkC,wBAA0B,CAAA,GAC1E,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,iCAAwB,0EAElC,CAAA,CACF,GAER,GAEb,CC7lBA,IAAM,GAAiB,kCACjB,GACF,8GACE,SACF,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAS,SAAS,cAAc,QAAQ,EAI9C,MAHA,GAAO,IAAM,4CACb,EAAO,MAAQ,GACf,SAAS,KAAK,YAAY,CAAM,MACnB,CACT,SAAS,KAAK,YAAY,CAAM,CACpC,CACJ,EAAG,CAAC,CAAC,EACL,EAAa,cAAc,uBAAwB,CAC/C,mBAAoB,GACpB,kBAAmB,EACvB,CAAC,GCZQ,IAAiB,CAAE,qBAExB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4BAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,4CAAmC,+BAAiC,CAAA,GAClF,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,8BAAqB,2CAA4C,CAAA,CAC7E,KAGL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBACX,EAAA,EAAA,KAAC,GAAD,CAAqB,CAAA,CACpB,CAAA,GAGL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+CACX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uBAAf,EACI,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,8BAAqB,uCAAwC,CAAA,GAC1E,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,qKACb,iBAEO,CAAA,CACP,GACJ,CAAA,CACJ,IC9Bb,SAAS,GAAW,EAAG,CACnB,OAAO,EAAE,mBAAmB,QAAS,CACjC,KAAM,UACN,MAAO,QACP,IAAK,UACL,KAAM,UACN,OAAQ,SACZ,CAAC,CACL,CACA,SAAS,GAAU,EAAG,CAClB,OAAO,KAAK,MAAM,EAAE,QAAQ,EAAI,KAAK,IAAI,IAAM,IAAO,GAAK,GAAK,GAAG,CACvE,CACA,SAAS,GAAY,EAAG,CACpB,IAAM,EAAO,GAAU,CAAC,EAKxB,OAJI,EAAO,EACA,0BACP,EAAO,GACA,4BACJ,2BACX,CASA,SAAgB,GAAoB,CAAE,cAAa,kBAAiB,iBAAiB,GAAO,kBAAkB,CAC1G,GAAI,CAAC,EACD,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,UAAW,YAAa,SAAU,EAAA,EAAA,EAAA,KAAM,MAAO,CAAE,UAAW,oBAAqB,UAAA,EAAA,EAAA,KAAe,KAAM,CAAE,UAAW,mBAAoB,SAAU,gBAA2B,CAAC,CAAE,CAAC,GAAA,EAAA,EAAA,KAAQ,IAAK,CAAE,MAAO,CAAE,MAAO,+BAAgC,SAAU,0BAA2B,EAAG,SAAU,+BAAgC,CAAC,CAAC,CAAE,CAAC,EAEjW,IAAM,EAAO,GAAU,EAAY,QAAQ,EACrC,EAAa,EAAO,EAAI,WAAW,KAAK,IAAI,CAAI,EAAE,WAAa,IAAS,EAAI,gBAAkB,GAAG,EAAK,iBAC5G,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,UAAW,YAAa,SAAU,YAAO,MAAO,CAAE,UAAW,oBAAqB,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,mBAAoB,SAAU,gBAA2B,CAAC,EAAG,IAAA,EAAA,EAAA,KAAwB,SAAU,CAAE,UAAW,+BAAgC,QAAS,EAAgB,SAAU,EAAgB,MAAO,CAAE,SAAU,2BAA4B,QAAS,2CAA4C,EAAG,SAAU,EAAiB,aAAe,mBAAoB,CAAC,CAAE,CAAE,CAAC,aAAS,MAAO,CAAE,MAAO,CAC/f,QAAS,OACT,oBAAqB,WACrB,IAAK,4CACL,SAAU,0BACd,EAAG,SAAU,WAAM,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,SAAU,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,WAAY,wBAAyB,SAAU,0BAA2B,EAAG,SAAU,EAAY,OAAQ,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,QAAS,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,WAAY,wBAAyB,SAAU,0BAA2B,EAAG,SAAU,EAAY,MAAO,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,YAAa,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,WAAY,wBAAyB,SAAU,0BAA2B,EAAG,SAAU,EAAY,UAAW,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,YAAa,CAAC,YAAQ,OAAQ,CAAE,SAAU,GAAW,EAAY,SAAS,CAAE,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,SAAU,CAAC,aAAS,OAAQ,CAAE,MAAO,CAAE,MAAO,GAAY,EAAY,QAAQ,EAAG,WAAY,gCAAiC,EAAG,SAAU,CAAC,GAAW,EAAY,QAAQ,EAAG,KAAM,EAAY,GAAG,CAAE,CAAC,EAAG,EAAY,UAAY,EAAY,SAAS,OAAS,IAAA,EAAA,EAAA,MAAYC,EAAAA,SAAW,CAAE,SAAU,EAAA,EAAA,EAAA,KAAM,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,WAAY,CAAC,GAAA,EAAA,EAAA,KAAQ,OAAQ,CAAE,MAAO,CAAE,WAAY,wBAAyB,SAAU,0BAA2B,EAAG,SAAU,EAAY,SAAS,KAAK,IAAI,CAAE,CAAC,CAAC,CAAE,CAAC,CAAE,CAAE,CAAC,EAAG,IAAA,EAAA,EAAA,MAA0B,MAAO,CAAE,MAAO,CACx9C,UAAW,uBACX,QAAS,uBACT,WAAY,uBACZ,aAAc,wBACd,OAAQ,oCACZ,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,MAAO,CAAE,MAAO,CACvB,SAAU,2BACV,WAAY,mCACZ,MAAO,+BACP,cAAe,YACf,cAAe,SACf,aAAc,sBAClB,EAAG,SAAU,wBAAyB,CAAC,GAAA,EAAA,EAAA,MAAS,MAAO,CAAE,MAAO,CAC5D,QAAS,OACT,oBAAqB,WACrB,IAAK,4CACL,SAAU,0BACd,EAAG,SAAU,WAAM,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,QAAS,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,WAAY,uBAAwB,EAAG,SAAU,EAAgB,aAAc,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,KAAM,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,WAAY,uBAAwB,EAAG,SAAU,EAAgB,cAAe,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,MAAO,CAAC,YAAQ,OAAQ,CAAE,SAAU,EAAgB,eAAgB,CAAC,YAAQ,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,MAAO,CAAC,YAAQ,OAAQ,CAAE,SAAU,EAAgB,eAAgB,CAAC,EAAG,EAAgB,eAAiB,EAAgB,cAAc,OAAS,IAAA,EAAA,EAAA,MAAYA,EAAAA,SAAW,CAAE,SAAU,EAAA,EAAA,EAAA,KAAM,OAAQ,CAAE,MAAO,CAAE,MAAO,8BAA+B,EAAG,SAAU,WAAY,CAAC,GAAA,EAAA,EAAA,KAAQ,OAAQ,CAAE,MAAO,CAAE,WAAY,uBAAwB,EAAG,SAAU,EAAgB,cAAc,KAAK,IAAI,CAAE,CAAC,CAAC,CAAE,CAAC,CAAE,CAAE,CAAC,CAAC,CAAE,CAAC,CAAE,CAAE,CAAC,CAC5hC,CCzDA,IAAM,GAAe,UAErB,SAAgB,GAAa,EAAK,CAG9B,OAFK,EAEE,EACF,MAAM,EAAY,EAClB,IAAK,GAAM,EAAE,KAAK,CAAC,EACnB,OAAO,OAAO,EAJR,CAAC,CAKhB,CAUA,SAAgB,GAAe,EAAO,CAClC,IAAM,EAAI,EAAM,KAAK,EAOrB,GANI,CAAC,GAGD,EAAE,SAAS,GAAG,GAAK,EAAE,SAAS,GAAG,GAGjC,CAAC,iBAAiB,KAAK,CAAC,EACxB,OAAO,EACX,GAAI,EAAE,SAAW,EAEb,OADe,EAAE,MAAM,OACX,EAAE,IAAK,GAAM,SAAS,EAAG,EAAE,CAAC,EAAE,KAAK,GAAG,EAEtD,GAAI,EAAE,SAAW,GAAI,CACjB,IAAM,EAAS,CAAC,EAChB,IAAK,IAAI,EAAI,EAAG,EAAI,GAAI,GAAK,EACzB,EAAO,KAAK,EAAE,UAAU,EAAG,EAAI,CAAC,CAAC,EACrC,OAAO,EAAO,KAAK,GAAG,CAC1B,CACA,OAAO,CACX,CAEA,SAAgB,GAAW,EAAG,CAI1B,MAHI,CAAC,GAAK,EAAE,OAAS,IACV,GAEJ,6HAA6H,KAAK,CAAC,CAC9I,CAEA,SAAS,GAAY,EAAG,CACpB,IAAM,EAAQ,EAAE,MAAM,GAAG,EAGzB,OAFI,EAAM,SAAW,EAEd,EAAM,MAAO,GAAM,YAAY,KAAK,CAAC,GAAK,CAAC,GAAK,GAAK,CAAC,GAAK,GAAG,EAD1D,EAEf,CAEA,SAAS,GAAY,EAAG,CACpB,GAAI,EAAE,QAAQ,GAAG,EAAI,EACjB,MAAO,GAEX,IAAM,EAAS,EAAE,MAAM,GAAG,EAAE,GAE5B,IAAK,EAAO,MAAM,KAAK,GAAK,CAAC,GAAG,OAAS,EACrC,MAAO,GACX,IAAM,EAAQ,EAAO,MAAM,GAAG,EAG9B,OAFI,EAAM,OAAS,GAAK,EAAM,OAAS,EAC5B,GACJ,EAAM,MAAO,GAAM,IAAM,IAAM,qBAAqB,KAAK,CAAC,CAAC,CACtE,CACA,SAAgB,GAAU,EAAG,CACzB,OAAO,GAAY,CAAC,GAAK,GAAY,CAAC,CAC1C,CAEA,SAAgB,GAAkB,EAAK,EAAM,CACzC,IAAM,EAAO,IAAI,IACX,EAAM,CAAC,EACb,IAAK,IAAM,KAAS,GAAa,CAAG,EAAG,CACnC,IAAM,EAAa,IAAS,KAAO,GAAe,CAAK,EAAI,EACtD,EAAK,IAAI,CAAU,IACpB,EAAK,IAAI,CAAU,EACnB,EAAI,KAAK,CAAU,EAE3B,CACA,OAAO,CACX,CAgBA,SAAgB,GAAc,CAAE,KAAI,QAAO,QAAO,WAAU,OAAM,WAAW,GAAO,WAAW,GAAO,SAAS,GAAO,eAAe,CACjI,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,cAA6B,GAAkB,EAAO,CAAI,CAAC,EACrE,CAAC,EAAO,IAAA,EAAA,EAAA,UAAqB,EAAE,EAC/B,GAAA,EAAA,EAAA,QAAkB,IAAI,EAItB,GAAA,EAAA,EAAA,QAAwB,EAAE,GAChC,EAAA,EAAA,eAAgB,CACZ,GAAI,IAAU,EAAe,QACzB,OACJ,IAAM,EAAO,GAAkB,EAAO,CAAI,EAC1C,EAAW,CAAI,EACf,EAAe,QAAU,EAAK,KAAK,IAAI,CAC3C,EAAG,CAAC,EAAO,CAAI,CAAC,EAChB,IAAM,GAAA,EAAA,EAAA,aAAoB,GAAS,CAC/B,IAAM,EAAS,EAAK,KAAK,IAAI,EAC7B,EAAe,QAAU,EACzB,EAAS,CAAM,CACnB,EAAG,CAAC,CAAQ,CAAC,EACP,GAAA,EAAA,EAAA,aAAwB,GAAO,IAAS,KAAO,GAAU,CAAC,EAAI,GAAW,CAAC,EAAI,CAAC,CAAI,CAAC,EACpF,GAAA,EAAA,EAAA,aAA0B,GAAQ,CACpC,IAAM,EAAY,GAAkB,EAAK,CAAI,EACzC,EAAU,SAAW,IAEzB,EAAY,GAAS,CACjB,IAAM,EAAO,IAAI,IAAI,CAAI,EACnB,EAAO,CAAC,GAAG,CAAI,EACrB,IAAK,IAAM,KAAK,EACP,EAAK,IAAI,CAAC,IACX,EAAK,KAAK,CAAC,EACX,EAAK,IAAI,CAAC,GAKlB,OAFI,EAAK,SAAW,EAAK,QACrB,EAAK,CAAI,EACN,CACX,CAAC,EACD,EAAS,EAAE,EACf,EAAG,CAAC,EAAM,CAAI,CAAC,EACT,GAAA,EAAA,EAAA,aAAwB,GAAQ,CAClC,EAAY,GAAS,CACjB,IAAM,EAAO,EAAK,QAAQ,EAAG,IAAM,IAAM,CAAG,EAE5C,OADA,EAAK,CAAI,EACF,CACX,CAAC,CACL,EAAG,CAAC,CAAI,CAAC,EACH,GAAA,EAAA,EAAA,aAA6B,GAAM,CAIjC,EAAE,MAAQ,SAAW,EAAE,MAAQ,KAAO,EAAE,MAAQ,IAC5C,EAAM,KAAK,IACX,EAAE,eAAe,EACjB,EAAW,CAAK,GAGf,EAAE,MAAQ,KAAO,EAAM,KAAK,GAGjC,EAAE,eAAe,EACjB,EAAW,CAAK,GAEX,EAAE,MAAQ,aAAe,IAAU,IAAM,EAAQ,OAAS,IAC/D,EAAE,eAAe,EACjB,EAAS,EAAQ,OAAS,CAAC,EAEnC,EAAG,CAAC,EAAO,EAAQ,OAAQ,EAAY,CAAQ,CAAC,EAC1C,GAAA,EAAA,EAAA,aAA2B,GAAM,CACnC,IAAM,EAAS,EAAE,cAAc,QAAQ,MAAM,EACzC,GAAa,KAAK,CAAM,IACxB,EAAE,eAAe,EACjB,EAAW,EAAQ,CAAM,EAEjC,EAAG,CAAC,EAAO,CAAU,CAAC,EAChB,GAAA,EAAA,EAAA,iBAA+B,CAC7B,EAAM,KAAK,GACX,EAAW,CAAK,CACxB,EAAG,CAAC,EAAO,CAAU,CAAC,EAChB,GAAA,EAAA,EAAA,aAAwB,IAAS,KACjC,iFACA,uEAAwE,CAAC,CAAI,CAAC,EAC9E,EAAiB,CACnB,QAAS,OACT,SAAU,OACV,WAAY,SACZ,IAAK,uBACL,QAAS,4CACT,WAAY,EAAS,0DAA4D,6BACjF,OAAQ,qCACR,aAAc,wBACd,UAAW,8DACX,OAAQ,GAAY,EAAW,cAAgB,OAC/C,QAAS,EAAW,GAAM,CAC9B,EACA,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,UAAW,mBAAoB,SAAU,EAAA,EAAA,EAAA,MAAO,MAAO,CAAE,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,sBAAuB,EAAG,SAAU,EAAA,EAAA,EAAA,MAAO,QAAS,CAAE,UAAW,mBAAoB,QAAS,EAAI,SAAU,CAAC,EAAO,GAAU,KAAK,CAAE,CAAC,GAAA,EAAA,EAAA,KAAQ,OAAQ,CAAE,MAAO,EAAS,MAAO,CAC5R,OAAQ,OACR,MAAO,+BACP,SAAU,2BACV,WAAY,MAChB,EAAG,SAAU,KAAM,CAAC,CAAC,CAAE,CAAC,GAAA,EAAA,EAAA,MAAS,MAAO,CAAE,MAAO,EAAgB,YAAe,CAChF,CAAC,GAAY,CAAC,GACd,EAAS,SAAS,MAAM,CAChC,EAAG,SAAU,CAAC,EAAQ,KAAK,EAAO,IAAQ,CAClC,IAAM,EAAQ,EAAS,CAAK,EAC5B,OAAA,EAAA,EAAA,MAAc,OAAQ,CAAE,UAAW,YAAa,eAAgB,EAAQ,IAAA,GAAY,OAAQ,MAAO,EAAQ,IAAA,GAAY,WAAW,IAAS,KAAO,aAAe,aAAc,MAAO,CAC9K,QAAS,cACT,WAAY,SACZ,IAAK,uBACL,QAAS,2BACT,WAAY,EAAQ,iCAAmC,6BACvD,MAAO,EAAQ,yBAA2B,0BAC1C,OAAQ,aAAa,EAAQ,iCAAmC,4BAChE,aAAc,6BACd,WAAY,wBACZ,SAAU,0BACd,EAAG,SAAU,CAAC,EAAO,CAAC,GAAY,CAAC,IAAA,EAAA,EAAA,KAAkB,SAAU,CAAE,KAAM,SAAU,aAAc,UAAU,IAAS,QAAU,GAAM,CACtH,EAAE,gBAAgB,EAClB,EAAS,CAAG,CAChB,EAAG,MAAO,CACN,WAAY,OACZ,OAAQ,OACR,MAAO,UACP,OAAQ,UACR,QAAS,EACT,SAAU,2BACV,WAAY,EACZ,QAAS,EACb,EAAG,SAAU,GAAS,CAAC,CAAE,CAAE,EAAG,CAAK,CACnD,CAAC,GAAA,EAAA,EAAA,KAAQ,QAAS,CAAE,IAAK,EAAc,KAAI,KAAM,OAAQ,MAAO,EAAO,SAAW,GAAM,EAAS,EAAE,OAAO,KAAK,EAAG,UAAW,EAAe,QAAS,EAAa,OAAQ,EAAY,YAAa,EAAQ,SAAW,EAAI,EAAc,GAAc,WAAoB,WAAU,MAAO,CACnR,KAAM,UACN,SAAU,MACV,WAAY,cACZ,OAAQ,OACR,QAAS,OACT,MAAO,yBACP,WAAY,0BACZ,SAAU,2BACV,QAAS,wBACb,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CACnC,CChPA,IAAM,GAAe,CAAE,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAC7D,GAAa,IAAI,IAAI,OAAO,KAAK,EAAY,CAAC,EAEpD,SAAgB,GAAa,EAAS,CAClC,IAAM,EAAS,CAAE,GAAG,EAAa,EACjC,GAAI,CAAC,EACD,OAAO,EAEX,IAAM,EAAQ,EAAQ,MAAM,MAAM,EAAE,OAAO,OAAO,EAClD,IAAK,IAAM,KAAQ,EAAO,CACtB,IAAM,EAAQ,EAAK,QAAQ,GAAG,EAC9B,GAAI,IAAU,GACV,SACJ,IAAM,EAAM,EAAK,UAAU,EAAG,CAAK,EAAE,KAAK,EAAE,YAAY,EAClD,EAAM,EAAK,UAAU,EAAQ,CAAC,EAAE,KAAK,EACvC,GAAW,IAAI,CAAG,IAClB,EAAO,GAAO,EAEtB,CACA,OAAO,CACX,CAEA,SAAgB,GAAiB,EAAQ,CACrC,IAAM,EAAQ,CAAC,EAEf,IAAK,IAAM,IAAO,CAAC,KAAM,IAAK,KAAM,IAAK,KAAM,GAAG,EAC1C,EAAO,IACP,EAAM,KAAK,GAAG,EAAI,GAAG,EAAO,IAAM,EAG1C,OAAO,EAAM,OAAS,EAAI,IAAI,EAAM,KAAK,GAAG,IAAM,EACtD,CAKA,SAAS,GAAqB,EAAS,CACnC,GAAI,CAAC,EACD,MAAO,GACX,IAAM,EAAQ,EAAQ,MAAM,MAAM,EAAE,OAAO,OAAO,EAC5C,EAAU,CAAC,EACjB,IAAK,IAAM,KAAQ,EAAO,CACtB,IAAM,EAAQ,EAAK,QAAQ,GAAG,EAC9B,GAAI,IAAU,GACV,SACJ,IAAM,EAAM,EAAK,UAAU,EAAG,CAAK,EAAE,KAAK,EAAE,YAAY,EACnD,GAAW,IAAI,CAAG,GACnB,EAAQ,KAAK,EAAK,KAAK,CAAC,CAEhC,CACA,OAAO,EAAQ,OAAS,EAAI,IAAI,EAAQ,KAAK,GAAG,IAAM,EAC1D,CAEA,SAAS,GAAgB,EAAQ,CAC7B,IAAM,EAAS,CAAC,EAIhB,OAHI,EAAO,GAAK,CAAC,aAAa,KAAK,EAAO,CAAC,IACvC,EAAO,EAAI,yDAER,CACX,CAEA,IAAM,GAAe,CACjB,CAAE,IAAK,KAAM,MAAO,cAAe,YAAa,uBAAwB,EACxE,CAAE,IAAK,IAAK,MAAO,eAAgB,YAAa,iBAAkB,EAClE,CAAE,IAAK,KAAM,MAAO,YAAa,YAAa,aAAc,EAC5D,CAAE,IAAK,IAAK,MAAO,WAAY,YAAa,OAAQ,EACpD,CAAE,IAAK,KAAM,MAAO,QAAS,YAAa,eAAgB,EAC1D,CAAE,IAAK,IAAK,MAAO,UAAW,YAAa,IAAK,CACpD,EAYA,SAAgB,GAAkB,CAAE,QAAO,WAAU,WAAW,IAAS,CACrE,GAAM,CAAC,EAAU,IAAA,EAAA,EAAA,UAAwB,EAAK,EACxC,CAAC,EAAQ,IAAA,EAAA,EAAA,cAA4B,GAAa,CAAK,CAAC,EACxD,CAAC,EAAQ,IAAA,EAAA,EAAA,UAAsB,CAAC,CAAC,EAEjC,GAAA,EAAA,EAAA,QAAuB,EAAE,EACzB,GAAA,EAAA,EAAA,cAAiC,EAAK,IAAQ,CAChD,IAAM,EAAY,CAAE,GAAG,GAAS,GAAM,CAAI,EAC1C,EAAU,CAAS,EACnB,EAAU,GAAgB,CAAS,CAAC,EACpC,EAAS,GAAiB,CAAS,EAAI,EAAc,OAAO,CAChE,EAAG,CAAC,EAAQ,CAAQ,CAAC,EACf,GAAA,EAAA,EAAA,aAA+B,GAAQ,CACzC,EAAS,CAAG,CAChB,EAAG,CAAC,CAAQ,CAAC,EACP,GAAA,EAAA,EAAA,iBAA+B,CACjC,GAAK,EAWD,EAAc,QAAU,OAXb,CAEX,IAAM,EAAS,GAAa,CAAK,EACjC,EAAU,CAAM,EAChB,EAAU,GAAgB,CAAM,CAAC,EAEjC,EAAc,QAAU,GAAqB,CAAK,CACtD,CAMA,EAAY,CAAC,CAAQ,CACzB,EAAG,CAAC,EAAU,CAAK,CAAC,EACpB,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,SAAU,EAAA,EAAA,EAAA,MAAO,MAAO,CAAE,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,uBAAwB,aAAc,sBAAuB,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,QAAS,CAAE,UAAW,mBAAoB,QAAS,EAAW,kBAAoB,mBAAoB,SAAU,kBAAmB,CAAC,GAAA,EAAA,EAAA,KAAQ,SAAU,CAAE,KAAM,SAAU,QAAS,EAAsB,WAAU,MAAO,CACtX,WAAY,OACZ,OAAQ,OACR,MAAO,2BACP,SAAU,2BACV,OAAQ,EAAW,cAAgB,UACnC,QAAS,EACT,QAAS,EAAW,GAAM,CAC9B,EAAG,SAAU,EAAW,QAAU,UAAW,CAAC,CAAC,CAAE,CAAC,EAAI,GAEoO,EAAA,EAAA,MAEhS,MAAO,CAAE,UAAW,iBAAkB,MAAO,CAC3C,QAAS,uBACT,WAAY,uBACZ,aAAc,wBACd,OAAQ,oCACZ,EAAG,SAAU,CAAC,GAAa,KAAK,CAAE,MAAK,QAAO,kBAAA,EAAA,EAAA,MAAyB,MAAO,CAAE,UAAW,mBAAoB,SAAU,YAAO,QAAS,CAAE,UAAW,mBAAoB,QAAS,gBAAgB,EAAI,YAAY,IAAK,MAAO,CAAE,SAAU,0BAA2B,EAAG,SAAU,CAAC,EAAO,KAAM,EAAK,GAAG,CAAE,CAAC,YAAQ,QAAS,CAAE,GAAI,gBAAgB,EAAI,YAAY,IAAK,UAAW,mBAAmB,EAAO,GAAO,2BAA6B,KAAM,KAAM,OAAQ,MAAO,EAAO,GAAM,SAAW,GAAM,EAAkB,EAAK,EAAE,OAAO,KAAK,EAAgB,cAAuB,WAAU,UAAW,IAAQ,IAAM,EAAI,IAAA,GAAW,MAAO,CAC3lB,SAAU,2BACV,GAAI,IAAQ,IACN,CAAE,cAAe,YAAa,WAAY,uBAAwB,EAClE,CAAC,CACX,CAAE,CAAC,EAAG,EAAO,KAAA,EAAA,EAAA,KAAa,OAAQ,CAAE,UAAW,mBAAoB,SAAU,EAAO,EAAK,CAAC,CAAC,CAAE,EAAG,CAAG,CAAE,aAAS,MAAO,CAAE,MAAO,CAClI,WAAY,SACZ,SAAU,2BACV,WAAY,wBACZ,MAAO,+BACP,QAAS,yBACT,UAAW,qCACX,UAAW,sBACf,EAAG,SAAU,CAAC,YAAa,GAAiB,CAAM,EAAI,EAAc,SAAW,SAAS,CAAE,CAAC,EAAG,EAAc,UAAA,EAAA,EAAA,MAAkB,MAAO,CAAE,MAAO,CAC1I,WAAY,SACZ,SAAU,2BACV,MAAO,4BACP,UAAW,QACf,EAAG,SAAU,CAAC,6BAAmC,EAAc,OAAO,CAAE,CAAC,CAAE,CAAE,CAAC,GA3BxB,EAAA,EAAA,KAE7D,QAAS,CAAE,GAAI,mBAAoB,UAAW,mBAAoB,KAAM,OAAe,QAAO,SAAW,GAAM,EAAgB,EAAE,OAAO,KAAK,EAAG,YAAa,yBAAoC,WAAU,MAAO,CAAE,WAAY,wBAAyB,SAAU,0BAA2B,CAAE,CAAC,CAyB1M,CAAE,CAAC,CAC3G,CCnJA,IAAM,GAAmB,CACrB,WAAY,0DACZ,MAAO,+BACP,YAAa,2BACb,OAAQ,aACZ,EACA,SAAgB,GAAoB,CAAE,SAAQ,WAAU,iBAAiB,CAAC,EAAG,WAAW,IAAS,CAC7F,IAAM,EAAY,GAAU,EAAe,SAAS,CAAK,EACnD,EAAmB,GAAU,GAAY,EAAS,CAAK,EACvD,GAAU,EAAO,IAAU,CAC7B,EAAS,CAAE,GAAG,GAAS,GAAQ,CAAM,CAAC,CAC1C,EACA,OAAA,EAAA,EAAA,MAAcC,EAAAA,SAAW,CAAE,SAAU,EAAA,EAAA,EAAA,MAAO,MAAO,CAAE,UAAW,qBAAsB,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,2BAA4B,SAAU,SAAU,CAAC,GAAA,EAAA,EAAA,KAAQ,GAAmB,CAAE,MAAO,EAAO,YAAa,SAAW,GAAM,EAAO,cAAe,CAAC,EAAG,SAAU,EAAgB,aAAa,CAAE,CAAC,CAAC,CAAE,CAAC,GAAA,EAAA,EAAA,MAAS,MAAO,CAAE,UAAW,qBAAsB,SAAU,WAAM,KAAM,CAAE,UAAW,2BAA4B,SAAU,oBAAqB,CAAC,aAAS,MAAO,CAAE,UAAW,mBAAoB,MAAO,CAAE,aAAc,sBAAuB,EAAG,SAAU,YAAO,QAAS,CAAE,UAAW,mBAAoB,QAAS,oBAAqB,SAAU,CAAC,kBAAmB,EAAS,gBAAgB,IAAA,EAAA,EAAA,MAAY,OAAQ,CAAE,UAAW,0BAA2B,SAAU,EAAA,EAAA,EAAA,KAAM,MAAO,CAAE,cAAe,OAAQ,MAAO,KAAM,OAAQ,KAAM,QAAS,YAAa,KAAM,OAAQ,OAAQ,eAAgB,YAAa,EAAG,UAAA,EAAA,EAAA,KAAe,OAAQ,CAAE,cAAe,QAAS,eAAgB,QAAS,EAAG,gBAAiB,CAAC,CAAE,CAAC,EAAG,QAAQ,CAAE,CAAC,CAAE,CAAE,CAAC,YAAQ,QAAS,CAAE,GAAI,oBAAqB,UAAW,mBAAoB,KAAM,OAAQ,MAAO,EAAO,eAAgB,SAAW,GAAM,EAAO,iBAAkB,EAAE,OAAO,KAAK,EAAG,YAAa,6BAA8B,SAAU,EAAgB,gBAAgB,EAAG,SAAU,EAAS,gBAAgB,EAAG,MAAO,EAAS,gBAAgB,EAAI,GAAmB,IAAA,GAAW,MAAO,EAAS,gBAAgB,EAAI,gDAAkD,IAAA,EAAU,CAAC,EAAG,EAAS,gBAAgB,IAAA,EAAA,EAAA,KAAW,OAAQ,CAAE,UAAW,kBAAmB,SAAU,oEAA0E,CAAC,CAAE,CAAE,CAAC,aAAS,MAAO,CAAE,UAAW,iBAAkB,SAAU,EAAA,EAAA,EAAA,KAAM,GAAe,CAAE,GAAI,gBAAiB,MAAO,YAAa,KAAM,MAAO,MAAO,EAAO,SAAU,SAAW,GAAM,EAAO,WAAY,CAAC,EAAG,SAAU,EAAgB,UAAU,EAAG,SAAU,EAAS,UAAU,EAAG,OAAQ,EAAS,UAAU,EAAG,YAAa,cAAe,CAAC,GAAA,EAAA,EAAA,KAAQ,GAAe,CAAE,GAAI,eAAgB,MAAO,eAAgB,KAAM,KAAM,MAAO,EAAO,YAAa,SAAW,GAAM,EAAO,cAAe,CAAC,EAAG,SAAU,EAAgB,aAAa,EAAG,SAAU,EAAS,aAAa,EAAG,OAAQ,EAAS,aAAa,EAAG,YAAa,cAAe,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAC5vE,CCbA,IAAMC,GAAQ,CACV,YAAa,GACb,eAAgB,GAChB,SAAU,GACV,YAAa,EACjB,EACM,GAAgB,0CAChB,GAAmB,sGAUzB,SAAgB,GAAe,CAAE,WAAU,WAAU,WAAU,iBAAiB,CAAC,EAAG,aAAa,GAAO,QAAO,QAAQ,GAAe,WAAW,IAAoB,CACjK,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,CAAE,GAAGA,GAAO,GAAG,CAAS,CAAC,EAyB1D,OAxBA,EAAA,EAAA,eAAgB,CACP,GAEL,EAAS,GAAS,CACd,IAAM,EAAO,CAAE,GAAG,CAAK,EACnB,EAAU,GACd,IAAK,IAAM,KAAO,OAAO,KAAK,CAAQ,EAAG,CACrC,IAAM,EAAW,EAAS,GACtB,IAAa,IAAA,KAEb,EAAe,SAAS,CAAG,GAAK,CAAC,EAAK,KAClC,EAAK,KAAS,IACd,EAAK,GAAO,EACZ,EAAU,GAGtB,CACA,OAAO,EAAU,EAAO,CAC5B,CAAC,CACL,EAAG,CAAC,EAAU,CAAc,CAAC,GAK7B,EAAA,EAAA,MAAc,OAAQ,CAAE,UAAW,iCAAkC,SAJ/C,GAAM,CACxB,EAAE,eAAe,EACjB,EAAS,CAAI,CACjB,EAC6F,SAAU,YAAO,MAAO,CAAE,UAAW,2CAA4C,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,mBAAoB,SAAU,CAAM,CAAC,GAAA,EAAA,EAAA,KAAQ,IAAK,CAAE,UAAW,6BAA8B,SAAU,CAAS,CAAC,CAAC,CAAE,CAAC,EAAG,IAAA,EAAA,EAAA,KAAe,MAAO,CAAE,UAAW,qBAAsB,KAAM,QAAS,MAAO,CACxY,WAAY,6BACZ,MAAO,yBACX,EAAG,SAAU,CAAM,CAAC,YAAS,GAAqB,CAAE,OAAQ,EAAM,SAAU,EAAyB,iBAAgB,SAAU,CAAW,CAAC,aAAS,MAAO,CAAE,UAAW,qBAAsB,SAAU,EAAA,EAAA,EAAA,KAAM,SAAU,CAAE,KAAM,SAAU,UAAW,6BAA8B,SAAU,EAAY,SAAU,EAAa,gBAAkB,cAAe,CAAC,EAAG,IAAA,EAAA,EAAA,KAAkB,SAAU,CAAE,KAAM,SAAU,UAAW,+BAAgC,QAAS,EAAU,SAAU,EAAY,SAAU,QAAS,CAAC,CAAE,CAAE,CAAC,CAAC,CAAE,CAAC,CACphB,CC7CA,IAAM,GAAW,CACb,eAAgB,2BAChB,cAAe,GACf,cAAe,GACf,eAAgB,GAChB,gBAAiB,GACjB,gBAAiB,SACjB,WAAY,GACZ,YAAa,GACb,SAAU,GACV,YAAa,GACb,cAAe,EACnB,EAaA,SAAgB,GAAe,CAAE,WAAU,aAAa,GAAO,WAAU,QAAO,iBAAiB,CAAC,GAAK,CACnG,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,CAC7B,GAAG,GACH,GAAG,CACP,CAAC,EACK,CAAC,EAAc,IAAA,EAAA,EAAA,UAA4B,EAAK,EAChD,EAAY,GAAU,EAAe,SAAS,CAAK,EACnD,EAAmB,GAAU,GAAc,EAAS,CAAK,GAO/D,EAAA,EAAA,eAAgB,CACP,GAEL,EAAS,GAAS,CACd,IAAM,EAAO,CAAE,GAAG,CAAK,EACnB,EAAU,GACd,IAAK,IAAM,KAAO,OAAO,KAAK,CAAQ,EAAG,CACrC,IAAM,EAAW,EAAS,GACtB,IAAa,IAAA,KAEb,EAAe,SAAS,CAAG,GAAK,CAAC,EAAK,KAClC,EAAK,KAAS,IACd,EAAK,GAAO,EACZ,EAAU,GAGtB,CACA,OAAO,EAAU,EAAO,CAC5B,CAAC,CACL,EAAG,CAAC,EAAU,CAAc,CAAC,EAC7B,IAAM,GAAU,EAAO,IAAU,CAC7B,EAAS,IAAU,CAAE,GAAG,GAAO,GAAQ,CAAM,EAAE,CACnD,EAKM,EAAiB,GACf,EAAS,CAAK,EACP,CACH,WAAY,uCACZ,MAAO,wCACP,YAAa,oCACb,OAAQ,aACZ,EAEG,CAAC,EAEN,EAAgB,GAAM,CACxB,EAAE,eAAe,EACjB,EAAS,CAAI,CACjB,EACM,EAAW,EAAK,kBAAoB,UAAY,EAAK,kBAAoB,kBAC/E,OAAA,EAAA,EAAA,MAAc,OAAQ,CAAE,UAAW,YAAa,SAAU,EAAc,MAAO,CAAE,MAAO,OAAQ,UAAW,YAAa,EAAG,SAAU,WAAM,MAAO,CAAE,UAAW,oBAAqB,UAAA,EAAA,EAAA,KAAe,KAAM,CAAE,UAAW,mBAAoB,SAAU,mBAA8B,CAAC,CAAE,CAAC,EAAG,IAAA,EAAA,EAAA,KAAe,MAAO,CAAE,MAAO,CACxS,QAAS,4CACT,WAAY,6BACZ,MAAO,0BACP,aAAc,wBACd,SAAU,2BACV,aAAc,sBAClB,EAAG,KAAM,QAAS,SAAU,CAAM,CAAC,aAAU,MAAO,CAAE,UAAW,YAAa,SAAU,YAAO,WAAY,CAAE,MAAO,CACxG,OAAQ,qCACR,aAAc,wBACd,QAAS,uBACT,OAAQ,EACR,SAAU,CACd,EAAG,SAAU,WAAM,SAAU,CAAE,MAAO,CAC1B,SAAU,2BACV,WAAY,mCACZ,MAAO,+BACP,QAAS,wBACb,EAAG,SAAU,gBAAiB,CAAC,aAAS,MAAO,CAAE,UAAW,mBAAoB,SAAU,EAAA,EAAA,EAAA,KAAM,QAAS,CAAE,UAAW,mBAAoB,QAAS,eAAgB,SAAU,kBAAmB,CAAC,GAAA,EAAA,EAAA,KAAQ,QAAS,CAAE,GAAI,eAAgB,UAAW,mBAAoB,KAAM,OAAQ,MAAO,EAAK,eAAgB,SAAW,GAAM,EAAO,iBAAkB,EAAE,OAAO,KAAK,EAAG,YAAa,4BAA6B,SAAU,GAAM,SAAU,CAAW,CAAC,CAAC,CAAE,CAAC,aAAS,MAAO,CAAE,UAAW,iBAAkB,MAAO,CAAE,UAAW,sBAAuB,EAAG,SAAU,EAAA,EAAA,EAAA,MAAO,MAAO,CAAE,UAAW,mBAAoB,SAAU,EAAA,EAAA,EAAA,KAAM,QAAS,CAAE,UAAW,mBAAoB,QAAS,kBAAmB,SAAU,gBAAiB,CAAC,GAAA,EAAA,EAAA,KAAQ,QAAS,CAAE,GAAI,kBAAmB,UAAW,mBAAoB,KAAM,OAAQ,MAAO,EAAK,cAAe,SAAW,GAAM,EAAO,gBAAiB,EAAE,OAAO,KAAK,EAAG,YAAa,QAAS,SAAU,GAAM,SAAU,EAAY,aAAc,UAAW,CAAC,CAAC,CAAE,CAAC,GAAA,EAAA,EAAA,MAAS,MAAO,CAAE,UAAW,mBAAoB,SAAU,EAAA,EAAA,EAAA,KAAM,QAAS,CAAE,UAAW,mBAAoB,QAAS,kBAAmB,SAAU,gBAAiB,CAAC,GAAA,EAAA,EAAA,KAAQ,QAAS,CAAE,GAAI,kBAAmB,UAAW,mBAAoB,KAAM,WAAY,MAAO,EAAK,cAAe,SAAW,GAAM,EAAO,gBAAiB,EAAE,OAAO,KAAK,EAAG,SAAU,GAAM,SAAU,EAAY,aAAc,kBAAmB,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,aAAS,WAAY,CAAE,MAAO,CACv5C,OAAQ,qCACR,aAAc,wBACd,QAAS,uBACT,OAAQ,EACR,SAAU,CACd,EAAG,SAAU,WAAM,SAAU,CAAE,MAAO,CAC1B,SAAU,2BACV,WAAY,mCACZ,MAAO,+BACP,QAAS,wBACb,EAAG,SAAU,sBAAuB,CAAC,aAAS,MAAO,CAAE,UAAW,mBAAoB,SAAU,EAAA,EAAA,EAAA,MAAO,QAAS,CAAE,UAAW,mBAAoB,QAAS,eAAgB,SAAU,CAAC,mBAAoB,EAAS,gBAAgB,GAAK,IAAI,CAAE,CAAC,GAAA,EAAA,EAAA,KAAQ,QAAS,CAAE,GAAI,eAAgB,UAAW,mBAAoB,KAAM,OAAQ,MAAO,EAAK,eAAgB,SAAW,GAAM,EAAO,iBAAkB,EAAE,OAAO,KAAK,EAAG,YAAa,6BAA8B,SAAU,GAAM,SAAU,EAAgB,gBAAgB,EAAG,SAAU,EAAS,gBAAgB,EAAG,MAAO,EAAc,gBAAgB,CAAE,CAAC,CAAC,CAAE,CAAC,aAAS,MAAO,CAAE,UAAW,gBAAiB,MAAO,CAAE,UAAW,sBAAuB,EAAG,SAAU,EAAA,EAAA,EAAA,MAAO,MAAO,CAAE,UAAW,mBAAoB,SAAU,EAAA,EAAA,EAAA,MAAO,QAAS,CAAE,UAAW,mBAAoB,QAAS,gBAAiB,SAAU,CAAC,oBAAqB,EAAS,iBAAiB,GAAK,IAAI,CAAE,CAAC,GAAA,EAAA,EAAA,KAAQ,QAAS,CAAE,GAAI,gBAAiB,UAAW,mBAAoB,KAAM,OAAQ,MAAO,EAAK,gBAAiB,SAAW,GAAM,EAAO,kBAAmB,EAAE,OAAO,KAAK,EAAG,YAAa,wBAAyB,SAAU,GAAM,SAAU,EAAgB,iBAAiB,EAAG,SAAU,EAAS,iBAAiB,EAAG,MAAO,EAAc,iBAAiB,CAAE,CAAC,CAAC,CAAE,CAAC,GAAA,EAAA,EAAA,MAAS,MAAO,CAAE,UAAW,mBAAoB,SAAU,EAAA,EAAA,EAAA,MAAO,QAAS,CAAE,UAAW,mBAAoB,QAAS,gBAAiB,SAAU,CAAC,QAAS,EAAS,iBAAiB,GAAK,IAAI,CAAE,CAAC,GAAA,EAAA,EAAA,MAAS,SAAU,CAAE,GAAI,gBAAiB,UAAW,mBAAoB,MAAO,EAAK,gBAAiB,SAAW,GAAM,EAAO,kBAAmB,EAAE,OAAO,KAAK,EAAG,SAAU,EAAgB,iBAAiB,EAAG,MAAO,EAAc,iBAAiB,EAAG,SAAU,WAAM,SAAU,CAAE,MAAO,SAAU,SAAU,QAAS,CAAC,YAAQ,SAAU,CAAE,MAAO,SAAU,SAAU,QAAS,CAAC,YAAQ,SAAU,CAAE,MAAO,kBAAmB,SAAU,iBAAkB,CAAC,YAAQ,SAAU,CAAE,MAAO,kBAAmB,SAAU,kBAAmB,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,YAAQ,MAAO,CAAE,MAAO,CAAE,UAAW,sBAAuB,EAAG,UAAA,EAAA,EAAA,KAAe,GAAmB,CAAE,MAAO,EAAK,YAAa,SAAW,GAAQ,EAAO,cAAe,CAAG,EAAG,SAAU,CAAW,CAAC,CAAE,CAAC,aAAS,MAAO,CAAE,UAAW,iBAAkB,MAAO,CAAE,UAAW,sBAAuB,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,GAAe,CAAE,GAAI,WAAY,MAAO,YAAa,KAAM,MAAO,MAAO,EAAK,SAAU,SAAW,GAAQ,EAAO,WAAY,CAAG,EAAG,SAAU,EAAgB,UAAU,EAAG,SAAU,EAAS,UAAU,EAAG,OAAQ,EAAS,UAAU,EAAG,YAAa,cAAe,CAAC,GAAA,EAAA,EAAA,KAAQ,GAAe,CAAE,GAAI,UAAW,MAAO,eAAgB,KAAM,KAAM,MAAO,EAAK,YAAa,SAAW,GAAQ,EAAO,cAAe,CAAG,EAAG,SAAU,EAAgB,aAAa,EAAG,SAAU,EAAS,aAAa,EAAG,OAAQ,EAAS,aAAa,EAAG,YAAa,cAAe,CAAC,CAAC,CAAE,CAAC,EAAG,IAAA,EAAA,EAAA,MAAmB,MAAO,CAAE,UAAW,mBAAoB,MAAO,CAAE,UAAW,sBAAuB,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,QAAS,CAAE,UAAW,mBAAoB,QAAS,iBAAkB,SAAU,gBAAiB,CAAC,GAAA,EAAA,EAAA,KAAQ,QAAS,CAAE,GAAI,iBAAkB,UAAW,mBAAoB,KAAM,OAAQ,MAAO,EAAK,cAAe,SAAW,GAAM,EAAO,gBAAiB,EAAE,OAAO,KAAK,EAAG,YAAa,wBAAyB,SAAU,CAAW,CAAC,CAAC,CAAE,CAAC,YAAS,SAAU,CAAE,KAAM,SAAU,YAAe,EAAgB,CAAC,CAAY,EAAG,MAAO,CACvzG,WAAY,OACZ,OAAQ,OACR,MAAO,2BACP,SAAU,2BACV,OAAQ,UACR,UAAW,uBACX,QAAS,CACb,EAAG,SAAU,EAAe,kBAAoB,iBAAkB,CAAC,EAAG,IAAA,EAAA,EAAA,MAAuB,MAAO,CAAE,UAAW,mBAAoB,MAAO,CAAE,UAAW,sBAAuB,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,QAAS,CAAE,UAAW,mBAAoB,QAAS,mBAAoB,SAAU,aAAc,CAAC,GAAA,EAAA,EAAA,KAAQ,QAAS,CAAE,GAAI,mBAAoB,UAAW,mBAAoB,KAAM,OAAQ,MAAO,EAAK,WAAY,SAAW,GAAM,EAAO,aAAc,EAAE,OAAO,KAAK,EAAG,YAAa,4BAA6B,SAAU,CAAW,CAAC,CAAC,CAAE,CAAC,CAAE,CAAE,CAAC,YAAQ,SAAU,CAAE,KAAM,SAAU,UAAW,6BAA8B,SAAU,GAAc,CAAC,EAAK,gBAAkB,CAAC,EAAK,iBAAmB,CAAC,EAAK,eAAiB,CAAC,EAAK,cAAe,MAAO,CAAE,UAAW,UAAW,EAAG,SAAU,EAAa,eAAiB,qBAAsB,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAC91B,CC5HA,IAAM,GAAgB,CAClB,eAAgB,CAAE,KAAM,MAAO,MAAO,eAAgB,UAAW,0BAA2B,EAC5F,cAAe,CAAE,KAAM,KAAM,MAAO,cAAe,UAAW,yBAA0B,EACxF,SAAU,CAAE,KAAM,IAAK,MAAO,uBAAwB,UAAW,sBAAuB,EACxF,QAAS,CAAE,KAAM,KAAM,MAAO,UAAW,UAAW,qBAAsB,CAC9E,EAMA,SAAgB,GAAsB,CAAE,SAAQ,WAAW,CACvD,IAAM,EAAS,GAAc,GAC7B,OAAA,EAAA,EAAA,MAAc,OAAQ,CAAE,UAAW,cAAc,EAAO,YAAa,MAAO,EAAS,KAAM,SAAU,aAAc,sBAAsB,EAAO,QAAS,SAAU,EAAA,EAAA,EAAA,KAAM,OAAQ,CAAE,UAAW,mBAAoB,cAAe,OAAQ,SAAU,EAAO,IAAK,CAAC,EAAG,EAAO,KAAK,CAAE,CAAC,CACtR,CCVA,SAASC,GAAa,EAAS,EAAW,CACtC,IAAM,EAAS,OAAO,GAAG,EAAU,SAAS,EACtC,EAAQ,EAAQ,MAAM,CAAE,EAC9B,OAAO,EAAQ,EAAM,GAAG,KAAK,EAAI,GACrC,CACA,SAAS,GAAa,EAAe,CACjC,IAAM,EAAO,oDAOb,OANI,GAAiB,GACjB,EAAA,EAAA,MAAc,OAAQ,CAAE,UAAW,GAAG,EAAK,yCAA0C,SAAU,CAAC,aAAmB,KAAK,IAAI,CAAa,EAAG,WAAW,CAAE,CAAC,EAE1J,GAAiB,IACjB,EAAA,EAAA,MAAc,OAAQ,CAAE,UAAW,GAAG,EAAK,kDAAmD,SAAU,CAAC,iBAA4B,EAAe,OAAO,CAAE,CAAC,GAElK,EAAA,EAAA,MAAc,OAAQ,CAAE,UAAW,GAAG,EAAK,+CAAgD,SAAU,CAAC,YAAkB,EAAe,kBAAkB,CAAE,CAAC,CAChK,CAEA,SAAS,GAAI,CAAE,QAAO,QAAO,QAAQ,CACjC,OAAA,EAAA,EAAA,MAAc,KAAM,CAAE,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,kEAAmE,SAAU,CAAM,CAAC,GAAA,EAAA,EAAA,KAAQ,KAAM,CAAE,UAAW,sBAAsB,EAAO,8BAAgC,KAAM,SAAU,CAAM,CAAC,CAAC,CAAE,CAAC,CACpQ,CAWA,SAAgB,GAAmB,CAAE,OAAM,YAAW,QAAQ,qBAAsB,cAAa,sBAAuB,CACpH,GAAM,CAAC,EAAU,IAAA,EAAA,EAAA,UAAwB,EAAK,EACxC,GAAA,EAAA,EAAA,iBAA+B,CACjC,UAAU,UAAU,UAAU,EAAK,UAAU,EAAE,SAAW,CACtD,EAAY,EAAI,EAChB,OAAO,eAAiB,EAAY,EAAK,EAAG,IAAI,EAChD,IAAqB,CACzB,CAAC,CACL,EAAG,CAAC,EAAK,WAAY,CAAkB,CAAC,EAClC,GAAO,EAAK,aAAe,CAAC,GAAG,IAAI,EAAc,EACvD,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,UAAW,oDAAqD,SAAU,EAAA,EAAA,EAAA,MAAO,MAAO,CAAE,UAAW,kFAAmF,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,sCAAuC,SAAU,CAAM,CAAC,EAAG,GAAe,GAAa,EAAK,aAAa,CAAC,CAAE,CAAC,GAAA,EAAA,EAAA,MAAS,MAAO,CAAE,UAAW,MAAO,SAAU,EAAA,EAAA,EAAA,KAAM,QAAS,CAAE,UAAW,iBAAkB,UAAA,EAAA,EAAA,MAAgB,QAAS,CAAE,SAAU,WAAM,GAAK,CAAE,MAAO,KAAM,MAAOA,GAAa,EAAK,QAAS,YAAY,CAAE,CAAC,YAAQ,GAAK,CAAE,MAAO,eAAgB,MAAOA,GAAa,EAAK,QAAS,kBAAkB,CAAE,CAAC,YAAQ,GAAK,CAAE,MAAO,WAAY,MAAO,GAAGA,GAAa,EAAK,QAAS,cAAc,EAAE,KAAKA,GAAa,EAAK,QAAS,aAAa,GAAI,CAAC,YAAQ,GAAK,CAAE,MAAO,SAAU,MAAO,EAAK,aAAc,KAAM,EAAK,CAAC,YAAQ,GAAK,CAAE,MAAO,aAAc,MAAO,IAAI,KAAK,EAAK,SAAS,EAAE,mBAAmB,CAAE,CAAC,YAAQ,GAAK,CAAE,MAAO,WAAY,MAAO,IAAI,KAAK,EAAK,OAAO,EAAE,mBAAmB,CAAE,CAAC,YAAQ,GAAK,CAAE,MAAO,MAAO,MAAO,OAAO,EAAK,QAAQ,KAAM,CAAC,YAAQ,GAAK,CAAE,MAAO,cAAe,MAAO,EAAK,WAAa,MAAQ,gBAAiB,CAAC,EAAG,EAAK,iBAAA,EAAA,EAAA,KAAuB,GAAK,CAAE,MAAO,kBAAmB,MAAO,EAAK,eAAgB,KAAM,EAAK,CAAC,EAAG,EAAK,UAAY,EAAK,SAAS,OAAS,IAAA,EAAA,EAAA,KAAW,GAAK,CAAE,MAAO,MAAO,MAAO,EAAK,SAAS,KAAK,IAAI,CAAE,CAAC,EAAI,EAAI,OAAS,IAAA,EAAA,EAAA,KAAU,GAAK,CAAE,MAAO,KAAM,MAAO,EAAI,KAAK,IAAI,CAAE,CAAC,aAAS,KAAM,CAAE,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,kEAAmE,SAAU,YAAa,CAAC,GAAA,EAAA,EAAA,MAAS,KAAM,CAAE,UAAW,qBAAsB,SAAU,EAAA,EAAA,EAAA,KAAM,OAAQ,CAAE,UAAW,iDAAkD,SAAU,EAAK,UAAW,CAAC,GAAA,EAAA,EAAA,KAAQ,SAAU,CAAE,KAAM,SAAU,QAAS,EAAY,MAAO,EAAW,UAAY,kBAAmB,UAAW,iDAAkD,SAAU,EAAW,IAAM,IAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAE,CAAC,EAAG,IAAA,EAAA,EAAA,MAAoB,IAAK,CAAE,UAAW,8EAA+E,MAAO,EAAW,SAAU,CAAC,MAAiB,CAAS,CAAE,CAAC,CAAE,CAAE,CAAC,CAAC,CAAE,CAAC,CACjoE,CCzBA,IAAW,GACV,SAAU,EAAW,CAClB,EAAU,KAAU,OACpB,EAAU,WAAgB,aAC1B,EAAU,UAAe,YACzB,EAAU,YAAiB,cAC3B,EAAU,WAAgB,aAC1B,EAAU,eAAoB,iBAC9B,EAAU,SAAc,WACxB,EAAU,YAAiB,cAC3B,EAAU,cAAmB,gBAC7B,EAAU,cAAmB,gBAC7B,EAAU,eAAoB,iBAC9B,EAAU,oBAAyB,sBACnC,EAAU,iBAAsB,mBAChC,EAAU,gBAAqB,kBAC/B,EAAU,SAAc,WACxB,EAAU,MAAW,OACzB,GAAG,AAAc,IAAY,CAAC,CAAE,ECnChC,IAAM,GAAS,CACX,CACI,MAAO,UACP,KAAM,KACN,OAAQ,CAAC,EAAU,WAAY,EAAU,SAAS,CACtD,EACA,CACI,MAAO,WACP,KAAM,KACN,OAAQ,CAAC,EAAU,YAAa,EAAU,UAAU,CACxD,EACA,CACI,MAAO,QACP,KAAM,KACN,OAAQ,CAAC,EAAU,eAAgB,EAAU,SAAU,EAAU,WAAW,CAChF,EACA,CACI,MAAO,OACP,KAAM,KACN,OAAQ,CAAC,EAAU,cAAe,EAAU,cAAe,EAAU,eAAgB,EAAU,mBAAmB,CACtH,EACA,CACI,MAAO,QACP,KAAM,KACN,OAAQ,CAAC,EAAU,iBAAkB,EAAU,eAAe,CAClE,EACA,CACI,MAAO,OACP,KAAM,IACN,OAAQ,CAAC,EAAU,QAAQ,CAC/B,CACJ,EACA,SAAS,GAAe,EAAO,EAAc,EAAS,CAClD,GAAI,IAAiB,EAAU,OAAS,EAGpC,MAAO,UAGX,IAAI,EAAkB,GAClB,EAAe,GACnB,IAAK,IAAI,EAAI,EAAG,EAAI,GAAO,OAAQ,IAC3B,GAAO,GAAG,OAAO,SAAS,CAAY,IACtC,EAAkB,GAClB,GAAO,KAAO,IACd,EAAe,GAMvB,OAJI,EAAe,EACR,YACP,IAAiB,EACV,SACJ,SACX,CAEA,SAAS,GAAgB,EAAU,CAC/B,IAAM,EAAY,EAAW,KAAK,IAAI,EAKtC,OAJI,GAAa,EACN,MACP,EAAY,IACL,GAAG,EAAU,IACjB,GAAG,KAAK,KAAK,EAAY,GAAI,EAAE,EAC1C,CAcA,SAAgB,GAAoB,CAAE,KAAI,YAAY,CAClD,GAAM,CAAE,QAAO,WAAU,UAAS,oBAAmB,uBAAwB,EAGvE,EAAG,IAAA,EAAA,EAAA,UAAoB,CAAC,GAC9B,EAAA,EAAA,eAAgB,CACZ,GAAI,IAAU,EAAU,YAAc,CAAC,GAAmB,YACtD,OACJ,IAAM,EAAK,gBAAkB,EAAS,GAAM,EAAI,CAAC,EAAG,GAAI,EACxD,UAAa,cAAc,CAAE,CACjC,EAAG,CAAC,EAAO,GAAmB,WAAW,CAAC,EAE1C,IAAM,EAAe,IAAU,EAAU,KAAO,QAAU,IAAU,EAAU,MAAQ,QAAU,EAAM,QAAQ,WAAY,KAAK,EAAE,KAAK,EACtI,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,UAAW,YAAa,MAAO,CAAE,QAAS,sBAAuB,EAAG,SAAU,YAAO,MAAO,CAAE,MAAO,CAC5G,QAAS,OACT,eAAgB,gBAChB,WAAY,SACZ,aAAc,sBAClB,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,OAAQ,CAAE,MAAO,CACxB,SAAU,2BACV,WAAY,mCACZ,MAAO,gCACX,EAAG,SAAU,eAAgB,CAAC,GAAA,EAAA,EAAA,KAAQ,OAAQ,CAAE,MAAO,CACnD,SAAU,2BACV,MAAO,EACD,0BACA,IAAU,EAAU,SAChB,4BACA,2BACV,WAAY,uBAChB,EAAG,SAAU,CAAa,CAAC,CAAC,CAAE,CAAC,YAAQ,MAAO,CAAE,UAAW,gBAAiB,KAAM,cAAe,gBAAiB,EAAU,gBAAiB,EAAG,gBAAiB,IAAK,UAAA,EAAA,EAAA,KAAe,MAAO,CAAE,UAAW,sBAAuB,MAAO,CACvO,MAAO,GAAG,KAAK,IAAI,EAAG,CAAQ,EAAE,GAChC,WAAY,EACN,0BACA,IAAU,EAAU,SAChB,4BACA,IAAA,EACd,CAAE,CAAC,CAAE,CAAC,YAAQ,MAAO,CAAE,MAAO,CAC9B,QAAS,OACT,eAAgB,gBAChB,UAAW,uBACX,IAAK,uBACL,SAAU,QACV,aAAc,MAClB,EAAG,KAAM,OAAQ,aAAc,mCAAoC,SAAU,GAAO,IAAK,GAAU,CAC/F,IAAM,EAAS,GAAe,EAAO,EAAO,CAAO,EACnD,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,KAAM,WAAY,eAAgB,IAAW,SAAW,OAAS,IAAA,GAAW,MAAO,CAClG,QAAS,OACT,cAAe,SACf,WAAY,SACZ,IAAK,uBACL,KAAM,EACN,QAAS,IAAW,UAAY,IAAO,EACvC,WAAY,mCAChB,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,OAAQ,CAAE,MAAO,CACxB,SAAU,2BACV,UAAW,IAAW,SAAW,uCAAyC,IAAA,EAC9E,EAAG,SAAU,IAAW,YAAc,IAAM,IAAW,QAAU,IAAM,EAAM,IAAK,CAAC,GAAA,EAAA,EAAA,KAAQ,OAAQ,CAAE,MAAO,CACxG,SAAU,2BACV,MAAO,IAAW,YACZ,4BACA,IAAW,SACP,2BACA,IAAW,QACP,0BACA,+BACd,WAAY,IAAW,SAAW,iCAAmC,IAAA,EACzE,EAAG,SAAU,EAAM,KAAM,CAAC,CAAC,CAAE,EAAG,EAAM,KAAK,CAC3D,CAAC,CAAE,CAAC,EAAG,IAAU,EAAU,YAAc,IAAA,EAAA,EAAA,MAA4B,MAAO,CAAE,KAAM,SAAU,YAAa,SAAU,MAAO,CACxH,UAAW,uBACX,QAAS,4CACT,WAAY,+BACZ,OAAQ,sCACR,aAAc,wBACd,SAAU,2BACV,MAAO,yBACP,QAAS,OACT,SAAU,OACV,WAAY,SACZ,IAAK,sBACT,EAAG,SAAU,EAAA,EAAA,EAAA,MAAO,MAAO,CAAE,MAAO,CAAE,KAAM,EAAG,SAAU,MAAO,EAAG,SAAU,YAAO,MAAO,CAAE,SAAU,EAAA,EAAA,EAAA,MAAO,SAAU,CAAE,SAAU,CAAC,WAAY,EAAkB,KAAK,CAAE,CAAC,EAAG,EAAkB,YACtK,kBAAkB,GAAgB,EAAkB,YAAY,QAAQ,CAAC,IACzE,gBAAgB,CAAE,CAAC,EAAG,EAAkB,YAAA,EAAA,EAAA,KAAmB,MAAO,CAAE,MAAO,CACjF,MAAO,+BACP,WAAY,wBACZ,UAAW,KACf,EAAG,SAAU,EAAkB,SAAU,CAAC,YAAS,MAAO,CAAE,MAAO,CAC/D,MAAO,+BACP,WAAY,wBACZ,UAAW,KACf,EAAG,SAAU,EAAkB,WAAY,CAAC,CAAC,CAAE,CAAC,EAAG,IAAA,EAAA,EAAA,KAAkB,SAAU,CAAE,KAAM,SAAU,UAAW,+BAAgC,QAAS,EAAU,MAAO,CAAE,SAAU,0BAA2B,EAAG,SAAU,kBAAwB,CAAC,CAAE,CAAE,CAAC,EAAI,GAAuB,IAAU,EAAU,aAAA,EAAA,EAAA,MAAqB,MAAO,CAAE,KAAM,SAAU,MAAO,CACxW,UAAW,uBACX,QAAS,4CACT,WAAY,6BACZ,OAAQ,oCACR,aAAc,wBACd,SAAU,2BACV,MAAO,yBACX,EAAG,SAAU,CAAC,cAAe,EAAoB,SAAW,cAAgB,YAAc,SAAU,SAAU,IAAK,EAAoB,SAAU,WAAY,EAAoB,WAAa,EAAI,GAAK,IAAK,KAAM,EAAoB,OAAQ,IAAI,CAAE,CAAC,CAAE,CAAE,CAAC,CAC1Q,CC9KA,SAAS,GAAW,EAAG,CACnB,OAAO,EAAE,mBAAmB,QAAS,CACjC,KAAM,UACN,OAAQ,UACR,OAAQ,SACZ,CAAC,CACL,CACA,SAAS,GAAe,EAAG,CACvB,IAAM,EAAK,EAAE,QAAQ,EAAI,KAAK,IAAI,EAClC,GAAI,EAAK,EACL,MAAO,UACX,IAAM,EAAM,KAAK,MAAM,EAAK,GAAI,EAChC,GAAI,EAAM,GACN,MAAO,GAAG,EAAI,GAClB,IAAM,EAAM,KAAK,MAAM,EAAM,EAAE,EAI/B,OAHI,EAAM,GACC,GAAG,EAAI,IAAI,EAAM,GAAG,GAExB,GADI,KAAK,MAAM,EAAM,EACjB,EAAE,IAAI,EAAM,GAAG,EAC9B,CACA,SAAS,GAAU,EAAM,CACrB,OAAQ,EAAR,CACI,IAAK,gBACD,MAAO,KACX,IAAK,kBACD,MAAO,IACX,IAAK,eACD,MAAO,IACX,IAAK,QACD,MAAO,GACf,CACJ,CAQA,SAAgB,GAAmB,CAAE,SAAQ,SAAQ,cAAa,aAAY,cAAc,CACxF,GAAM,CAAC,EAAa,IAAA,EAAA,EAAA,UAA2B,EAAI,EACnD,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,UAAW,YAAa,SAAU,YAAO,MAAO,CAAE,UAAW,oBAAqB,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,mBAAoB,SAAU,iBAA4B,CAAC,GAAA,EAAA,EAAA,MAAS,MAAO,CAAE,MAAO,CAAE,QAAS,OAAQ,IAAK,sBAAuB,EAAG,SAAU,CAAC,EAAO,YAAA,EAAA,EAAA,KAAmB,SAAU,CAAE,UAAW,+BAAgC,QAAS,EAAY,SAAU,CAAC,EAAY,MAAO,CAAE,SAAU,2BAA4B,QAAS,2CAA4C,EAAG,SAAU,QAAc,CAAC,GAAA,EAAA,EAAA,KAAW,SAAU,CAAE,UAAW,6BAA8B,QAAS,EAAa,SAAU,CAAC,EAAa,MAAO,CAAE,SAAU,2BAA4B,QAAS,2CAA4C,EAAG,SAAU,SAAe,CAAC,GAAA,EAAA,EAAA,KAAS,SAAU,CAAE,UAAW,+BAAgC,QAAS,EAAY,SAAU,CAAC,GAAc,EAAO,SAAU,MAAO,CAAE,SAAU,2BAA4B,QAAS,2CAA4C,EAAG,SAAU,EAAO,SAAW,cAAgB,cAAe,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,aAAS,MAAO,CAAE,UAAW,iBAAkB,MAAO,CAAE,aAAc,sBAAuB,EAAG,SAAU,YAAO,MAAO,CAAE,MAAO,CAAE,UAAW,QAAS,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,MAAO,CAAE,MAAO,CAC7sC,SAAU,2BACV,MAAO,+BACP,cAAe,YACf,cAAe,SACf,aAAc,sBAClB,EAAG,SAAU,QAAS,CAAC,GAAA,EAAA,EAAA,KAAQ,MAAO,CAAE,MAAO,CAC3C,SAAU,2BACV,WAAY,mCACZ,MAAO,EAAO,WAAa,4BAA8B,8BAC7D,EAAG,SAAU,EAAO,SAAW,YAAc,EAAO,WAAa,SAAW,SAAU,CAAC,CAAC,CAAE,CAAC,aAAS,MAAO,CAAE,MAAO,CAAE,UAAW,QAAS,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,MAAO,CAAE,MAAO,CACzK,SAAU,2BACV,MAAO,+BACP,cAAe,YACf,cAAe,SACf,aAAc,sBAClB,EAAG,SAAU,QAAS,CAAC,GAAA,EAAA,EAAA,KAAQ,MAAO,CAAE,MAAO,CAC3C,SAAU,2BACV,WAAY,mCACZ,WAAY,uBAChB,EAAG,SAAU,EAAO,UAAW,CAAC,CAAC,CAAE,CAAC,aAAS,MAAO,CAAE,MAAO,CAAE,UAAW,QAAS,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,MAAO,CAAE,MAAO,CAClH,SAAU,2BACV,MAAO,+BACP,cAAe,YACf,cAAe,SACf,aAAc,sBAClB,EAAG,SAAU,YAAa,CAAC,GAAA,EAAA,EAAA,KAAQ,MAAO,CAAE,MAAO,CAC/C,SAAU,2BACV,WAAY,uBAChB,EAAG,SAAU,EAAO,YAAc,GAAe,EAAO,WAAW,EAAI,GAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,aAAS,MAAO,CAAE,SAAU,EAAA,EAAA,EAAA,MAAO,SAAU,CAAE,KAAM,SAAU,YAAe,EAAe,CAAC,CAAW,EAAG,MAAO,CAC3M,WAAY,OACZ,OAAQ,OACR,MAAO,+BACP,SAAU,2BACV,OAAQ,UACR,QAAS,EACT,aAAc,sBAClB,EAAG,SAAU,CAAC,EAAc,IAAM,IAAK,eAAgB,EAAO,OAAQ,GAAG,CAAE,CAAC,EAAG,IAAA,EAAA,EAAA,KAAqB,MAAO,CAAE,UAAW,iBAAkB,cAAe,oBAAqB,SAAU,EAAO,SAAW,GAAA,EAAA,EAAA,KAAU,MAAO,CAAE,MAAO,CAC5N,MAAO,+BACP,UAAW,QACf,EAAG,SAAU,eAAgB,CAAC,EAAM,EAAO,IAAK,IAAA,EAAA,EAAA,MAAiB,MAAO,CAAE,UAAW,wBAAyB,SAAU,EAAA,EAAA,EAAA,KAAM,OAAQ,CAAE,UAAW,uBAAwB,SAAU,GAAW,EAAM,SAAS,CAAE,CAAC,GAAA,EAAA,EAAA,MAAS,OAAQ,CAAE,SAAU,CAAC,GAAU,EAAM,IAAI,EAAG,IAAK,EAAM,OAAO,CAAE,CAAC,CAAC,CAAE,EAAG,GAAG,EAAM,UAAU,QAAQ,EAAE,GAAG,EAAM,KAAK,GAAG,EAAM,SAAS,CAAE,CAAG,CAAC,CAAE,CAAE,CAAC,CAAC,CAAE,CAAC,CAC1Y,CCrEA,SAAgB,GAAc,EAAO,CACjC,GAAM,CAAE,mBAAkB,eAAc,WAAW,EAAG,WAAU,YAAY,GAAO,qBAAoB,iBAAgB,kBAAiB,cAAa,kBAAiB,iBAAgB,kBAAkB,GAAO,gBAAe,gBAAgB,CAAC,EAAG,qBAAoB,oBAAmB,aAAY,iBAAgB,UAAS,kBAAiB,oBAAoB,KAAM,sBAAsB,MAAS,EAClY,EAAY,IAAiB,EAAU,MACvC,EAAa,IAAiB,EAAU,SAGxC,EAAe,IAAiB,IAAA,IAAa,IAAiB,EAAU,MAAQ,CAAC,GAAc,CAAC,EAChG,GAAqB,CAAC,IACvB,IAAqB,gBAAkB,IAAqB,eAAiB,IAAqB,WAAa,GAC9G,GAAkB,CAAC,IAAiB,IAAqB,YAAc,IAAqB,WAClG,OAAA,EAAA,EAAA,MAAc,MAAO,CAAE,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,IAAK,sBAAuB,EAAG,SAAU,WAAM,MAAO,CAAE,UAAW,YAAa,MAAO,CACjJ,QAAS,OACT,WAAY,SACZ,eAAgB,gBAChB,SAAU,OACV,IAAK,sBACT,EAAG,UAAA,EAAA,EAAA,MAAgB,MAAO,CAAE,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,sBAAuB,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,MAAO,CAC1H,OAAQ,EACR,SAAU,2BACV,WAAY,mCACZ,MAAO,gCACX,EAAG,SAAU,6BAAwC,CAAC,GAAA,EAAA,EAAA,KAAQ,GAAuB,CAAE,OAAQ,CAAiB,CAAC,CAAC,CAAE,CAAC,CAAE,CAAC,EAAG,IAAqB,YAAA,EAAA,EAAA,KAAmB,MAAO,CAAE,MAAO,CAC3L,QAAS,4CACT,WAAY,6BACZ,OAAQ,oCACR,aAAc,wBACd,MAAO,0BACP,WAAY,gCAChB,EAAG,SAAU,0IAAgJ,CAAC,EAAI,IAAA,EAAA,EAAA,MAAoB,MAAO,CAAE,MAAO,CAClM,QAAS,4CACT,WAAY,6BACZ,OAAQ,oCACR,aAAc,wBACd,QAAS,OACT,WAAY,SACZ,eAAgB,gBAChB,SAAU,OACV,IAAK,sBACT,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,OAAQ,CAAE,MAAO,CACxB,MAAO,0BACP,WAAY,gCAChB,EAAG,SAAU,sGAA4G,CAAC,GAAA,EAAA,EAAA,KAAQ,MAAO,CAAE,MAAO,CAAE,QAAS,OAAQ,IAAK,sBAAuB,EAAG,SAAU,IAAA,EAAA,EAAA,KAAiB,SAAU,CAAE,UAAW,6BAA8B,QAAS,EAAS,SAAU,oBAA0B,CAAC,CAAG,CAAC,CAAC,CAAE,CAAC,EAAI,IAAiB,IAAA,KAAc,GAAgB,IAAiB,EAAU,QAAA,EAAA,EAAA,KAAe,GAAqB,CAAE,GAAI,CAC/c,MAAO,EACP,WACA,MAAO,GACP,MAAO,KACP,QAAS,CAAC,EACV,WAAY,IAAiB,EAAU,UAAY,IAAiB,EAAU,MAC9E,QAAS,IAAiB,EAAU,MACpC,oBACA,qBACJ,EAAG,SAAU,CAAgB,CAAC,EAAI,CAAC,IAAA,EAAA,EAAA,MAAuB,MAAO,CAAE,MAAO,CACtE,QAAS,OACT,cAAe,SACf,IAAK,uBACL,MAAO,OACP,SAAU,QACV,aAAc,MAClB,EAAG,SAAU,CAAC,IAAsB,IAAA,EAAA,EAAA,KAAkB,GAAgB,CAAE,SAAU,EAAU,WAAY,EAAW,SAAU,EAAoC,iBAAgB,MAAO,CAAgB,CAAC,EAAI,IAAmB,GAAA,EAAA,EAAA,MAAuB,MAAO,CAAE,UAAW,iBAAkB,MAAO,CAAE,WAAY,OAAQ,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,GAAqB,CAAE,YAAa,GAAe,KAAM,gBAAiB,GAAmB,KAAsB,iBAAgB,eAAgB,CAAgB,CAAC,GAAA,EAAA,EAAA,KAAQ,GAAoB,CAAE,OAAQ,EAAe,OAAQ,EAAe,YAAa,EAAoB,WAAY,EAA+B,YAAW,CAAC,CAAC,CAAE,CAAC,GAAA,EAAA,EAAA,MAAYC,EAAAA,SAAW,CAAE,SAAU,CAAC,KAAA,EAAA,EAAA,KAAyB,GAAqB,CAAE,YAAa,GAAe,KAAM,gBAAiB,GAAmB,KAAsB,iBAAgB,eAAgB,CAAgB,CAAC,EAAI,IAAA,EAAA,EAAA,KAAuB,GAAoB,CAAE,OAAQ,EAAe,OAAQ,EAAe,YAAa,EAAoB,WAAY,EAA+B,YAAW,CAAC,CAAE,CAAE,CAAC,CAAE,CAAE,CAAC,EAAI,GAAkB,IAAqB,iBAAA,EAAA,EAAA,KAAwB,MAAO,CAAE,MAAO,CAAE,UAAW,QAAS,WAAY,sBAAuB,EAAG,UAAA,EAAA,EAAA,KAAe,SAAU,CAAE,YAAe,CACxuC,OAAO,QAAQ;;;;;cAGA,GACf,EAAe,CAEvB,EAAG,MAAO,CACN,WAAY,OACZ,OAAQ,OACR,MAAO,+BACP,SAAU,2BACV,OAAQ,UACR,eAAgB,YAChB,QAAS,uBACT,QAAS,GACT,WAAY,uCAChB,EAAG,aAAe,GAAM,CACpB,EAAE,cAAc,MAAM,QAAU,IAChC,EAAE,cAAc,MAAM,MAAQ,yBAClC,EAAG,aAAe,GAAM,CACpB,EAAE,cAAc,MAAM,QAAU,MAChC,EAAE,cAAc,MAAM,MAAQ,8BAClC,EAAG,SAAU,gBAAsB,CAAC,CAAE,CAAC,CAAE,CAAE,CAAC,CAChE,CC/FA,IAAa,GAA2B,CACpC,CAAE,MAAO,GAAI,MAAO,SAAU,EAC9B,CAAE,MAAO,GAAI,MAAO,SAAU,EAC9B,CAAE,MAAO,GAAI,MAAO,UAAW,EAC/B,CAAE,MAAO,IAAK,MAAO,UAAW,EAChC,CAAE,MAAO,IAAK,MAAO,QAAS,EAC9B,CAAE,MAAO,IAAK,MAAO,SAAU,EAC/B,CAAE,MAAO,KAAM,MAAO,SAAU,EAChC,CAAE,MAAO,KAAM,MAAO,UAAW,CACrC,EACM,GAAQ,CACV,YAAa,GACb,eAAgB,GAChB,SAAU,GACV,YAAa,GACb,aAAc,IACd,QAAS,IACb,EACM,GAAO,CACT,OAAQ,CACJ,MAAO,oCACP,SAAU,0DACV,OAAQ,qBACR,WAAY,aAChB,EACA,MAAO,CACH,MAAO,mCACP,SAAU,yGACV,OAAQ,oBACR,WAAY,aAChB,CACJ,EAUA,SAAgB,GAAmB,CAAE,SAAS,SAAU,WAAU,WAAU,WAAU,iBAAiB,CAAC,EAAG,kBAAkB,GAA0B,aAAa,GAAO,QAAO,QAAO,YAAY,CACjM,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,CAAE,GAAG,GAAO,GAAG,CAAS,CAAC,GAC1D,EAAA,EAAA,eAAgB,CACP,GAEL,EAAS,GAAS,CACd,IAAM,EAAO,CAAE,GAAG,CAAK,EACnB,EAAU,GACd,IAAK,IAAM,KAAO,OAAO,KAAK,CAAQ,EAAG,CACrC,IAAM,EAAW,EAAS,GAC1B,GAAI,IAAa,IAAA,GACb,SACJ,IAAM,EAAU,OAAO,EAAK,IAAS,SAAW,CAAC,EAAK,GAAO,EAAK,KAAS,IAAA,IAAa,EAAK,KAAS,MAClG,EAAe,SAAS,CAAG,GAAK,IAC5B,EAAK,KAAS,IACd,EAAK,GAAO,EACZ,EAAU,GAGtB,CACA,OAAO,EAAU,EAAO,CAC5B,CAAC,CACL,EAAG,CAAC,EAAU,CAAc,CAAC,EAC7B,IAAM,EAAgB,GAAM,CACxB,EAAE,eAAe,EACjB,EAAS,CAAI,CACjB,EACM,EAAuB,GAAS,CAClC,EAAS,IAAU,CAAE,GAAG,EAAM,GAAG,CAAK,EAAE,CAC5C,EACM,EAAO,GAAK,GACZ,EAAkB,EAAe,OAAQ,GAAM,IAAM,eAAiB,IAAM,kBAAoB,IAAM,YAAc,IAAM,aAAa,EACvI,EAAiB,EAAe,SAAS,cAAc,EAC7D,OAAA,EAAA,EAAA,MAAc,OAAQ,CAAE,UAAW,iCAAkC,SAAU,EAAc,SAAU,YAAO,MAAO,CAAE,UAAW,8CAA+C,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,mBAAoB,SAAU,GAAS,EAAK,KAAM,CAAC,GAAA,EAAA,EAAA,KAAQ,IAAK,CAAE,UAAW,6BAA8B,SAAU,GAAY,EAAK,QAAS,CAAC,CAAC,CAAE,CAAC,EAAG,IAAA,EAAA,EAAA,KAAe,MAAO,CAAE,UAAW,qBAAsB,KAAM,QAAS,MAAO,CAC1a,WAAY,6BACZ,MAAO,yBACX,EAAG,SAAU,CAAM,CAAC,YAAS,GAAqB,CAAE,OAAQ,EAAM,SAAU,EAAqB,eAAgB,EAAiB,SAAU,CAAW,CAAC,aAAS,MAAO,CAAE,UAAW,qBAAsB,SAAU,EAAA,EAAA,EAAA,KAAM,KAAM,CAAE,UAAW,2BAA4B,SAAU,sBAAuB,CAAC,GAAA,EAAA,EAAA,MAAS,MAAO,CAAE,UAAW,mBAAoB,MAAO,CAAE,SAAU,OAAQ,EAAG,SAAU,EAAA,EAAA,EAAA,KAAM,QAAS,CAAE,UAAW,mBAAoB,QAAS,qBAAsB,SAAU,sBAAuB,CAAC,GAAA,EAAA,EAAA,KAAQ,SAAU,CAAE,GAAI,qBAAsB,UAAW,mBAAoB,MAAO,EAAK,aAAc,SAAW,GAAM,EAAS,IAAU,CAAE,GAAG,EAAM,aAAc,OAAO,EAAE,OAAO,KAAK,CAAE,EAAE,EAAG,SAAU,GAAc,EAAgB,SAAU,EAAgB,IAAK,IAAA,EAAA,EAAA,KAAc,SAAU,CAAE,MAAO,EAAI,MAAO,SAAU,EAAI,KAAM,EAAG,EAAI,KAAK,CAAE,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,aAAS,MAAO,CAAE,UAAW,qBAAsB,SAAU,EAAA,EAAA,EAAA,KAAM,SAAU,CAAE,KAAM,SAAU,UAAW,6BAA8B,SAAU,EAAY,SAAU,EAAa,EAAK,WAAa,EAAK,MAAO,CAAC,EAAG,IAAA,EAAA,EAAA,KAAkB,SAAU,CAAE,KAAM,SAAU,UAAW,+BAAgC,QAAS,EAAU,SAAU,EAAY,SAAU,QAAS,CAAC,CAAE,CAAE,CAAC,CAAC,CAAE,CAAC,CAC5tC,CCpBA,eAAsB,IAAoD,CACtE,IAAM,EAAM,EAAW,kBAAkB,EACnC,EAAM,MAAM,MAAM,CAAG,EAC3B,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CAEA,OAAO,MADY,EAAI,KAAK,GAChB,QAAU,IAC1B,CAEA,eAAsB,GAAkB,EAAqE,CACzG,IAAM,EAAM,EAAW,kBAAkB,EACnC,EAAM,MAAM,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAM,CAC/B,CAAC,EACD,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,eAAsB,IAGnB,CACC,IAAM,EAAM,EAAW,kBAAkB,EACnC,EAAM,MAAM,MAAM,EAAK,CAAE,OAAQ,QAAS,CAAC,EACjD,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAIA,eAAsB,IAA6C,CAC/D,IAAM,EAAM,EAAW,kBAAkB,EACnC,EAAM,MAAM,MAAM,CAAG,EAC3B,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAIA,eAAsB,GAAe,EAGY,CAC7C,IAAM,EAAM,EAAW,mBAAmB,EACpC,EAAM,MAAM,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAM,CAC/B,CAAC,EACD,GAAI,CAAC,EAAI,IAAM,EAAI,SAAW,IAAK,CAC/B,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,eAAsB,IAGnB,CACC,IAAM,EAAM,EAAW,iBAAiB,EAClC,EAAM,MAAM,MAAM,EAAK,CAAE,OAAQ,MAAO,CAAC,EAC/C,GAAI,CAAC,EAAI,IAAM,EAAI,SAAW,IAAK,CAC/B,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,eAAsB,IAGnB,CACC,IAAM,EAAM,EAAW,gBAAgB,EACjC,EAAM,MAAM,MAAM,EAAK,CAAE,OAAQ,MAAO,CAAC,EAC/C,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAQA,eAAsB,IAGnB,CACC,IAAM,EAAM,EAAW,kBAAkB,EACnC,EAAM,MAAM,MAAM,EAAK,CAAE,OAAQ,MAAO,CAAC,EAC/C,GAAI,CAAC,EAAI,IAAM,EAAI,SAAW,IAAK,CAC/B,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CCnHA,eAAsB,IAAyC,CAC3D,IAAM,EAAM,EAAW,eAAe,EAEtC,OAAO,MADW,MAAM,CAAG,GAChB,KAAK,CACpB,CAIA,eAAsB,IAA4C,CAC9D,IAAM,EAAM,EAAW,sBAAsB,EACvC,EAAM,MAAM,MAAM,CAAG,EAC3B,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,SAAgB,IAA2B,CACvC,OAAO,EAAW,0BAA0B,CAChD,CAEA,SAAgB,IAA2B,CACvC,OAAO,EAAW,0BAA0B,CAChD,CAEA,eAAsB,GAAqB,EAOM,CAC7C,IAAM,EAAM,EAAW,iBAAiB,EAClC,EAAM,MAAM,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAM,CAC/B,CAAC,EACD,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAYA,eAAsB,GAAU,EAKZ,CAChB,IAAM,EAAM,EAAW,cAAc,EAC/B,EAAM,MAAM,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAM,CAC/B,CAAC,EACD,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAC5B,MAAU,MAAM,0BAA0B,EAAI,OAAO,KAAK,GAAM,CACpE,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,eAAsB,GAAiB,EAAuE,CAC1G,IAAM,EAAM,EAAW,wBAAwB,EAM/C,OAAO,MALW,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,YAAa,CAAgB,CAAC,CACzD,CAAC,GACU,KAAK,CACpB,CAIA,eAAsB,IAAyC,CAC3D,IAAM,EAAM,EAAW,cAAc,EAC/B,EAAM,MAAM,MAAM,CAAG,EAC3B,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,eAAsB,IAA0C,CAC5D,IAAM,EAAM,EAAW,eAAe,EAChC,EAAM,MAAM,MAAM,CAAG,EAC3B,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,eAAsB,GAAkB,EAAsD,CAC1F,IAAM,EAAM,EAAW,qBAAqB,EAM5C,OAAO,MALW,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,YAAa,CAAgB,CAAC,CACzD,CAAC,GACU,KAAK,CACpB,CAEA,eAAsB,GAAkB,EAAiD,CACrF,IAAM,EAAM,EAAW,gBAAgB,EAAW,QAAQ,EAE1D,OAAO,MADW,MAAM,EAAK,CAAE,OAAQ,MAAO,CAAC,GACpC,KAAK,CACpB,CAEA,eAAsB,GAAkB,EAAiD,CACrF,IAAM,EAAM,EAAW,iBAAiB,EAAW,OAAO,EAE1D,OAAO,MADW,MAAM,EAAK,CAAE,OAAQ,MAAO,CAAC,GACpC,KAAK,CACpB,CAEA,eAAsB,GAAkB,EAAiD,CACrF,IAAM,EAAM,EAAW,gBAAgB,GAAY,EAEnD,OAAO,MADW,MAAM,EAAK,CAAE,OAAQ,QAAS,CAAC,GACtC,KAAK,CACpB,CAEA,eAAsB,GAAmB,EAAiD,CACtF,IAAM,EAAM,EAAW,iBAAiB,GAAY,EAEpD,OAAO,MADW,MAAM,EAAK,CAAE,OAAQ,QAAS,CAAC,GACtC,KAAK,CACpB,CAIA,eAAsB,IAAwC,CAC1D,IAAM,EAAM,EAAW,oBAAoB,EACrC,EAAM,MAAM,MAAM,CAAG,EAC3B,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,eAAsB,GAAiB,EAAsD,CACzF,IAAM,EAAM,EAAW,2BAA2B,EAMlD,OAAO,MALW,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,YAAa,CAAgB,CAAC,CACzD,CAAC,GACU,KAAK,CACpB,CAEA,eAAsB,GAAiB,EAAiD,CACpF,IAAM,EAAM,EAAW,sBAAsB,GAAY,EAEzD,OAAO,MADW,MAAM,EAAK,CAAE,OAAQ,QAAS,CAAC,GACtC,KAAK,CACpB,CAEA,SAAgB,GAAyB,EAA4B,CACjE,OAAO,EAAW,sBAAsB,EAAW,UAAU,CACjE,CAEA,eAAsB,IAAsC,CACxD,IAAM,EAAM,EAAW,kBAAkB,EACnC,EAAM,MAAM,MAAM,CAAG,EAC3B,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CAEA,eAAsB,GAAgB,EAAgD,CAClF,IAAM,EAAM,EAAW,yBAAyB,EAMhD,OAAO,MALW,MAAM,EAAK,CACzB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,IAAK,CAAU,CAAC,CAC3C,CAAC,GACU,KAAK,CACpB,CAIA,eAAsB,IAAwC,CAC1D,IAAM,EAAM,EAAW,aAAa,EAC9B,EAAM,MAAM,MAAM,CAAG,EAC3B,GAAI,CAAC,EAAI,GAAI,CACT,IAAM,EAAO,MAAM,EAAI,KAAK,EAAE,WAAa,CAAE,MAAO,EAAI,UAAW,EAAE,EACrE,MAAU,MAAM,EAAK,OAAS,QAAQ,EAAI,QAAQ,CACtD,CACA,OAAO,EAAI,KAAK,CACpB,CC3OA,IAAM,GAAe,IACf,GAAe,IAoCrB,SAAgB,IAA+B,CAC3C,GAAM,CAAC,EAAQ,IAAA,EAAA,EAAA,UAA4C,IAAI,EACzD,CAAC,EAAQ,IAAA,EAAA,EAAA,UAA4C,IAAI,EACzD,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAK,EACtC,CAAC,EAAO,IAAA,EAAA,EAAA,UAAoC,IAAI,EAEhD,GAAA,EAAA,EAAA,QAAiB,EAAI,EACrB,GAAA,EAAA,EAAA,QAAoB,EAAK,EACzB,GAAA,EAAA,EAAA,QAAyC,IAAI,GAOnD,EAAA,EAAA,eAAgB,CACZ,EAAW,QAAU,CACzB,EAAG,CAAC,CAAO,CAAC,GAEZ,EAAA,EAAA,eAAgB,CACZ,EAAU,QAAU,CACxB,EAAG,CAAC,CAAM,CAAC,EAIX,IAAM,GAAA,EAAA,EAAA,aAAsB,SAAY,CACpC,GAAI,CACA,GAAM,CAAC,EAAG,GAAK,MAAM,QAAQ,IAAI,CAAC,GAAmB,EAAG,GAAmB,CAAC,CAAC,EACzE,EAAQ,UACR,EAAU,CAAC,EACX,EAAU,CAAC,EAEnB,MAAQ,CAER,CACJ,EAAG,CAAC,CAAC,GAQL,EAAA,EAAA,eAAgB,CACZ,EAAQ,QAAU,GAClB,EAAa,EAEb,IAAI,EAEE,MAAa,CACf,EAAa,EAAE,SAAW,CAGtB,GAAI,EAAW,SAAW,EAAQ,QAAS,CACvC,IAAM,EAAI,EAAU,SAChB,GAAG,eAAiB,YAAc,GAAG,eAAiB,UACtD,EAAW,EAAK,CAExB,CACJ,CAAC,EACD,IAAM,EAAW,EAAW,QAAU,GAAe,GACrD,EAAQ,WAAW,EAAM,CAAQ,CACrC,EAIA,MAFA,GAAQ,WAAW,EAAM,EAAY,MAExB,CACT,EAAQ,QAAU,GAClB,aAAa,CAAK,CACtB,CACJ,EAAG,CAAC,CAAO,CAAC,EAOZ,IAAM,GAAA,EAAA,EAAA,aAAqB,KAAO,IAA6B,CAC3D,EAAW,EAAI,EACf,EAAS,IAAI,EAEb,GAAI,CAmBA,MAAM,GAAkB,CAhBpB,QAAS,GACT,eAAgB,EAAK,eACrB,eAAgB,EAAK,eACrB,gBAAiB,EAAK,gBACtB,gBAAiB,EAAK,kBAAoB,kBAAoB,SAAW,EAAK,gBAC9E,YAAa,EAAK,aAAe,IAAA,GACjC,SAAU,EAAK,SACT,EAAK,SACA,MAAM,GAAG,EACT,IAAK,GAAM,EAAE,KAAK,CAAC,EACnB,OAAO,OAAO,EACnB,IAAA,GACN,UAAW,EAIS,CAAS,EAIjC,MAAM,GAAe,CACjB,SAAU,EAAK,cACf,SAAU,EAAK,aACnB,CAAC,CAIL,OAAS,EAAK,CACN,EAAQ,UACR,EAAU,EAAc,SAAW,mBAAmB,EACtD,EAAW,EAAK,EAExB,CACJ,EAAG,CAAC,CAAC,EAIC,GAAA,EAAA,EAAA,aAAuB,SAAY,CACrC,EAAW,EAAI,EACf,EAAS,IAAI,EACb,GAAI,CAEA,MAAM,GAAa,CACvB,OAAS,EAAK,CACN,EAAQ,UACR,EAAU,EAAc,OAAO,EAC/B,EAAW,EAAK,EAExB,CACJ,EAAG,CAAC,CAAC,EAIC,GAAA,EAAA,EAAA,aAA2B,SAAY,CAGzC,MAAM,EAAS,CACnB,EAAG,CAAC,CAAQ,CAAC,EAIP,GAAA,EAAA,EAAA,aAA8B,SAAY,CAC5C,GAAI,CACA,MAAM,GAAY,EACd,EAAQ,SACR,EAAa,CAErB,OAAS,EAAK,CACN,EAAQ,SACR,EAAU,EAAc,OAAO,CAEvC,CACJ,EAAG,CAAC,CAAO,CAAC,EAIN,GAAA,EAAA,EAAA,aAA2B,SAAY,CACzC,GAAI,CACA,MAAM,GAAc,EAKhB,EAAQ,SACR,EAAa,CAErB,OAAS,EAAK,CACN,EAAQ,SACR,EAAU,EAAc,OAAO,CAEvC,CACJ,EAAG,CAAC,CAAO,CAAC,EAyBZ,MAAO,CACH,SACA,SACA,UACA,QACA,SACA,WACA,eACA,kBACA,cAAA,EAAA,EAAA,aA9B6B,SAAY,CACzC,EAAW,EAAI,EACf,EAAS,IAAI,EACb,GAAI,CACA,MAAM,GAAoB,EACtB,EAAQ,UACR,EAAU,IAAI,EACd,EAAU,IAAI,EACd,EAAa,EAErB,OAAS,EAAK,CACN,EAAQ,SACR,EAAU,EAAc,OAAO,CAEvC,QAAU,CACF,EAAQ,SACR,EAAW,EAAK,CAExB,CACJ,EAAG,CAAC,CAAO,CAWP,EACA,UACA,cACJ,CACJ,CC9PA,SAAS,IAAY,CACjB,OACI,EAAA,EAAA,MAAC,MAAD,CACI,MAAO,CACH,SAAU,IACV,OAAQ,YACR,QAAS,cACT,WAAY,oDACZ,aAAc,GACd,OAAQ,oBACR,UAAW,QACf,WATJ,EAWI,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,SAAU,GAAI,aAAc,EAAG,WAAG,IAAO,CAAA,GACvD,EAAA,EAAA,KAAC,KAAD,CACI,MAAO,CACH,OAAQ,cACR,SAAU,UACV,WAAY,IACZ,MAAO,SACX,WACH,4BAEG,CAAA,GACJ,EAAA,EAAA,KAAC,IAAD,CACI,MAAO,CACH,OAAQ,cACR,MAAO,UACP,WAAY,IACZ,SAAU,SACd,WACH,0IAGE,CAAA,GAEH,EAAA,EAAA,KAAC,MAAD,CACI,MAAO,CACH,QAAS,OACT,cAAe,SACf,IAAK,EACL,WAAY,SACZ,aAAc,QAClB,WAEC,CACG,yCACA,gCACA,wCACA,4BACJ,EAAE,IAAK,IACH,EAAA,EAAA,MAAC,MAAD,CAEI,MAAO,CACH,QAAS,OACT,WAAY,SACZ,IAAK,EACL,SAAU,SACV,MAAO,SACX,WARJ,EAUI,EAAA,EAAA,KAAC,OAAD,CAAM,MAAO,CAAE,MAAO,SAAU,WAAG,GAAO,CAAA,EACzC,CACA,GAXI,CAWJ,CACR,CACA,CAAA,GAEL,EAAA,EAAA,MAAC,MAAD,CACI,MAAO,CACH,QAAS,kBACT,WAAY,UACZ,aAAc,EACd,OAAQ,oBACR,MAAO,UACP,SAAU,UACV,WAAY,GAChB,WATJ,CAUC,8BAC6B,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,cAAoB,CAAA,EAAC,QAAI,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,OAAa,CAAA,EAAC,WAChF,GACJ,GAEb,CAIA,SAAgB,GAAW,CAAE,eAAgC,CAMzD,OAJI,IAAgB,YACT,EAAA,EAAA,KAAC,GAAD,CAAY,CAAA,GAGhB,EAAA,EAAA,KAAC,GAAD,CAAoB,CAAA,CAC/B,CAGA,SAAS,IAAoB,CACzB,GAAM,CAAE,SAAQ,SAAQ,UAAS,QAAO,SAAQ,WAAU,kBAAiB,eAAc,gBAAiB,GAAW,EAG/G,CAAC,EAAa,IAAA,EAAA,EAAA,UAA+C,IAAI,GACvE,EAAA,EAAA,eAAgB,CACZ,GAAiB,EACZ,KAAK,CAAc,EACnB,UAAY,CAAC,CAAC,CACvB,EAAG,CAAC,CAAC,EAIL,IAAM,EAAmB,GAAQ,kBAAoB,eAG/C,EAAc,GAAQ,YACtB,CACI,QAAS,EAAO,YAAY,QAC5B,OAAQ,EAAO,YAAY,OAC3B,WAAY,EAAO,YAAY,WAC/B,UAAW,IAAI,KAAK,EAAO,YAAY,SAAS,EAChD,SAAU,IAAI,KAAK,EAAO,YAAY,QAAQ,EAC9C,eAAgB,EAAO,YAAY,eACnC,SAAU,EAAO,YAAY,QACjC,EACA,KAKA,EAAoB,GAAQ,kBAC5B,CACI,MAAO,EAAO,kBAAkB,MAChC,YAAa,EAAO,kBAAkB,YAAc,IAAI,KAAK,EAAO,kBAAkB,WAAW,EAAI,KACrG,UAAW,EAAO,kBAAkB,UACpC,YAAa,EAAO,kBAAkB,WAC1C,EACA,KACA,EAAsB,GAAQ,oBAC9B,CACI,OAAQ,EAAO,oBAAoB,OACnC,YAAa,EAAO,oBAAoB,YACxC,SAAU,EAAO,oBAAoB,QACzC,EACA,KAKA,EAAiB,GAAa,gBAAkB,mCAChD,EAAkB,EAAc,GAAG,EAAY,KAAO,wBACtD,EAAc,EACd,OAAO,EAAY,GAAG,KAAK,EAAY,MAAM,EAAY,SAAW,MAAM,EAAY,WAAa,KAAK,EAAY,QAAU,MAAM,EAAY,UAAY,KAC5J,yBACA,EAAW,GAAa,KAAK,KAAK,IAAI,GAAK,GAC3C,EAAc,GAAa,IAAI,KAAK,IAAI,GAAK,GAE7C,EAAkD,EAClD,CACI,eAAgB,EAAO,eACvB,iBACA,kBACA,gBAAiB,EAAO,gBACxB,YAAa,EAAO,aAAe,EACnC,SAAU,EAAO,UAAU,KAAK,IAAI,GAAK,EACzC,aACJ,EACA,CACI,kBACA,iBACA,gBAAiB,SACjB,cACA,WACA,aACJ,EAMN,OACI,EAAA,EAAA,KAAC,GAAD,CACsB,mBAClB,aAAc,GAAQ,aAAgB,EAAO,aAAuB,IAAA,GACpE,SAAU,EACV,UAAW,EACS,qBACJ,eAAA,CATiC,kBAAmB,iBAAkB,iBAStE,EAChB,gBAAiB,EACJ,cACb,cACI,GAAQ,oBACF,CACI,WAAY,GACZ,WAAY,EAAO,kBACnB,YAAa,EAAO,cAAgB,IAAI,KAAK,EAAO,aAAa,EAAI,KACrE,SAAU,EACd,EACA,IAAA,GAEV,kBAAmB,EACnB,WAAY,EACZ,eAAgB,EAChB,gBAAiB,EACE,oBACE,qBACxB,CAAA,CAET,CC9LA,SAAS,GAAS,EAAqB,CACnC,OAAO,EACF,MAAM,SAAS,EACf,IAAK,GAAM,EAAE,KAAK,CAAC,EACnB,OAAO,OAAO,CACvB,CAGA,SAAS,GAAsB,EAAiD,CAC5E,MAAO,CACH,YAAa,GAAiB,CAC1B,GAAI,EAAE,IAAM,GACZ,EAAG,EAAE,KAAO,GACZ,GAAI,GACJ,EAAG,EAAE,UAAY,GACjB,GAAI,EAAE,OAAS,GACf,EAAG,EAAE,SAAW,EACpB,CAAC,EACD,eAAgB,EAAE,gBAAkB,GACpC,UAAW,EAAE,KAAO,CAAC,GAAG,KAAK,IAAI,EACjC,aAAc,EAAE,IAAM,CAAC,GAAG,KAAK,IAAI,CACvC,CACJ,CAMA,IAAM,GAAY,GACd,0EACI,EAAS,mCAAqC,gDAGhD,GAAc,GAAsC,CACtD,OAAQ,EAAR,CACI,IAAK,KACD,MAAO,+CACX,IAAK,UACD,MAAO,kDACX,IAAK,QACD,MAAO,wCACf,CACJ,EAEM,GAAgB,GAAuC,IAAU,KAAO,IAAM,IAAU,UAAY,KAAO,IAIjH,SAAS,GAAiB,CAAE,QAAO,cAAwE,CAsBvG,OACI,EAAA,EAAA,MAAC,QAAD,CAAO,UAAU,0PAAjB,EACI,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,wBACV,KAAK,OACL,QAAQ,YACR,OAAO,eACP,YAAa,EACb,KAAK,MACL,aAAW,kBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,QAAa,CAAA,GACpB,EAAA,EAAA,KAAC,OAAD,CACI,cAAc,QACd,eAAe,QACf,EAAE,gEACL,CAAA,CACA,IACJ,GACD,EAAA,EAAA,KAAC,QAAD,CAAO,KAAK,OAAO,UAAU,SAAS,OAAO,sBAAsB,SAxCvD,GAA2C,CAC3D,IAAM,EAAO,EAAE,OAAO,QAAQ,GAC9B,GAAI,CAAC,EAAM,OACX,IAAM,EAAS,IAAI,WAEf,EAAK,KAAK,SAAS,MAAM,GAAK,EAAK,KAAK,SAAS,MAAM,GAAK,EAAK,KAAK,SAAS,MAAM,GACrF,EAAO,WAAe,EAAW,EAAO,MAAgB,EACxD,EAAO,WAAW,CAAI,IAGtB,EAAO,WAAe,CAClB,IAAM,EAAc,EAAO,OACrB,EAAQ,IAAI,WAAW,CAAW,EACpC,EAAS,GACb,IAAK,IAAM,KAAK,EAAO,GAAU,OAAO,aAAa,CAAC,EACtD,EAAW,KAAK,CAAM,CAAC,CAC3B,EACA,EAAO,kBAAkB,CAAI,EAErC,CAqBkG,CAAA,CACvF,GAEf,CAIA,SAAS,GAAoB,CACzB,QACA,eACA,YACA,YACA,mBACA,QACA,YAAY,KASb,CACC,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAK,EACtC,GAAA,EAAA,EAAA,QAAwD,IAAI,EAmBlE,OANA,EAAA,EAAA,mBACiB,CACL,EAAS,SAAS,aAAa,EAAS,OAAO,CACvD,EACD,CAAC,CAAC,GAGD,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YApBkB,CAClB,GACI,EAAS,SAAS,aAAa,EAAS,OAAO,EACnD,EAAW,EAAK,EAChB,EAAU,IAEV,EAAW,EAAI,EACf,EAAS,QAAU,eAAiB,EAAW,EAAK,EAAG,CAAS,EAExE,EAYQ,UACI,EACO,GACD,+GACA,EAEV,MAAO,EAAU,yBAA2B,WAE3C,EAAW,GAAgB,WAAc,CACtC,CAAA,CAEhB,CAIA,SAAS,GAAoB,EAAsB,CAC/C,IAAM,EAAU,KAAK,IAAI,CAAI,EAC7B,GAAI,EAAU,IAAK,MAAO,GAAG,EAAQ,GACrC,IAAM,EAAQ,KAAK,MAAM,EAAU,GAAG,EAChC,EAAM,EAAU,IACtB,OAAO,EAAM,EAAI,GAAG,EAAM,IAAI,EAAI,GAAK,GAAG,EAAM,EACpD,CAKA,SAAS,GAAoB,EAAkD,CAC3E,IAAM,EAAK,GAAa,EAAS,YAAY,EACvC,EAAM,GAAa,EAAS,kBAAkB,EAC9C,EAAM,GAAa,EAAS,cAAc,EAC1C,EAAU,GAAa,EAAS,aAAa,EAE7C,EAAwB,CAAC,EAK/B,OAJI,IAAQ,KAAK,EAAY,KAAK,CAAG,EACjC,IAAQ,KAAK,EAAY,KAAK,CAAG,EACjC,IAAY,KAAK,EAAY,KAAK,CAAO,EAEtC,CACH,GAAI,IAAO,IAAW,EAAQ,MAAM,EAAG,EAAE,EAAxB,EACjB,QAAS,EAAY,KAAK,KAAK,CACnC,CACJ,CAEA,SAAS,GAAiB,CACtB,QACA,UACA,eACA,QACA,gBAOD,CACC,GAAM,CAAC,EAAY,IAAA,EAAA,EAAA,UAAyC,IAAI,EAEhE,GAAI,EAAM,SAAW,EACjB,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kDAA0C,GAAgB,wBAA8B,CAAA,EAGlH,IAAM,EAAc,GACZ,GAAQ,EAAU,IAClB,GAAQ,GAAW,KACnB,GAAQ,GAAW,KAChB,IAGX,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,8DACX,EAAA,EAAA,MAAC,QAAD,CAAO,UAAU,uDAAjB,EACI,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,uBACb,EAAA,EAAA,MAAC,KAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,iGAAwF,GAAK,CAAA,GAC3G,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,0FAAiF,aAE3F,CAAA,GACJ,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,0FAAiF,SAAW,CAAA,GAC1G,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,0FAAiF,YAE3F,CAAA,GACJ,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,2FAAkF,SAAW,CAAA,CAC3G,CAAA,CAAA,CACD,CAAA,GACP,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,6CACZ,EAAM,IAAK,GAAS,CACjB,IAAM,EAAU,EAAK,eAAiB,EAChC,EAAW,EAAK,cAAgB,GAAK,EAAK,eAAiB,GAC3D,CAAE,KAAI,WAAY,GAAoB,EAAK,OAAO,EAClD,EAAa,IAAe,EAAK,WACjC,EAAa,EAAe,EAAa,CAAI,EAAI,GACvD,OACI,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,MAAC,KAAD,CAEI,UAAW,oCAAoC,EAAU,6BAA+B,EAAW,mCAAqC,mBAAmB,GAAG,IAC9J,YAAe,EAAc,EAAa,KAAO,EAAK,UAAU,EAChE,MAAM,mCAJV,EAMI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,2CAAmC,EAAW,EAAK,aAAa,CAAM,CAAA,GACpF,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,sBACV,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qCAA6B,CAAQ,CAAA,EACnD,IAAW,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,wCAAgC,CAAa,CAAA,CACvE,CAAA,CAAA,EACJ,IAAQ,CAAI,CACZ,GACL,CAAA,GACJ,EAAA,EAAA,MAAC,KAAD,CAAI,UAAU,qDAAd,EACI,EAAA,EAAA,KAAC,MAAD,CAAA,SAAM,IAAI,KAAK,EAAK,OAAO,EAAE,mBAAmB,CAAO,CAAA,EACtD,IACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4CAAf,CAAkD,WACrC,GAAoB,EAAK,aAAa,EAAE,MAChD,IAER,IAAY,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,CAA0C,EAAK,cAAc,QAAW,IACpF,CAAC,GAAW,CAAC,IACV,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kCAAf,CACK,GAAoB,EAAK,aAAa,EAAE,YACxC,GAET,KACJ,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,sBACV,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,4EAAhB,CACK,EAAK,WAAW,MAAM,EAAG,EAAE,EAAE,GAC5B,GACN,CAAA,GACJ,EAAA,EAAA,KAAC,KAAD,CACI,UAAU,uBACV,QAAU,GAAM,EAAE,gBAAgB,EAClC,UAAY,GAAM,EACV,EAAE,MAAQ,SAAW,EAAE,MAAQ,MAAK,EAAE,gBAAgB,CAC9D,WAEC,EAAQ,CAAI,CACb,CAAA,CACJ,GA3CK,EAAK,UA2CV,EACH,IACG,EAAA,EAAA,KAAC,KAAD,CAAsC,UAAU,uBAC5C,EAAA,EAAA,KAAC,KAAD,CAAI,QAAS,EAAG,UAAU,sBACtB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,8DAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yDAAgD,SAAa,CAAA,GAC7E,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kDAA0C,EAAK,OAAa,CAAA,CAC1E,CAAA,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yDAAgD,QAAY,CAAA,GAC5E,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kDAA0C,EAAK,MAAY,CAAA,CACzE,CAAA,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yDAAgD,eAE1D,CAAA,GACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kDACV,EAAK,YACL,CAAA,CACJ,CAAA,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yDAAgD,UAAc,CAAA,GAC9E,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,wCAAf,CAA+C,EAAK,QAAQ,OAAU,GACrE,CAAA,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yDAAgD,YAE1D,CAAA,GACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,wCACV,IAAI,KAAK,EAAK,SAAS,EAAE,eAAe,CACxC,CAAA,CACJ,CAAA,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yDAAgD,UAAc,CAAA,GAC9E,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,wCACV,IAAI,KAAK,EAAK,OAAO,EAAE,eAAe,CACtC,CAAA,CACJ,CAAA,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sBAAf,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yDAAgD,oBAE1D,CAAA,GACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kDAA0C,EAAK,UAAgB,CAAA,CAC7E,KACL,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yDAAgD,aAE1D,CAAA,GACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,0BAAkB,EAAK,WAAa,MAAQ,IAAU,CAAA,CACpE,CAAA,CAAA,CACJ,GACL,CAAA,CACJ,EAnDK,GAAG,EAAK,WAAW,QAmDxB,CAEV,CAAA,CAAA,CAEV,CAAC,CACE,CAAA,CACJ,GACN,CAAA,CAEb,CAMA,SAAS,IAAoB,CACzB,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAAwC,IAAI,EACnD,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAI,EACrC,CAAC,EAAS,IAAA,EAAA,EAAA,UAAoF,IAAI,EAClG,CAAC,EAAgB,IAAA,EAAA,EAAA,UAA8B,EAAK,EACpD,CAAC,EAAS,IAAA,EAAA,EAAA,UAAgC,MAAM,EAChD,CAAC,EAAY,IAAA,EAAA,EAAA,UAAyC,IAAI,EAC1D,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA+B,EAAK,EACtD,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA8C,IAAI,EACpE,CAAC,EAAa,IAAA,EAAA,EAAA,UAA+C,IAAI,EACjE,CAAC,EAAY,IAAA,EAAA,EAAA,UAA0B,EAAK,EAE5C,GAAA,EAAA,EAAA,aACK,EAAc,GAAsB,CAAW,EAAI,IAAA,GAC1D,CAAC,CAAW,CAChB,EAEM,GAAA,EAAA,EAAA,cAAsB,EAAc,EAAqC,SAAW,EAAW,CAAE,OAAM,MAAK,CAAC,EAAG,CAAC,CAAC,EAElH,GAAA,EAAA,EAAA,aAAmB,SAAY,CACjC,EAAW,EAAI,EACf,GAAI,CACA,EAAQ,MAAM,GAAoB,CAAC,CACvC,OAAS,EAAK,CAEV,EAAO,oCADQ,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,IACT,OAAO,EAC5D,QAAQ,MAAM,oCAAqC,CAAG,CAC1D,CACA,EAAW,EAAK,CACpB,EAAG,CAAC,CAAM,CAAC,GAEX,EAAA,EAAA,eAAgB,CACZ,EAAK,CACT,EAAG,CAAC,CAAI,CAAC,GAGT,EAAA,EAAA,eAAgB,CACZ,GAAmB,EACd,KAAM,GAAM,CACT,EAAmB,EAAE,mBAAqB,UAAU,EACpD,EAAmB,EAAE,QAAQ,gBAAkB,IAAI,CACvD,CAAC,EACA,UAAY,CAEb,CAAC,CACT,EAAG,CAAC,CAAC,GAGL,EAAA,EAAA,eAAgB,CACZ,GAAiB,EACZ,KAAK,CAAc,EACnB,MAAO,GAAQ,QAAQ,MAAM,iCAAkC,CAAG,CAAC,CAC5E,EAAG,CAAC,CAAC,EAEL,IAAM,EAAY,CACd,KAAM,2CACN,QAAS,8CACT,MAAO,uCACX,EAEM,MAAoB,CACtB,EAAkB,EAAI,CAC1B,EAIM,OAAyB,CAC3B,EAAW,YAAY,EACvB,EAAc,IAAI,CACtB,EAEM,GAAoB,MAAO,EAAiB,EAAkB,EAAmB,EAAe,IAAiB,CACnH,EAAc,EAAI,EAClB,GAAI,CAEA,EAAc,MADK,GAAU,CAAE,UAAS,MAAK,IAAG,CAAC,CAC/B,EAClB,EAAW,YAAY,CAC3B,OAAS,EAAK,CACV,EAAO,2BAA2B,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,IAAK,OAAO,CACjG,QAAU,CACN,EAAc,EAAK,CACvB,CACJ,EAEM,MAAoB,CACtB,GAAI,CAAC,EAAY,OACjB,IAAM,EAAO,IAAI,KAAK,CAAC,CAAU,EAAG,CAAE,KAAM,YAAa,CAAC,EACpD,EAAM,IAAI,gBAAgB,CAAI,EAC9B,EAAI,SAAS,cAAc,GAAG,EACpC,EAAE,KAAO,EACT,EAAE,SAAW,0BACb,EAAE,MAAM,EACR,IAAI,gBAAgB,CAAG,CAC3B,EAEM,GAAqB,KAAO,IAAoB,CAClD,GAAI,CACA,MAAM,GAAiB,CAAO,EAC9B,EAAO,6CAA8C,SAAS,EAC9D,EAAW,MAAM,EACjB,MAAM,EAAK,CACf,MAAQ,CACJ,EAAO,sCAAuC,OAAO,CACzD,CACJ,EAEM,GAA+B,KAAO,IAAoB,CAC5D,GAAI,CACA,MAAM,GAAiB,CAAO,EAC9B,EAAO,6CAA8C,SAAS,CAClE,MAAQ,CACJ,EAAO,sCAAuC,OAAO,CACzD,CACJ,EAEM,GAA4B,KAAO,IAAoB,CACzD,GAAI,CACA,MAAM,GAAgB,CAAO,EAC7B,EAAO,4BAA6B,SAAS,CACjD,MAAQ,CACJ,EAAO,uBAAwB,OAAO,CAC1C,CACJ,EAEM,CAAC,GAAgB,KAAA,EAAA,EAAA,UAA8B,EAAK,EACpD,IAAA,EAAA,EAAA,QACF,IACJ,EAEM,GAAe,MAAO,EAAiB,EAAiB,EAAkB,EAAe,IAAiB,CAC5G,GAAI,GAAQ,CAAC,GAAgB,CACzB,GAAiB,QAAU,CAAE,UAAS,UAAS,WAAU,MAAK,IAAG,EACjE,GAAkB,EAAI,EACtB,MACJ,CACA,GAAkB,EAAK,EACvB,GAAiB,QAAU,KAC3B,EAAc,EAAI,EAClB,GAAI,CACA,MAAM,GAAqB,CACvB,UACA,MACA,KACA,UACA,UACJ,CAAC,EACD,EAAO,+CAAgD,SAAS,EAChE,EAAkB,EAAK,EACvB,MAAM,EAAK,CACf,OAAS,EAAK,CACV,EAAO,iCAAiC,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,IAAK,OAAO,CACvG,QAAU,CACN,EAAc,EAAK,CACvB,CACJ,EAEM,EAAuB,SAAY,CACrC,GAAI,CAAC,GAAiB,QAAS,OAC/B,GAAM,CAAE,UAAS,UAAS,WAAU,MAAK,MAAO,GAAiB,QACjE,GAAkB,EAAK,EACvB,GAAiB,QAAU,KAC3B,EAAc,EAAI,EAClB,GAAI,CACA,MAAM,GAAqB,CAAE,UAAS,MAAK,KAAI,UAAS,UAAS,CAAC,EAClE,EAAO,+CAAgD,SAAS,EAChE,EAAkB,EAAK,EACvB,MAAM,EAAK,CACf,OAAS,EAAK,CACV,EAAO,iCAAiC,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,IAAK,OAAO,CACvG,QAAU,CACN,EAAc,EAAK,CACvB,CACJ,EAEA,GAAI,EAAS,OAAO,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,0CAAiC,UAAW,CAAA,EAG7E,IAAM,EAAe,CAAC,mBAAoB,aAAc,gBAAiB,eAAe,EAClF,GAAe,CAAE,aAAc,EAAG,aAAc,EAAG,eAAgB,EAAG,eAAgB,EAAG,KAAM,EAAG,KAAM,EAAG,EAEjH,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,CACK,IACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,yEAAyE,EAAU,EAAQ,iBAA3G,EACI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAO,EAAQ,IAAW,CAAA,GAC1B,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAW,IAAI,EAAG,UAAU,uDAA8C,GAEvG,CAAA,CACP,IAGR,KACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6HAAf,EACI,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,0GAEA,CAAA,GACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2BAAf,EACI,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,gHACb,qBAEO,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,CACX,GAAkB,EAAK,EACvB,GAAiB,QAAU,IAC/B,EACA,UAAU,oIACb,QAEO,CAAA,CACP,GACJ,IAIR,GACG,EAAA,EAAA,KAAC,GAAD,CACI,OAAQ,GAAM,OAAS,QAAU,SACjC,SAAU,EACV,eAAgB,CAAC,gBAAgB,EACrB,aACZ,aAAgB,EAAkB,EAAK,EACvC,SAAW,GACP,GAAa,EAAE,YAAa,EAAE,QAAS,EAAE,aAAc,GAAS,EAAE,QAAQ,EAAG,GAAS,EAAE,WAAW,CAAC,CAE3G,CAAA,EACD,IAAY,cAEZ,EAAA,EAAA,KAAC,GAAD,CACI,SAAU,EACV,eAAgB,CAAC,gBAAgB,EACrB,aACZ,aAAgB,EAAW,MAAM,EACjC,SAAW,GACP,GAAkB,EAAE,YAAa,KAAM,EAAG,GAAS,EAAE,QAAQ,EAAG,GAAS,EAAE,WAAW,CAAC,CAE9F,CAAA,EACD,IAAY,QAAU,IAAY,QAElC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uEAAf,EAEI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2FAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,+CAAsC,wBAA0B,CAAA,GAC9E,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAW,MAAM,EAChC,UAAU,oIACb,UAEO,CAAA,CACP,KACL,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,sCAA6B,yEAEvC,CAAA,CACF,KAGL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+EACV,EAAa,KAAK,EAAM,IAAM,CAC3B,IAAM,EAAU,GAAa,GACvB,EAAO,EAAI,EACX,EAAS,IAAM,EACrB,OACI,EAAA,EAAA,MAAC,MAAD,CAAgB,UAAU,4CAA1B,EACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW;0CACT,EAAO,6CAA+C,EAAS,uDAAyD,uDAEzH,EAAO,IAAM,EAAI,CACjB,CAAA,GACL,EAAA,EAAA,KAAC,OAAD,CACI,UAAW,4BAA4B,EAAS,gCAAkC,EAAO,kBAAoB,2BAE5G,CACC,CAAA,EACL,EAAI,EAAa,OAAS,IACvB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,qBAAqB,EAAO,gBAAkB,eAAkB,CAAA,CAEnF,GAfK,CAeL,CAEb,CAAC,CACA,CAAA,GAGL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,CACK,IAAY,eACT,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mHAAf,EACI,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,uCACV,KAAK,OACL,QAAQ,YACR,OAAO,eACP,YAAa,EACb,KAAK,MACL,aAAW,mBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,SAAc,CAAA,GACrB,EAAA,EAAA,KAAC,OAAD,CACI,cAAc,QACd,eAAe,QACf,EAAE,+CACL,CAAA,CACA,IAAC,mFAEL,KACL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sBAAf,EACI,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,wHACb,iBAEO,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAW,cAAc,EACxC,UAAU,uHACb,QAEO,CAAA,CACP,GACJ,IAGR,IAAY,iBACT,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,iCAAb,EACI,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,WAAiB,CAAA,EAAC,kIAE3B,KACH,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gCAAf,EACI,EAAA,EAAA,KAAC,GAAD,CAAkB,MAAM,wBAAwB,WAAY,EAA+B,CAAA,GAC3F,EAAA,EAAA,KAAC,GAAD,CAAkB,MAAM,aAAa,WAAY,EAA4B,CAAA,CAC5E,KACL,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAW,cAAc,EACxC,UAAU,uHACb,eAEO,CAAA,CACP,IAGR,IAAY,iBACT,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,iCAAwB,+GAGlC,CAAA,GACH,EAAA,EAAA,KAAC,GAAD,CAAkB,MAAM,4BAA4B,WAAY,EAAqB,CAAA,CACpF,GAER,GACJ,IACL,GAAM,QACN,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,GAAD,CACU,OACN,UAAW,EAAK,UAChB,uBAA0B,EAAO,qBAAsB,SAAS,CACnE,CAAA,GAGD,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qCAAf,EAEI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,iDAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,4EAAmE,QAAU,CAAA,GAC3F,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sBAAf,EACI,EAAA,EAAA,KAAC,IAAD,CACI,KAAM,GAAiB,EACvB,SAAA,GACA,UAAU,wJACb,QAEE,CAAA,GACH,EAAA,EAAA,KAAC,IAAD,CACI,KAAM,GAAiB,EACvB,SAAA,GACA,UAAU,wJACb,QAEE,CAAA,CACF,GACJ,IAGJ,GACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,8DAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,4EAAmE,wBAE7E,CAAA,GACJ,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yCACX,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,4GAAmG,mBAE7G,CAAA,CACL,CAAA,EACJ,IACG,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,gDAAgD,MAAO,WAC/D,CACF,CAAA,GAEP,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,iCAAwB,kEAElC,CAAA,CACF,KAEL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,iDAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,4EAAmE,eAAiB,CAAA,GAClG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sBAAf,EACI,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,oJACb,UAEO,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,GACT,UAAU,oJACb,gBAEO,CAAA,CACP,GACJ,GAER,GACP,CAAA,CAAA,GAEF,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uFAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,oBAAW,IAAO,CAAA,GACjC,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,yBAAgB,2EAA4E,CAAA,GACzG,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAkB,EAAI,EACrC,UAAU,oGACb,gCAEO,CAAA,EACP,GAAM,YACH,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,2CAA2C,MAAO,EAAK,mBAApE,CAA+E,MACvE,EAAK,SACV,GAEN,GAER,GAEb,CAGA,SAAS,GAAa,EAAiB,EAA2B,CAC9D,IAAM,EAAS,OAAO,GAAG,EAAU,SAAS,EACtC,EAAQ,EAAQ,MAAM,CAAE,EAC9B,OAAO,EAAQ,EAAM,GAAG,KAAK,EAAI,GACrC,CAIA,SAAS,IAAkB,CACvB,GAAM,CAAC,EAAO,IAAA,EAAA,EAAA,UAAiC,CAAC,CAAC,EAC3C,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAI,EACrC,CAAC,EAAS,IAAA,EAAA,EAAA,UAAsC,IAAI,EAEpD,GAAA,EAAA,EAAA,aAAmB,SAAY,CACjC,EAAW,EAAI,EACf,GAAI,CACA,EAAS,MAAM,GAAkB,CAAC,CACtC,OAAS,EAAK,CAEV,EAAW,wCADI,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,GACH,CAC/D,CACA,EAAW,EAAK,CACpB,EAAG,CAAC,CAAC,GAEL,EAAA,EAAA,eAAgB,CACZ,EAAK,CACT,EAAG,CAAC,CAAI,CAAC,EAET,IAAM,EAAe,KAAO,IAAuB,CAC/C,MAAM,GAAkB,CAAU,EAClC,EAAW,+BAA+B,EAC1C,MAAM,EAAK,CACf,EAEM,EAAe,KAAO,IAAuB,CAC/C,MAAM,GAAkB,CAAU,EAClC,EAAW,qBAAqB,EAChC,MAAM,EAAK,CACf,EAUA,OAFI,GAAgB,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,0CAAiC,UAAW,CAAA,GAGzE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,CACK,IACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2FAAf,CACK,GACD,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAW,IAAI,EAAG,UAAU,iCAAwB,GAEjF,CAAA,CACP,KAET,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,+CAAsC,wBAA0B,CAAA,GAC9E,EAAA,EAAA,KAAC,GAAD,CAAkB,MAAM,SAAS,WAAY,KApB7B,IAAoB,CAC5C,MAAM,GAAkB,CAAO,EAC/B,EAAW,8BAA8B,EACzC,MAAM,EAAK,CACf,CAgBwE,CAAA,CAC3D,KACL,EAAA,EAAA,KAAC,GAAD,CACW,QACP,QAAU,IACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kCAAf,EACI,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,WACN,aAAa,oBACb,cAAiB,EAAa,EAAK,UAAU,EAC7C,UAAU,mGACV,MAAM,kBACT,CAAA,GACD,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,MACN,aAAa,eACb,cAAiB,EAAa,EAAK,UAAU,EAC7C,UAAU,sGACV,MAAM,oBACT,CAAA,CACA,GAEZ,CAAA,CACA,GAEb,CAIA,SAAS,IAAmB,CACxB,GAAM,CAAC,EAAO,IAAA,EAAA,EAAA,UAAiC,CAAC,CAAC,EAC3C,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAI,EACrC,CAAC,EAAS,IAAA,EAAA,EAAA,UAAsC,IAAI,EAEpD,GAAA,EAAA,EAAA,aAAmB,SAAY,CACjC,EAAW,EAAI,EACf,GAAI,CACA,EAAS,MAAM,GAAmB,CAAC,CACvC,OAAS,EAAK,CAEV,EAAW,yCADI,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,GACF,CAChE,CACA,EAAW,EAAK,CACpB,EAAG,CAAC,CAAC,GAEL,EAAA,EAAA,eAAgB,CACZ,EAAK,CACT,EAAG,CAAC,CAAI,CAAC,EAET,IAAM,EAAc,KAAO,IAAuB,CAC9C,MAAM,GAAkB,CAAU,EAClC,EAAW,8BAA8B,EACzC,MAAM,EAAK,CACf,EAEM,EAAe,KAAO,IAAuB,CAC/C,MAAM,GAAmB,CAAU,EACnC,EAAW,qBAAqB,EAChC,MAAM,EAAK,CACf,EAIA,OAFI,GAAgB,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,0CAAiC,UAAW,CAAA,GAGzE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,CACK,IACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2FAAf,CACK,GACD,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAW,IAAI,EAAG,UAAU,iCAAwB,GAEjF,CAAA,CACP,KAET,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,+CAAsC,yBAA2B,CAAA,GAC/E,EAAA,EAAA,KAAC,GAAD,CACW,QACP,QAAU,IACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kCAAf,EACI,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,UACN,aAAa,mBACb,cAAiB,EAAY,EAAK,UAAU,EAC5C,UAAU,yGACV,iBAAiB,mHACjB,MAAM,iBACT,CAAA,GACD,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,MACN,aAAa,eACb,cAAiB,EAAa,EAAK,UAAU,EAC7C,UAAU,sGACV,MAAM,oBACT,CAAA,CACA,GAEZ,CAAA,CACA,GAEb,CAIA,SAAS,IAAa,CAClB,GAAM,CAAC,EAAO,IAAA,EAAA,EAAA,UAAiC,CAAC,CAAC,EAC3C,CAAC,EAAM,IAAA,EAAA,EAAA,UAA+B,CAAC,CAAC,EACxC,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAI,EACrC,CAAC,EAAS,IAAA,EAAA,EAAA,UAAsC,IAAI,EACpD,CAAC,EAAW,IAAA,EAAA,EAAA,UAAwC,IAAI,EAExD,GAAA,EAAA,EAAA,aAAmB,SAAY,CACjC,EAAW,EAAI,EACf,GAAI,CACA,GAAM,CAAC,EAAG,EAAG,GAAW,MAAM,QAAQ,IAAI,CAAC,GAAiB,EAAG,GAAgB,EAAG,GAAoB,CAAC,CAAC,EACxG,EAAS,CAAC,EACV,EAAQ,CAAC,EACL,GAAS,QAAU,CAAC,EAAQ,WAC5B,EAAa,EAAQ,MAAM,EAE3B,EAAa,IAAI,CAEzB,OAAS,EAAK,CAEV,EAAW,2BADI,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,GAChB,CAClD,CACA,EAAW,EAAK,CACpB,EAAG,CAAC,CAAC,GAEL,EAAA,EAAA,eAAgB,CACZ,EAAK,CACT,EAAG,CAAC,CAAI,CAAC,EAET,IAAM,EAAmB,KAAO,IAAoB,CAChD,MAAM,GAAiB,CAAO,EAC9B,EAAW,0BAA0B,EACrC,MAAM,EAAK,CACf,EAEM,EAAkB,KAAO,IAAoB,CAC/C,MAAM,GAAgB,CAAO,EAC7B,EAAW,cAAc,EACzB,MAAM,EAAK,CACf,EAEM,EAAmB,KAAO,IAAuB,CACnD,MAAM,GAAiB,CAAU,EACjC,EAAW,4BAA4B,EACvC,MAAM,EAAK,CACf,EAGM,EAAkB,GACf,EACE,EAAK,UAAY,EADD,GAM3B,OAFI,GAAgB,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,0CAAiC,UAAW,CAAA,GAGzE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,CACK,IACG,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2FAAf,CACK,GACD,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAW,IAAI,EAAG,UAAU,iCAAwB,GAEjF,CAAA,CACP,KAIT,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6DAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2FAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,+CAAsC,qBAAuB,CAAA,GAC3E,EAAA,EAAA,KAAC,GAAD,CAAkB,MAAM,iBAAiB,WAAY,CAAmB,CAAA,CACvE,KACL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,gBACX,EAAA,EAAA,KAAC,GAAD,CACW,QACP,cACI,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CAAE,0BAEG,IACG,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,0BAAiB,wDAA4D,CAAA,CAEnG,CAAA,CAAA,EAEN,aAAe,GAAU,EAAe,CAAI,EAAI,qCAAuC,GACvF,MAAQ,GACJ,EAAe,CAAI,GACf,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,kKAAyJ,kBAEnK,CAAA,EACN,KAER,QAAU,IACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kCAAf,EACI,EAAA,EAAA,KAAC,IAAD,CACI,KAAM,GAAyB,EAAK,UAAU,EAC9C,SAAA,GACA,UAAU,4HACV,MAAM,wBACT,YAEE,CAAA,GACH,EAAA,EAAA,KAAC,GAAD,CACI,MAAM,MACN,aAAa,eACb,cAAiB,EAAiB,EAAK,UAAU,EACjD,UAAU,sGACV,MAAM,QACT,CAAA,CACA,GAEZ,CAAA,CACA,CAAA,CACJ,KAGL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6DAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2FAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,+CAAsC,iCAAmC,CAAA,GACvF,EAAA,EAAA,KAAC,GAAD,CAAkB,MAAM,aAAa,WAAY,CAAkB,CAAA,CAClE,KACL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,eACV,EAAK,SAAW,GACb,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oCAAf,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yBAAgB,qBAAyB,CAAA,EACxD,EAAM,OAAS,IACZ,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,0BAAhB,CACK,IAAI,iEAEH,GAET,KAEL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,8DACX,EAAA,EAAA,MAAC,QAAD,CAAO,UAAU,uDAAjB,EACI,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,uBACb,EAAA,EAAA,MAAC,KAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,yFAAgF,UAE1F,CAAA,GACJ,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,0FAAiF,MAE3F,CAAA,CACJ,CAAA,CAAA,CACD,CAAA,GACP,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,oCACZ,EAAK,IAAK,IACP,EAAA,EAAA,MAAC,KAAD,CAAuB,UAAU,4BAAjC,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,qDAA6C,EAAI,QAAa,CAAA,GAC5E,EAAA,EAAA,MAAC,KAAD,CAAI,UAAU,8CAAd,EACM,EAAI,KAAO,MAAM,QAAQ,CAAC,EAAE,KAC9B,GACJ,GALK,EAAI,QAKT,CACP,CACE,CAAA,CACJ,GACN,CAAA,CAER,CAAA,CACJ,GACJ,GAEb,CAIA,SAAS,IAAY,CACjB,GAAM,CAAC,EAAQ,IAAA,EAAA,EAAA,UAAqC,CAAC,CAAC,EAChD,CAAC,EAAW,IAAA,EAAA,EAAA,UAAyB,EAAE,EACvC,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAI,EAErC,GAAA,EAAA,EAAA,aAAmB,SAAY,CACjC,EAAW,EAAI,EACf,GAAI,CACA,IAAM,EAAS,MAAM,GAAe,EACpC,EAAU,EAAO,MAAM,EACvB,EAAa,EAAO,SAAS,CACjC,OAAS,EAAK,CAEV,EAAU,CAAC,CAAE,MAAO,QAAS,QAAS,8BADvB,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,GACe,CAAC,CAAC,CACnF,CACA,EAAW,EAAK,CACpB,EAAG,CAAC,CAAC,EAQL,OANA,EAAA,EAAA,eAAgB,CACZ,EAAK,CACT,EAAG,CAAC,CAAI,CAAC,EAEL,GAAgB,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,0CAAiC,UAAW,CAAA,GAGzE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,+CAAsC,qBAAuB,CAAA,GAC3E,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,+GACb,YAEO,CAAA,CACP,KAEL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qBACV,EAAO,IAAK,IACT,EAAA,EAAA,MAAC,MAAD,CAEI,UAAW,sDAAsD,GAAW,EAAM,KAAK,aAF3F,EAII,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAW,GAAa,EAAM,KAAK,CAAQ,CAAA,GAC3D,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAW,EAAM,OAAc,CAAA,CAC9C,GALI,EAAM,OAKV,CACR,CACA,CAAA,EAEJ,IACG,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,iCAAb,CAAqC,gBACrB,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yCAAiC,CAAgB,CAAA,CAC9E,GAEN,GAEb,CAIA,SAAgB,GAAiB,CAAE,eAAwC,CACvE,GAAM,CAAC,EAAK,IAAA,EAAA,EAAA,UAAwB,KAAK,EAEzC,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gCAAf,EACI,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAO,KAAK,EAAG,UAAW,GAAS,IAAQ,KAAK,WAAG,QAEhF,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAO,SAAS,EAAG,UAAW,GAAS,IAAQ,SAAS,WAAG,WAExF,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAO,UAAU,EAAG,UAAW,GAAS,IAAQ,UAAU,WAAG,YAE1F,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAO,SAAS,EAAG,UAAW,GAAS,IAAQ,SAAS,WAAG,aAExF,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAO,QAAQ,EAAG,UAAW,GAAS,IAAQ,QAAQ,WAAG,WAEtF,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,YAAe,EAAO,KAAK,EAAG,UAAW,GAAS,IAAQ,KAAK,WAAG,QAEhF,CAAA,CACP,IAEJ,IAAQ,QAAS,EAAA,EAAA,KAAC,GAAD,CAAoB,CAAA,EACrC,IAAQ,YAAa,EAAA,EAAA,KAAC,GAAD,CAAkB,CAAA,EACvC,IAAQ,aAAc,EAAA,EAAA,KAAC,GAAD,CAAmB,CAAA,EACzC,IAAQ,YAAa,EAAA,EAAA,KAAC,GAAD,CAAa,CAAA,EAClC,IAAQ,WAAY,EAAA,EAAA,KAAC,GAAD,CAAY,CAAA,EAChC,IAAQ,QAAS,EAAA,EAAA,KAAC,GAAD,CAAyB,aAAc,CAAA,CACxD,GAEb,mBCxuCA,EAAO,QAAU,UAAY,CAC3B,OAAO,OAAO,SAAY,YAAc,QAAQ,WAAa,QAAQ,UAAU,IACjF,eCNA,IAAI,EACE,EAAkB,CACtB,EACA,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC7C,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACtD,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IACxD,EAQA,EAAQ,cAAgB,SAAwB,EAAS,CACvD,GAAI,CAAC,EAAS,MAAU,MAAM,uCAAuC,EACrE,GAAI,EAAU,GAAK,EAAU,GAAI,MAAU,MAAM,2CAA2C,EAC5F,OAAO,EAAU,EAAI,EACvB,EAQA,EAAQ,wBAA0B,SAAkC,EAAS,CAC3E,OAAO,EAAgB,EACzB,EAQA,EAAQ,YAAc,SAAU,EAAM,CACpC,IAAI,EAAQ,EAEZ,KAAO,IAAS,GACd,IACA,KAAU,EAGZ,OAAO,CACT,EAEA,EAAQ,kBAAoB,SAA4B,EAAG,CACzD,GAAI,OAAO,GAAM,WACf,MAAU,MAAM,uCAAuC,EAGzD,EAAiB,CACnB,EAEA,EAAQ,mBAAqB,UAAY,CACvC,OAAc,IAAmB,MACnC,EAEA,EAAQ,OAAS,SAAiB,EAAO,CACvC,OAAO,EAAe,CAAK,CAC7B,eC9DA,EAAQ,EAAI,CAAE,IAAK,CAAE,EACrB,EAAQ,EAAI,CAAE,IAAK,CAAE,EACrB,EAAQ,EAAI,CAAE,IAAK,CAAE,EACrB,EAAQ,EAAI,CAAE,IAAK,CAAE,EAErB,SAAS,EAAY,EAAQ,CAC3B,GAAI,OAAO,GAAW,SACpB,MAAU,MAAM,uBAAuB,EAKzC,OAFc,EAAO,YAET,EAAZ,CACE,IAAK,IACL,IAAK,MACH,OAAO,EAAQ,EAEjB,IAAK,IACL,IAAK,SACH,OAAO,EAAQ,EAEjB,IAAK,IACL,IAAK,WACH,OAAO,EAAQ,EAEjB,IAAK,IACL,IAAK,OACH,OAAO,EAAQ,EAEjB,QACE,MAAU,MAAM,qBAAuB,CAAM,CACjD,CACF,CAEA,EAAQ,QAAU,SAAkB,EAAO,CACzC,OAAO,GAAgB,EAAM,MAAQ,QACnC,EAAM,KAAO,GAAK,EAAM,IAAM,CAClC,EAEA,EAAQ,KAAO,SAAe,EAAO,EAAc,CACjD,GAAI,EAAQ,QAAQ,CAAK,EACvB,OAAO,EAGT,GAAI,CACF,OAAO,EAAW,CAAK,CACzB,MAAY,CACV,OAAO,CACT,CACF,mBCjDA,SAAS,GAAa,CACpB,KAAK,OAAS,CAAC,EACf,KAAK,OAAS,CAChB,CAEA,EAAU,UAAY,CAEpB,IAAK,SAAU,EAAO,CACpB,IAAM,EAAW,KAAK,MAAM,EAAQ,CAAC,EACrC,OAAS,KAAK,OAAO,KAAe,EAAI,EAAQ,EAAM,IAAO,CAC/D,EAEA,IAAK,SAAU,EAAK,EAAQ,CAC1B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,KAAK,QAAS,IAAS,EAAS,EAAI,EAAM,IAAO,CAAC,CAEtD,EAEA,gBAAiB,UAAY,CAC3B,OAAO,KAAK,MACd,EAEA,OAAQ,SAAU,EAAK,CACrB,IAAM,EAAW,KAAK,MAAM,KAAK,OAAS,CAAC,EACvC,KAAK,OAAO,QAAU,GACxB,KAAK,OAAO,KAAK,CAAC,EAGhB,IACF,KAAK,OAAO,IAAc,MAAU,KAAK,OAAS,GAGpD,KAAK,QACP,CACF,EAEA,EAAO,QAAU,mBC/BjB,SAAS,EAAW,EAAM,CACxB,GAAI,CAAC,GAAQ,EAAO,EAClB,MAAU,MAAM,mDAAmD,EAGrE,KAAK,KAAO,EACZ,KAAK,KAAO,IAAI,WAAW,EAAO,CAAI,EACtC,KAAK,YAAc,IAAI,WAAW,EAAO,CAAI,CAC/C,CAWA,EAAU,UAAU,IAAM,SAAU,EAAK,EAAK,EAAO,EAAU,CAC7D,IAAM,EAAQ,EAAM,KAAK,KAAO,EAChC,KAAK,KAAK,GAAS,EACf,IAAU,KAAK,YAAY,GAAS,GAC1C,EASA,EAAU,UAAU,IAAM,SAAU,EAAK,EAAK,CAC5C,OAAO,KAAK,KAAK,EAAM,KAAK,KAAO,EACrC,EAUA,EAAU,UAAU,IAAM,SAAU,EAAK,EAAK,EAAO,CACnD,KAAK,KAAK,EAAM,KAAK,KAAO,IAAQ,CACtC,EASA,EAAU,UAAU,WAAa,SAAU,EAAK,EAAK,CACnD,OAAO,KAAK,YAAY,EAAM,KAAK,KAAO,EAC5C,EAEA,EAAO,QAAU,eCtDjB,IAAM,EAAA,GAAA,EAAmC,cAgBzC,EAAQ,gBAAkB,SAA0B,EAAS,CAC3D,GAAI,IAAY,EAAG,MAAO,CAAC,EAE3B,IAAM,EAAW,KAAK,MAAM,EAAU,CAAC,EAAI,EACrC,EAAO,EAAc,CAAO,EAC5B,EAAY,IAAS,IAAM,GAAK,KAAK,MAAM,EAAO,KAAO,EAAI,EAAW,EAAE,EAAI,EAC9E,EAAY,CAAC,EAAO,CAAC,EAE3B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAW,EAAG,IAChC,EAAU,GAAK,EAAU,EAAI,GAAK,EAKpC,OAFA,EAAU,KAAK,CAAC,EAET,EAAU,QAAQ,CAC3B,EAsBA,EAAQ,aAAe,SAAuB,EAAS,CACrD,IAAM,EAAS,CAAC,EACV,EAAM,EAAQ,gBAAgB,CAAO,EACrC,EAAY,EAAI,OAEtB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAW,IAC7B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAW,IAExB,IAAM,GAAK,IAAM,GACjB,IAAM,GAAK,IAAM,EAAY,GAC7B,IAAM,EAAY,GAAK,IAAM,GAIlC,EAAO,KAAK,CAAC,EAAI,GAAI,EAAI,EAAE,CAAC,EAIhC,OAAO,CACT,eClFA,IAAM,EAAA,GAAA,EAAmC,cACnC,EAAsB,EAS5B,EAAQ,aAAe,SAAuB,EAAS,CACrD,IAAM,EAAO,EAAc,CAAO,EAElC,MAAO,CAEL,CAAC,EAAG,CAAC,EAEL,CAAC,EAAO,EAAqB,CAAC,EAE9B,CAAC,EAAG,EAAO,CAAmB,CAChC,CACF,eCjBA,EAAQ,SAAW,CACjB,WAAY,EACZ,WAAY,EACZ,WAAY,EACZ,WAAY,EACZ,WAAY,EACZ,WAAY,EACZ,WAAY,EACZ,WAAY,CACd,EAMA,IAAM,EAAgB,CACpB,GAAI,EACJ,GAAI,EACJ,GAAI,GACJ,GAAI,EACN,EAQA,EAAQ,QAAU,SAAkB,EAAM,CACxC,OAAO,GAAQ,MAAQ,IAAS,IAAM,CAAC,MAAM,CAAI,GAAK,GAAQ,GAAK,GAAQ,CAC7E,EASA,EAAQ,KAAO,SAAe,EAAO,CACnC,OAAO,EAAQ,QAAQ,CAAK,EAAI,SAAS,EAAO,EAAE,EAAI,IAAA,EACxD,EASA,EAAQ,aAAe,SAAuB,EAAM,CAClD,IAAM,EAAO,EAAK,KACd,EAAS,EACT,EAAe,EACf,EAAe,EACf,EAAU,KACV,EAAU,KAEd,IAAK,IAAI,EAAM,EAAG,EAAM,EAAM,IAAO,CACnC,EAAe,EAAe,EAC9B,EAAU,EAAU,KAEpB,IAAK,IAAI,EAAM,EAAG,EAAM,EAAM,IAAO,CACnC,IAAIC,EAAS,EAAK,IAAI,EAAK,CAAG,EAC1BA,IAAW,EACb,KAEI,GAAgB,IAAG,GAAU,EAAc,IAAM,EAAe,IACpE,EAAUA,EACV,EAAe,GAGjB,EAAS,EAAK,IAAI,EAAK,CAAG,EACtBA,IAAW,EACb,KAEI,GAAgB,IAAG,GAAU,EAAc,IAAM,EAAe,IACpE,EAAUA,EACV,EAAe,EAEnB,CAEI,GAAgB,IAAG,GAAU,EAAc,IAAM,EAAe,IAChE,GAAgB,IAAG,GAAU,EAAc,IAAM,EAAe,GACtE,CAEA,OAAO,CACT,EAOA,EAAQ,aAAe,SAAuB,EAAM,CAClD,IAAM,EAAO,EAAK,KACd,EAAS,EAEb,IAAK,IAAI,EAAM,EAAG,EAAM,EAAO,EAAG,IAChC,IAAK,IAAI,EAAM,EAAG,EAAM,EAAO,EAAG,IAAO,CACvC,IAAM,EAAO,EAAK,IAAI,EAAK,CAAG,EAC5B,EAAK,IAAI,EAAK,EAAM,CAAC,EACrB,EAAK,IAAI,EAAM,EAAG,CAAG,EACrB,EAAK,IAAI,EAAM,EAAG,EAAM,CAAC,GAEvB,IAAS,GAAK,IAAS,IAAG,GAChC,CAGF,OAAO,EAAS,EAAc,EAChC,EAQA,EAAQ,aAAe,SAAuB,EAAM,CAClD,IAAM,EAAO,EAAK,KACd,EAAS,EACT,EAAU,EACV,EAAU,EAEd,IAAK,IAAI,EAAM,EAAG,EAAM,EAAM,IAAO,CACnC,EAAU,EAAU,EACpB,IAAK,IAAI,EAAM,EAAG,EAAM,EAAM,IAC5B,EAAY,GAAW,EAAK,KAAS,EAAK,IAAI,EAAK,CAAG,EAClD,GAAO,KAAO,IAAY,MAAS,IAAY,KAAQ,IAE3D,EAAY,GAAW,EAAK,KAAS,EAAK,IAAI,EAAK,CAAG,EAClD,GAAO,KAAO,IAAY,MAAS,IAAY,KAAQ,GAE/D,CAEA,OAAO,EAAS,EAAc,EAChC,EAUA,EAAQ,aAAe,SAAuB,EAAM,CAClD,IAAI,EAAY,EACV,EAAe,EAAK,KAAK,OAE/B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAc,IAAK,GAAa,EAAK,KAAK,GAI9D,OAFU,KAAK,IAAI,KAAK,KAAM,EAAY,IAAM,EAAgB,CAAC,EAAI,EAE9D,EAAI,EAAc,EAC3B,EAUA,SAAS,EAAW,EAAa,EAAG,EAAG,CACrC,OAAQ,EAAR,CACE,KAAK,EAAQ,SAAS,WAAY,OAAQ,EAAI,GAAK,GAAM,EACzD,KAAK,EAAQ,SAAS,WAAY,OAAO,EAAI,GAAM,EACnD,KAAK,EAAQ,SAAS,WAAY,OAAO,EAAI,GAAM,EACnD,KAAK,EAAQ,SAAS,WAAY,OAAQ,EAAI,GAAK,GAAM,EACzD,KAAK,EAAQ,SAAS,WAAY,OAAQ,KAAK,MAAM,EAAI,CAAC,EAAI,KAAK,MAAM,EAAI,CAAC,GAAK,GAAM,EACzF,KAAK,EAAQ,SAAS,WAAY,OAAQ,EAAI,EAAK,EAAK,EAAI,EAAK,GAAM,EACvE,KAAK,EAAQ,SAAS,WAAY,OAAS,EAAI,EAAK,EAAK,EAAI,EAAK,GAAK,GAAM,EAC7E,KAAK,EAAQ,SAAS,WAAY,OAAS,EAAI,EAAK,GAAK,EAAI,GAAK,GAAK,GAAM,EAE7E,QAAS,MAAU,MAAM,mBAAqB,CAAW,CAC3D,CACF,CAQA,EAAQ,UAAY,SAAoB,EAAS,EAAM,CACrD,IAAM,EAAO,EAAK,KAElB,IAAK,IAAI,EAAM,EAAG,EAAM,EAAM,IAC5B,IAAK,IAAI,EAAM,EAAG,EAAM,EAAM,IACxB,EAAK,WAAW,EAAK,CAAG,GAC5B,EAAK,IAAI,EAAK,EAAK,EAAU,EAAS,EAAK,CAAG,CAAC,CAGrD,EAQA,EAAQ,YAAc,SAAsB,EAAM,EAAiB,CACjE,IAAM,EAAc,OAAO,KAAK,EAAQ,QAAQ,EAAE,OAC9C,EAAc,EACd,EAAe,IAEnB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAa,IAAK,CACpC,EAAgB,CAAC,EACjB,EAAQ,UAAU,EAAG,CAAI,EAGzB,IAAM,EACJ,EAAQ,aAAa,CAAI,EACzB,EAAQ,aAAa,CAAI,EACzB,EAAQ,aAAa,CAAI,EACzB,EAAQ,aAAa,CAAI,EAG3B,EAAQ,UAAU,EAAG,CAAI,EAErB,EAAU,IACZ,EAAe,EACf,EAAc,EAElB,CAEA,OAAO,CACT,eCzOA,IAAM,EAAA,GAAA,EAEA,EAAkB,CAEtB,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GACT,EAAG,EAAG,GAAI,GACV,EAAG,EAAG,GAAI,GACV,EAAG,EAAG,GAAI,GACV,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,EACd,EAEM,EAAqB,CAEzB,EAAG,GAAI,GAAI,GACX,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,IACZ,GAAI,GAAI,IAAK,IACb,GAAI,GAAI,IAAK,IACb,GAAI,IAAK,IAAK,IACd,GAAI,IAAK,IAAK,IACd,GAAI,IAAK,IAAK,IACd,GAAI,IAAK,IAAK,IACd,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,KACf,IAAK,IAAK,IAAK,KACf,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,IACnB,EAUA,EAAQ,eAAiB,SAAyB,EAAS,EAAsB,CAC/E,OAAQ,EAAR,CACE,KAAK,EAAQ,EACX,OAAO,GAAiB,EAAU,GAAK,EAAI,GAC7C,KAAK,EAAQ,EACX,OAAO,GAAiB,EAAU,GAAK,EAAI,GAC7C,KAAK,EAAQ,EACX,OAAO,GAAiB,EAAU,GAAK,EAAI,GAC7C,KAAK,EAAQ,EACX,OAAO,GAAiB,EAAU,GAAK,EAAI,GAC7C,QACE,MACJ,CACF,EAUA,EAAQ,uBAAyB,SAAiC,EAAS,EAAsB,CAC/F,OAAQ,EAAR,CACE,KAAK,EAAQ,EACX,OAAO,GAAoB,EAAU,GAAK,EAAI,GAChD,KAAK,EAAQ,EACX,OAAO,GAAoB,EAAU,GAAK,EAAI,GAChD,KAAK,EAAQ,EACX,OAAO,GAAoB,EAAU,GAAK,EAAI,GAChD,KAAK,EAAQ,EACX,OAAO,GAAoB,EAAU,GAAK,EAAI,GAChD,QACE,MACJ,CACF,eCtIA,IAAM,EAAY,IAAI,WAAW,GAAG,EAC9B,EAAY,IAAI,WAAW,GAAG,GASlC,UAAuB,CACvB,IAAI,EAAI,EACR,IAAK,IAAI,EAAI,EAAG,EAAI,IAAK,IACvB,EAAU,GAAK,EACf,EAAU,GAAK,EAEf,IAAM,EAIF,EAAI,MACN,GAAK,KAQT,IAAK,IAAI,EAAI,IAAK,EAAI,IAAK,IACzB,EAAU,GAAK,EAAU,EAAI,IAEjC,GAAE,EAQF,EAAQ,IAAM,SAAc,EAAG,CAC7B,GAAI,EAAI,EAAG,MAAU,MAAM,OAAS,EAAI,GAAG,EAC3C,OAAO,EAAU,EACnB,EAQA,EAAQ,IAAM,SAAc,EAAG,CAC7B,OAAO,EAAU,EACnB,EASA,EAAQ,IAAM,SAAc,EAAG,EAAG,CAKhC,OAJI,IAAM,GAAK,IAAM,EAAU,EAIxB,EAAU,EAAU,GAAK,EAAU,GAC5C,eCpEA,IAAM,EAAA,GAAA,EASN,EAAQ,IAAM,SAAc,EAAI,EAAI,CAClC,IAAM,EAAQ,IAAI,WAAW,EAAG,OAAS,EAAG,OAAS,CAAC,EAEtD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,OAAQ,IAC7B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,OAAQ,IAC7B,EAAM,EAAI,IAAM,EAAG,IAAI,EAAG,GAAI,EAAG,EAAE,EAIvC,OAAO,CACT,EASA,EAAQ,IAAM,SAAc,EAAU,EAAS,CAC7C,IAAI,EAAS,IAAI,WAAW,CAAQ,EAEpC,KAAQ,EAAO,OAAS,EAAQ,QAAW,GAAG,CAC5C,IAAM,EAAQ,EAAO,GAErB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAClC,EAAO,IAAM,EAAG,IAAI,EAAQ,GAAI,CAAK,EAIvC,IAAI,EAAS,EACb,KAAO,EAAS,EAAO,QAAU,EAAO,KAAY,GAAG,IACvD,EAAS,EAAO,MAAM,CAAM,CAC9B,CAEA,OAAO,CACT,EASA,EAAQ,qBAAuB,SAA+B,EAAQ,CACpE,IAAI,EAAO,IAAI,WAAW,CAAC,CAAC,CAAC,EAC7B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,EAAO,EAAQ,IAAI,EAAM,IAAI,WAAW,CAAC,EAAG,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAGzD,OAAO,CACT,mBC7DA,IAAM,EAAA,GAAA,EAEN,SAAS,EAAoB,EAAQ,CACnC,KAAK,QAAU,IAAA,GACf,KAAK,OAAS,EAEV,KAAK,QAAQ,KAAK,WAAW,KAAK,MAAM,CAC9C,CAQA,EAAmB,UAAU,WAAa,SAAqB,EAAQ,CAErE,KAAK,OAAS,EACd,KAAK,QAAU,EAAW,qBAAqB,KAAK,MAAM,CAC5D,EAQA,EAAmB,UAAU,OAAS,SAAiB,EAAM,CAC3D,GAAI,CAAC,KAAK,QACR,MAAU,MAAM,yBAAyB,EAK3C,IAAM,EAAa,IAAI,WAAW,EAAK,OAAS,KAAK,MAAM,EAC3D,EAAW,IAAI,CAAI,EAInB,IAAM,EAAY,EAAW,IAAI,EAAY,KAAK,OAAO,EAKnD,EAAQ,KAAK,OAAS,EAAU,OACtC,GAAI,EAAQ,EAAG,CACb,IAAM,EAAO,IAAI,WAAW,KAAK,MAAM,EAGvC,OAFA,EAAK,IAAI,EAAW,CAAK,EAElB,CACT,CAEA,OAAO,CACT,EAEA,EAAO,QAAU,eCjDjB,EAAQ,QAAU,SAAkB,EAAS,CAC3C,MAAO,CAAC,MAAM,CAAO,GAAK,GAAW,GAAK,GAAW,EACvD,eCRA,IAAM,EAAU,SACV,EAAe,oBACjB,EAAQ,mNAIZ,EAAQ,EAAM,QAAQ,KAAM,KAAK,EAEjC,IAAM,EAAO,6BAA+B,EAAQ;MAEpD,EAAQ,MAAQ,IAAI,OAAO,EAAO,GAAG,EACrC,EAAQ,WAAiB,OAAO,wBAAyB,GAAG,EAC5D,EAAQ,KAAO,IAAI,OAAO,EAAM,GAAG,EACnC,EAAQ,QAAU,IAAI,OAAO,EAAS,GAAG,EACzC,EAAQ,aAAe,IAAI,OAAO,EAAc,GAAG,EAEnD,IAAM,EAAiB,OAAO,IAAM,EAAQ,GAAG,EACzC,EAAmB,OAAO,UAAmB,EAC7C,EAAwB,OAAO,wBAAwB,EAE7D,EAAQ,UAAY,SAAoB,EAAK,CAC3C,OAAO,EAAW,KAAK,CAAG,CAC5B,EAEA,EAAQ,YAAc,SAAsB,EAAK,CAC/C,OAAO,EAAa,KAAK,CAAG,CAC9B,EAEA,EAAQ,iBAAmB,SAA2B,EAAK,CACzD,OAAO,EAAkB,KAAK,CAAG,CACnC,eC9BA,IAAM,EAAA,GAAA,EACA,EAAA,GAAA,EASN,EAAQ,QAAU,CAChB,GAAI,UACJ,IAAK,EACL,OAAQ,CAAC,GAAI,GAAI,EAAE,CACrB,EAWA,EAAQ,aAAe,CACrB,GAAI,eACJ,IAAK,EACL,OAAQ,CAAC,EAAG,GAAI,EAAE,CACpB,EAOA,EAAQ,KAAO,CACb,GAAI,OACJ,IAAK,EACL,OAAQ,CAAC,EAAG,GAAI,EAAE,CACpB,EAWA,EAAQ,MAAQ,CACd,GAAI,QACJ,IAAK,EACL,OAAQ,CAAC,EAAG,GAAI,EAAE,CACpB,EAQA,EAAQ,MAAQ,CACd,IAAK,EACP,EAUA,EAAQ,sBAAwB,SAAgC,EAAM,EAAS,CAC7E,GAAI,CAAC,EAAK,OAAQ,MAAU,MAAM,iBAAmB,CAAI,EAEzD,GAAI,CAAC,EAAa,QAAQ,CAAO,EAC/B,MAAU,MAAM,oBAAsB,CAAO,EAK/C,OAFI,GAAW,GAAK,EAAU,GAAW,EAAK,OAAO,GAC5C,EAAU,GAAW,EAAK,OAAO,GACnC,EAAK,OAAO,EACrB,EAQA,EAAQ,mBAAqB,SAA6B,EAAS,CAI5D,OAHD,EAAM,YAAY,CAAO,EAAU,EAAQ,QACtC,EAAM,iBAAiB,CAAO,EAAU,EAAQ,aAChD,EAAM,UAAU,CAAO,EAAU,EAAQ,MACtC,EAAQ,IACtB,EAQA,EAAQ,SAAW,SAAmB,EAAM,CAC1C,GAAI,GAAQ,EAAK,GAAI,OAAO,EAAK,GACjC,MAAU,MAAM,cAAc,CAChC,EAQA,EAAQ,QAAU,SAAkB,EAAM,CACxC,OAAO,GAAQ,EAAK,KAAO,EAAK,MAClC,EAQA,SAAS,EAAY,EAAQ,CAC3B,GAAI,OAAO,GAAW,SACpB,MAAU,MAAM,uBAAuB,EAKzC,OAFc,EAAO,YAET,EAAZ,CACE,IAAK,UACH,OAAO,EAAQ,QACjB,IAAK,eACH,OAAO,EAAQ,aACjB,IAAK,QACH,OAAO,EAAQ,MACjB,IAAK,OACH,OAAO,EAAQ,KACjB,QACE,MAAU,MAAM,iBAAmB,CAAM,CAC7C,CACF,CAUA,EAAQ,KAAO,SAAe,EAAO,EAAc,CACjD,GAAI,EAAQ,QAAQ,CAAK,EACvB,OAAO,EAGT,GAAI,CACF,OAAO,EAAW,CAAK,CACzB,MAAY,CACV,OAAO,CACT,CACF,eCtKA,IAAM,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EAGA,EAAM,KACN,EAAU,EAAM,YAAY,CAAG,EAErC,SAAS,EAA6B,EAAM,EAAQ,EAAsB,CACxE,IAAK,IAAI,EAAiB,EAAG,GAAkB,GAAI,IACjD,GAAI,GAAU,EAAQ,YAAY,EAAgB,EAAsB,CAAI,EAC1E,OAAO,CAKb,CAEA,SAAS,EAAsB,EAAM,EAAS,CAE5C,OAAO,EAAK,sBAAsB,EAAM,CAAO,EAAI,CACrD,CAEA,SAAS,EAA2B,EAAU,EAAS,CACrD,IAAI,EAAY,EAOhB,OALA,EAAS,QAAQ,SAAU,EAAM,CAC/B,IAAM,EAAe,EAAqB,EAAK,KAAM,CAAO,EAC5D,GAAa,EAAe,EAAK,cAAc,CACjD,CAAC,EAEM,CACT,CAEA,SAAS,EAA4B,EAAU,EAAsB,CACnE,IAAK,IAAI,EAAiB,EAAG,GAAkB,GAAI,IAEjD,GADe,EAA0B,EAAU,CAC1C,GAAK,EAAQ,YAAY,EAAgB,EAAsB,EAAK,KAAK,EAChF,OAAO,CAKb,CAUA,EAAQ,KAAO,SAAe,EAAO,EAAc,CAKjD,OAJI,EAAa,QAAQ,CAAK,EACrB,SAAS,EAAO,EAAE,EAGpB,CACT,EAWA,EAAQ,YAAc,SAAsB,EAAS,EAAsB,EAAM,CAC/E,GAAI,CAAC,EAAa,QAAQ,CAAO,EAC/B,MAAU,MAAM,yBAAyB,EAIhC,IAAS,SAAa,EAAO,EAAK,MAS7C,IAAM,GANiB,EAAM,wBAAwB,CAMR,EAHpB,EAAO,uBAAuB,EAAS,CAGA,GAAK,EAErE,GAAI,IAAS,EAAK,MAAO,OAAO,EAEhC,IAAM,EAAa,EAAyB,EAAqB,EAAM,CAAO,EAG9E,OAAQ,EAAR,CACE,KAAK,EAAK,QACR,OAAO,KAAK,MAAO,EAAa,GAAM,CAAC,EAEzC,KAAK,EAAK,aACR,OAAO,KAAK,MAAO,EAAa,GAAM,CAAC,EAEzC,KAAK,EAAK,MACR,OAAO,KAAK,MAAM,EAAa,EAAE,EAEnC,KAAK,EAAK,KACV,QACE,OAAO,KAAK,MAAM,EAAa,CAAC,CACpC,CACF,EAUA,EAAQ,sBAAwB,SAAgC,EAAM,EAAsB,CAC1F,IAAI,EAEE,EAAM,EAAQ,KAAK,EAAsB,EAAQ,CAAC,EAExD,GAAI,MAAM,QAAQ,CAAI,EAAG,CACvB,GAAI,EAAK,OAAS,EAChB,OAAO,EAA2B,EAAM,CAAG,EAG7C,GAAI,EAAK,SAAW,EAClB,MAAO,GAGT,EAAM,EAAK,EACb,MACE,EAAM,EAGR,OAAO,EAA4B,EAAI,KAAM,EAAI,UAAU,EAAG,CAAG,CACnE,EAYA,EAAQ,eAAiB,SAAyB,EAAS,CACzD,GAAI,CAAC,EAAa,QAAQ,CAAO,GAAK,EAAU,EAC9C,MAAU,MAAM,yBAAyB,EAG3C,IAAI,EAAI,GAAW,GAEnB,KAAO,EAAM,YAAY,CAAC,EAAI,GAAW,GACvC,GAAM,GAAQ,EAAM,YAAY,CAAC,EAAI,EAGvC,OAAQ,GAAW,GAAM,CAC3B,eClKA,IAAM,EAAA,GAAA,EAEA,EAAM,KACN,EAAW,MACX,EAAU,EAAM,YAAY,CAAG,EAYrC,EAAQ,eAAiB,SAAyB,EAAsB,EAAM,CAC5E,IAAM,EAAS,EAAqB,KAAO,EAAK,EAC5C,EAAI,GAAQ,GAEhB,KAAO,EAAM,YAAY,CAAC,EAAI,GAAW,GACvC,GAAM,GAAQ,EAAM,YAAY,CAAC,EAAI,EAMvC,OAAS,GAAQ,GAAM,GAAK,CAC9B,mBC5BA,IAAM,EAAA,GAAA,EAEN,SAAS,EAAa,EAAM,CAC1B,KAAK,KAAO,EAAK,QACjB,KAAK,KAAO,EAAK,SAAS,CAC5B,CAEA,EAAY,cAAgB,SAAwB,EAAQ,CAC1D,MAAO,IAAK,KAAK,MAAM,EAAS,CAAC,GAAM,EAAS,EAAO,EAAS,EAAK,EAAI,EAAK,EAChF,EAEA,EAAY,UAAU,UAAY,UAAsB,CACtD,OAAO,KAAK,KAAK,MACnB,EAEA,EAAY,UAAU,cAAgB,UAA0B,CAC9D,OAAO,EAAY,cAAc,KAAK,KAAK,MAAM,CACnD,EAEA,EAAY,UAAU,MAAQ,SAAgB,EAAW,CACvD,IAAI,EAAG,EAAO,EAId,IAAK,EAAI,EAAG,EAAI,GAAK,KAAK,KAAK,OAAQ,GAAK,EAC1C,EAAQ,KAAK,KAAK,OAAO,EAAG,CAAC,EAC7B,EAAQ,SAAS,EAAO,EAAE,EAE1B,EAAU,IAAI,EAAO,EAAE,EAKzB,IAAM,EAAe,KAAK,KAAK,OAAS,EACpC,EAAe,IACjB,EAAQ,KAAK,KAAK,OAAO,CAAC,EAC1B,EAAQ,SAAS,EAAO,EAAE,EAE1B,EAAU,IAAI,EAAO,EAAe,EAAI,CAAC,EAE7C,EAEA,EAAO,QAAU,mBC1CjB,IAAM,EAAA,GAAA,EAWA,EAAkB,wDAKxB,EAEA,SAAS,EAAkB,EAAM,CAC/B,KAAK,KAAO,EAAK,aACjB,KAAK,KAAO,CACd,CAEA,EAAiB,cAAgB,SAAwB,EAAQ,CAC/D,MAAO,IAAK,KAAK,MAAM,EAAS,CAAC,EAAS,EAAS,EAAd,CACvC,EAEA,EAAiB,UAAU,UAAY,UAAsB,CAC3D,OAAO,KAAK,KAAK,MACnB,EAEA,EAAiB,UAAU,cAAgB,UAA0B,CACnE,OAAO,EAAiB,cAAc,KAAK,KAAK,MAAM,CACxD,EAEA,EAAiB,UAAU,MAAQ,SAAgB,EAAW,CAC5D,IAAI,EAIJ,IAAK,EAAI,EAAG,EAAI,GAAK,KAAK,KAAK,OAAQ,GAAK,EAAG,CAE7C,IAAI,EAAQ,EAAgB,QAAQ,KAAK,KAAK,EAAE,EAAI,GAGpD,GAAS,EAAgB,QAAQ,KAAK,KAAK,EAAI,EAAE,EAGjD,EAAU,IAAI,EAAO,EAAE,CACzB,CAII,KAAK,KAAK,OAAS,GACrB,EAAU,IAAI,EAAgB,QAAQ,KAAK,KAAK,EAAE,EAAG,CAAC,CAE1D,EAEA,EAAO,QAAU,mBC1DjB,IAAM,EAAA,GAAA,EAEN,SAAS,EAAU,EAAM,CACvB,KAAK,KAAO,EAAK,KACb,OAAQ,GAAU,SACpB,KAAK,KAAO,IAAI,YAAY,EAAE,OAAO,CAAI,EAEzC,KAAK,KAAO,IAAI,WAAW,CAAI,CAEnC,CAEA,EAAS,cAAgB,SAAwB,EAAQ,CACvD,OAAO,EAAS,CAClB,EAEA,EAAS,UAAU,UAAY,UAAsB,CACnD,OAAO,KAAK,KAAK,MACnB,EAEA,EAAS,UAAU,cAAgB,UAA0B,CAC3D,OAAO,EAAS,cAAc,KAAK,KAAK,MAAM,CAChD,EAEA,EAAS,UAAU,MAAQ,SAAU,EAAW,CAC9C,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,KAAK,OAAQ,EAAI,EAAG,IAC3C,EAAU,IAAI,KAAK,KAAK,GAAI,CAAC,CAEjC,EAEA,EAAO,QAAU,mBC7BjB,IAAM,EAAA,GAAA,EACA,EAAA,GAAA,EAEN,SAAS,EAAW,EAAM,CACxB,KAAK,KAAO,EAAK,MACjB,KAAK,KAAO,CACd,CAEA,EAAU,cAAgB,SAAwB,EAAQ,CACxD,OAAO,EAAS,EAClB,EAEA,EAAU,UAAU,UAAY,UAAsB,CACpD,OAAO,KAAK,KAAK,MACnB,EAEA,EAAU,UAAU,cAAgB,UAA0B,CAC5D,OAAO,EAAU,cAAc,KAAK,KAAK,MAAM,CACjD,EAEA,EAAU,UAAU,MAAQ,SAAU,EAAW,CAC/C,IAAI,EAKJ,IAAK,EAAI,EAAG,EAAI,KAAK,KAAK,OAAQ,IAAK,CACrC,IAAI,EAAQ,EAAM,OAAO,KAAK,KAAK,EAAE,EAGrC,GAAI,GAAS,OAAU,GAAS,MAE9B,GAAS,WAGJ,GAAI,GAAS,OAAU,GAAS,MAErC,GAAS,WAET,MAAU,MACR,2BAA6B,KAAK,KAAK,GAAK;gCACX,EAKrC,GAAW,IAAU,EAAK,KAAQ,KAAS,EAAQ,KAGnD,EAAU,IAAI,EAAO,EAAE,CACzB,CACF,EAEA,EAAO,QAAU,mBC9BjB,IAAI,EAAW,CACb,6BAA8B,SAAS,EAAO,EAAG,EAAG,CAGlD,IAAI,EAAe,CAAC,EAIhB,EAAQ,CAAC,EACb,EAAM,GAAK,EAMX,IAAI,EAAO,EAAS,cAAc,KAAK,EACvC,EAAK,KAAK,EAAG,CAAC,EAUd,IARA,IAAI,EACA,EAAG,EACH,EACA,EACA,EACA,EACA,EACA,EACG,CAAC,EAAK,MAAM,GAajB,IAAK,IAVL,GAAU,EAAK,IAAI,EACnB,EAAI,EAAQ,MACZ,EAAiB,EAAQ,KAGzB,EAAiB,EAAM,IAAM,CAAC,EAKpB,EACJ,EAAe,eAAe,CAAC,IAEjC,EAAY,EAAe,GAK3B,EAAgC,EAAiB,EAMjD,EAAiB,EAAM,GACvB,EAAsB,EAAM,KAAO,QAC/B,GAAe,EAAiB,KAClC,EAAM,GAAK,EACX,EAAK,KAAK,EAAG,CAA6B,EAC1C,EAAa,GAAK,IAM1B,GAAW,IAAM,QAAsB,EAAM,KAAO,OAAa,CAC/D,IAAI,EAAM,CAAC,8BAA+B,EAAG,OAAQ,EAAG,GAAG,EAAE,KAAK,EAAE,EACpE,MAAU,MAAM,CAAG,CACrB,CAEA,OAAO,CACT,EAEA,4CAA6C,SAAS,EAAc,EAAG,CAIrE,IAHA,IAAI,EAAQ,CAAC,EACT,EAAI,EAED,GACL,EAAM,KAAK,CAAC,EACZ,EAA2B,GAC3B,EAAI,EAAa,GAGnB,OADA,EAAM,QAAQ,EACP,CACT,EAEA,UAAW,SAAS,EAAO,EAAG,EAAG,CAC/B,IAAI,EAAe,EAAS,6BAA6B,EAAO,EAAG,CAAC,EACpE,OAAO,EAAS,4CACd,EAAc,CAAC,CACnB,EAKA,cAAe,CACb,KAAM,SAAU,EAAM,CACpB,IAAI,EAAI,EAAS,cACb,EAAI,CAAC,EACL,EAEJ,IAAK,IADL,KAAe,CAAC,EACJ,EACN,EAAE,eAAe,CAAG,IACtB,EAAE,GAAO,EAAE,IAKf,MAFA,GAAE,MAAQ,CAAC,EACX,EAAE,OAAS,EAAK,QAAU,EAAE,eACrB,CACT,EAEA,eAAgB,SAAU,EAAG,EAAG,CAC9B,OAAO,EAAE,KAAO,EAAE,IACpB,EAMA,KAAM,SAAU,EAAO,EAAM,CAC3B,IAAI,EAAO,CAAQ,QAAa,MAAI,EACpC,KAAK,MAAM,KAAK,CAAI,EACpB,KAAK,MAAM,KAAK,KAAK,MAAM,CAC7B,EAKA,IAAK,UAAY,CACf,OAAO,KAAK,MAAM,MAAM,CAC1B,EAEA,MAAO,UAAY,CACjB,OAAO,KAAK,MAAM,SAAW,CAC/B,CACF,CACF,EAIW,IAAW,SACpB,EAAO,QAAU,gBCnKnB,IAAM,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EAQN,SAAS,EAAqB,EAAK,CACjC,OAAO,SAAS,mBAAmB,CAAG,CAAC,EAAE,MAC3C,CAUA,SAAS,EAAa,EAAO,EAAM,EAAK,CACtC,IAAM,EAAW,CAAC,EACd,EAEJ,MAAQ,EAAS,EAAM,KAAK,CAAG,KAAO,MACpC,EAAS,KAAK,CACZ,KAAM,EAAO,GACb,MAAO,EAAO,MACR,OACN,OAAQ,EAAO,GAAG,MACpB,CAAC,EAGH,OAAO,CACT,CASA,SAAS,EAAuB,EAAS,CACvC,IAAM,EAAU,EAAY,EAAM,QAAS,EAAK,QAAS,CAAO,EAC1D,EAAe,EAAY,EAAM,aAAc,EAAK,aAAc,CAAO,EAC3E,EACA,EAYJ,OAVI,EAAM,mBAAmB,GAC3B,EAAW,EAAY,EAAM,KAAM,EAAK,KAAM,CAAO,EACrD,EAAY,EAAY,EAAM,MAAO,EAAK,MAAO,CAAO,IAExD,EAAW,EAAY,EAAM,WAAY,EAAK,KAAM,CAAO,EAC3D,EAAY,CAAC,GAGF,EAAQ,OAAO,EAAc,EAAU,CAE1C,EACP,KAAK,SAAU,EAAI,EAAI,CACtB,OAAO,EAAG,MAAQ,EAAG,KACvB,CAAC,EACA,IAAI,SAAU,EAAK,CAClB,MAAO,CACL,KAAM,EAAI,KACV,KAAM,EAAI,KACV,OAAQ,EAAI,MACd,CACF,CAAC,CACL,CAUA,SAAS,EAAsB,EAAQ,EAAM,CAC3C,OAAQ,EAAR,CACE,KAAK,EAAK,QACR,OAAO,EAAY,cAAc,CAAM,EACzC,KAAK,EAAK,aACR,OAAO,EAAiB,cAAc,CAAM,EAC9C,KAAK,EAAK,MACR,OAAO,EAAU,cAAc,CAAM,EACvC,KAAK,EAAK,KACR,OAAO,EAAS,cAAc,CAAM,CACxC,CACF,CAQA,SAAS,EAAe,EAAM,CAC5B,OAAO,EAAK,OAAO,SAAU,EAAK,EAAM,CACtC,IAAM,EAAU,EAAI,OAAS,GAAK,EAAI,EAAI,EAAI,OAAS,GAAK,KAO5D,OANI,GAAW,EAAQ,OAAS,EAAK,MACnC,EAAI,EAAI,OAAS,GAAG,MAAQ,EAAK,KAC1B,IAGT,EAAI,KAAK,CAAI,EACN,EACT,EAAG,CAAC,CAAC,CACP,CAkBA,SAAS,EAAY,EAAM,CACzB,IAAM,EAAQ,CAAC,EACf,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,IAAM,EAAM,EAAK,GAEjB,OAAQ,EAAI,KAAZ,CACE,KAAK,EAAK,QACR,EAAM,KAAK,CAAC,EACV,CAAE,KAAM,EAAI,KAAM,KAAM,EAAK,aAAc,OAAQ,EAAI,MAAO,EAC9D,CAAE,KAAM,EAAI,KAAM,KAAM,EAAK,KAAM,OAAQ,EAAI,MAAO,CACxD,CAAC,EACD,MACF,KAAK,EAAK,aACR,EAAM,KAAK,CAAC,EACV,CAAE,KAAM,EAAI,KAAM,KAAM,EAAK,KAAM,OAAQ,EAAI,MAAO,CACxD,CAAC,EACD,MACF,KAAK,EAAK,MACR,EAAM,KAAK,CAAC,EACV,CAAE,KAAM,EAAI,KAAM,KAAM,EAAK,KAAM,OAAQ,EAAoB,EAAI,IAAI,CAAE,CAC3E,CAAC,EACD,MACF,KAAK,EAAK,KACR,EAAM,KAAK,CACT,CAAE,KAAM,EAAI,KAAM,KAAM,EAAK,KAAM,OAAQ,EAAoB,EAAI,IAAI,CAAE,CAC3E,CAAC,CACL,CACF,CAEA,OAAO,CACT,CAcA,SAAS,EAAY,EAAO,EAAS,CACnC,IAAM,EAAQ,CAAC,EACT,EAAQ,CAAE,MAAO,CAAC,CAAE,EACtB,EAAc,CAAC,OAAO,EAE1B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACrC,IAAM,EAAY,EAAM,GAClB,EAAiB,CAAC,EAExB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAU,OAAQ,IAAK,CACzC,IAAM,EAAO,EAAU,GACjB,EAAM,GAAK,EAAI,EAErB,EAAe,KAAK,CAAG,EACvB,EAAM,GAAO,CAAQ,OAAM,UAAW,CAAE,EACxC,EAAM,GAAO,CAAC,EAEd,IAAK,IAAI,EAAI,EAAG,EAAI,EAAY,OAAQ,IAAK,CAC3C,IAAM,EAAa,EAAY,GAE3B,EAAM,IAAe,EAAM,GAAY,KAAK,OAAS,EAAK,MAC5D,EAAM,GAAY,GAChB,EAAqB,EAAM,GAAY,UAAY,EAAK,OAAQ,EAAK,IAAI,EACzE,EAAqB,EAAM,GAAY,UAAW,EAAK,IAAI,EAE7D,EAAM,GAAY,WAAa,EAAK,SAEhC,EAAM,KAAa,EAAM,GAAY,UAAY,EAAK,QAE1D,EAAM,GAAY,GAAO,EAAqB,EAAK,OAAQ,EAAK,IAAI,EAClE,EAAI,EAAK,sBAAsB,EAAK,KAAM,CAAO,EAEvD,CACF,CAEA,EAAc,CAChB,CAEA,IAAK,IAAI,EAAI,EAAG,EAAI,EAAY,OAAQ,IACtC,EAAM,EAAY,IAAI,IAAM,EAG9B,MAAO,CAAE,IAAK,EAAc,OAAM,CACpC,CAUA,SAAS,EAAoB,EAAM,EAAW,CAC5C,IAAI,EACE,EAAW,EAAK,mBAAmB,CAAI,EAK7C,GAHA,EAAO,EAAK,KAAK,EAAW,CAAQ,EAGhC,IAAS,EAAK,MAAQ,EAAK,IAAM,EAAS,IAC5C,MAAU,MAAM,IAAM,EAAO,iCACO,EAAK,SAAS,CAAI,EACpD;sBAA4B,EAAK,SAAS,CAAQ,CAAC,EAQvD,OAJI,IAAS,EAAK,OAAS,CAAC,EAAM,mBAAmB,IACnD,EAAO,EAAK,MAGN,EAAR,CACE,KAAK,EAAK,QACR,OAAO,IAAI,EAAY,CAAI,EAE7B,KAAK,EAAK,aACR,OAAO,IAAI,EAAiB,CAAI,EAElC,KAAK,EAAK,MACR,OAAO,IAAI,EAAU,CAAI,EAE3B,KAAK,EAAK,KACR,OAAO,IAAI,EAAS,CAAI,CAC5B,CACF,CAiBA,EAAQ,UAAY,SAAoB,EAAO,CAC7C,OAAO,EAAM,OAAO,SAAU,EAAK,EAAK,CAOtC,OANI,OAAO,GAAQ,SACjB,EAAI,KAAK,EAAmB,EAAK,IAAI,CAAC,EAC7B,EAAI,MACb,EAAI,KAAK,EAAmB,EAAI,KAAM,EAAI,IAAI,CAAC,EAG1C,CACT,EAAG,CAAC,CAAC,CACP,EAUA,EAAQ,WAAa,SAAqB,EAAM,EAAS,CAIvD,IAAM,EAAQ,EADA,EAFD,EAAsB,EAAM,EAAM,mBAAmB,CAEtC,CACC,EAAG,CAAO,EACjC,EAAO,EAAS,UAAU,EAAM,IAAK,QAAS,KAAK,EAEnD,EAAgB,CAAC,EACvB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,OAAS,EAAG,IACnC,EAAc,KAAK,EAAM,MAAM,EAAK,IAAI,IAAI,EAG9C,OAAO,EAAQ,UAAU,EAAc,CAAa,CAAC,CACvD,EAYA,EAAQ,SAAW,SAAmB,EAAM,CAC1C,OAAO,EAAQ,UACb,EAAsB,EAAM,EAAM,mBAAmB,CAAC,CACxD,CACF,eCzUA,IAAM,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EAkCN,SAAS,EAAoB,EAAQ,EAAS,CAC5C,IAAM,EAAO,EAAO,KACd,EAAM,EAAc,aAAa,CAAO,EAE9C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CACnC,IAAM,EAAM,EAAI,GAAG,GACb,EAAM,EAAI,GAAG,GAEnB,IAAK,IAAI,EAAI,GAAI,GAAK,EAAG,IACnB,OAAM,GAAK,IAAM,GAAQ,EAAM,GAEnC,IAAK,IAAI,EAAI,GAAI,GAAK,EAAG,IACnB,EAAM,GAAK,IAAM,GAAQ,EAAM,IAE9B,GAAK,GAAK,GAAK,IAAM,IAAM,GAAK,IAAM,IACxC,GAAK,GAAK,GAAK,IAAM,IAAM,GAAK,IAAM,IACtC,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,EACpC,EAAO,IAAI,EAAM,EAAG,EAAM,EAAG,GAAM,EAAI,EAEvC,EAAO,IAAI,EAAM,EAAG,EAAM,EAAG,GAAO,EAAI,EAIhD,CACF,CASA,SAAS,EAAoB,EAAQ,CACnC,IAAM,EAAO,EAAO,KAEpB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,EAAG,IAAK,CACjC,IAAM,EAAQ,EAAI,GAAM,EACxB,EAAO,IAAI,EAAG,EAAG,EAAO,EAAI,EAC5B,EAAO,IAAI,EAAG,EAAG,EAAO,EAAI,CAC9B,CACF,CAUA,SAAS,EAAuB,EAAQ,EAAS,CAC/C,IAAM,EAAM,EAAiB,aAAa,CAAO,EAEjD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CACnC,IAAM,EAAM,EAAI,GAAG,GACb,EAAM,EAAI,GAAG,GAEnB,IAAK,IAAI,EAAI,GAAI,GAAK,EAAG,IACvB,IAAK,IAAI,EAAI,GAAI,GAAK,EAAG,IACnB,IAAM,IAAM,IAAM,GAAK,IAAM,IAAM,IAAM,GAC1C,IAAM,GAAK,IAAM,EAClB,EAAO,IAAI,EAAM,EAAG,EAAM,EAAG,GAAM,EAAI,EAEvC,EAAO,IAAI,EAAM,EAAG,EAAM,EAAG,GAAO,EAAI,CAIhD,CACF,CAQA,SAAS,EAAkB,EAAQ,EAAS,CAC1C,IAAM,EAAO,EAAO,KACd,EAAO,EAAQ,eAAe,CAAO,EACvC,EAAK,EAAK,EAEd,IAAK,IAAI,EAAI,EAAG,EAAI,GAAI,IACtB,EAAM,KAAK,MAAM,EAAI,CAAC,EACtB,EAAM,EAAI,EAAI,EAAO,EAAI,EACzB,GAAQ,GAAQ,EAAK,IAAO,EAE5B,EAAO,IAAI,EAAK,EAAK,EAAK,EAAI,EAC9B,EAAO,IAAI,EAAK,EAAK,EAAK,EAAI,CAElC,CASA,SAAS,EAAiB,EAAQ,EAAsB,EAAa,CACnE,IAAM,EAAO,EAAO,KACd,EAAO,EAAW,eAAe,EAAsB,CAAW,EACpE,EAAG,EAEP,IAAK,EAAI,EAAG,EAAI,GAAI,IAClB,GAAQ,GAAQ,EAAK,IAAO,EAGxB,EAAI,EACN,EAAO,IAAI,EAAG,EAAG,EAAK,EAAI,EACjB,EAAI,EACb,EAAO,IAAI,EAAI,EAAG,EAAG,EAAK,EAAI,EAE9B,EAAO,IAAI,EAAO,GAAK,EAAG,EAAG,EAAK,EAAI,EAIpC,EAAI,EACN,EAAO,IAAI,EAAG,EAAO,EAAI,EAAG,EAAK,EAAI,EAC5B,EAAI,EACb,EAAO,IAAI,EAAG,GAAK,EAAI,EAAI,EAAG,EAAK,EAAI,EAEvC,EAAO,IAAI,EAAG,GAAK,EAAI,EAAG,EAAK,EAAI,EAKvC,EAAO,IAAI,EAAO,EAAG,EAAG,EAAG,EAAI,CACjC,CAQA,SAAS,EAAW,EAAQ,EAAM,CAChC,IAAM,EAAO,EAAO,KAChB,EAAM,GACN,EAAM,EAAO,EACb,EAAW,EACX,EAAY,EAEhB,IAAK,IAAI,EAAM,EAAO,EAAG,EAAM,EAAG,GAAO,EAGvC,IAFI,IAAQ,GAAG,MAEF,CACX,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACrB,GAAI,CAAC,EAAO,WAAW,EAAK,EAAM,CAAC,EAAG,CACpC,IAAI,EAAO,GAEP,EAAY,EAAK,SACnB,GAAU,EAAK,KAAe,EAAY,IAAO,GAGnD,EAAO,IAAI,EAAK,EAAM,EAAG,CAAI,EAC7B,IAEI,IAAa,KACf,IACA,EAAW,EAEf,CAKF,GAFA,GAAO,EAEH,EAAM,GAAK,GAAQ,EAAK,CAC1B,GAAO,EACP,EAAM,CAAC,EACP,KACF,CACF,CAEJ,CAUA,SAAS,EAAY,EAAS,EAAsB,EAAU,CAE5D,IAAM,EAAS,IAAI,EAEnB,EAAS,QAAQ,SAAU,EAAM,CAE/B,EAAO,IAAI,EAAK,KAAK,IAAK,CAAC,EAS3B,EAAO,IAAI,EAAK,UAAU,EAAG,EAAK,sBAAsB,EAAK,KAAM,CAAO,CAAC,EAG3E,EAAK,MAAM,CAAM,CACnB,CAAC,EAKD,IAAM,GAFiB,EAAM,wBAAwB,CAER,EADpB,EAAO,uBAAuB,EAAS,CACA,GAAK,EAgBrE,IATI,EAAO,gBAAgB,EAAI,GAAK,GAClC,EAAO,IAAI,EAAG,CAAC,EAQV,EAAO,gBAAgB,EAAI,GAAM,GACtC,EAAO,OAAO,CAAC,EAOjB,IAAM,GAAiB,EAAyB,EAAO,gBAAgB,GAAK,EAC5E,IAAK,IAAI,EAAI,EAAG,EAAI,EAAe,IACjC,EAAO,IAAI,EAAI,EAAI,GAAO,IAAM,CAAC,EAGnC,OAAO,EAAgB,EAAQ,EAAS,CAAoB,CAC9D,CAWA,SAAS,EAAiB,EAAW,EAAS,EAAsB,CAElE,IAAM,EAAiB,EAAM,wBAAwB,CAAO,EAMtD,EAAqB,EAHF,EAAO,uBAAuB,EAAS,CAGL,EAGrD,EAAgB,EAAO,eAAe,EAAS,CAAoB,EAInE,EAAiB,EADA,EAAiB,EAGlC,EAAyB,KAAK,MAAM,EAAiB,CAAa,EAElE,EAAwB,KAAK,MAAM,EAAqB,CAAa,EACrE,EAAwB,EAAwB,EAGhD,EAAU,EAAyB,EAGnC,EAAK,IAAI,EAAmB,CAAO,EAErC,EAAS,EACP,EAAa,MAAM,CAAa,EAChC,EAAa,MAAM,CAAa,EAClC,EAAc,EACZ,EAAS,IAAI,WAAW,EAAU,MAAM,EAG9C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAe,IAAK,CACtC,IAAM,EAAW,EAAI,EAAiB,EAAwB,EAG9D,EAAO,GAAK,EAAO,MAAM,EAAQ,EAAS,CAAQ,EAGlD,EAAO,GAAK,EAAG,OAAO,EAAO,EAAE,EAE/B,GAAU,EACV,EAAc,KAAK,IAAI,EAAa,CAAQ,CAC9C,CAIA,IAAM,EAAO,IAAI,WAAW,CAAc,EACtC,EAAQ,EACR,EAAG,EAGP,IAAK,EAAI,EAAG,EAAI,EAAa,IAC3B,IAAK,EAAI,EAAG,EAAI,EAAe,IACzB,EAAI,EAAO,GAAG,SAChB,EAAK,KAAW,EAAO,GAAG,IAMhC,IAAK,EAAI,EAAG,EAAI,EAAS,IACvB,IAAK,EAAI,EAAG,EAAI,EAAe,IAC7B,EAAK,KAAW,EAAO,GAAG,GAI9B,OAAO,CACT,CAWA,SAAS,EAAc,EAAM,EAAS,EAAsB,EAAa,CACvE,IAAI,EAEJ,GAAI,MAAM,QAAQ,CAAI,EACpB,EAAW,EAAS,UAAU,CAAI,OAC7B,GAAI,OAAO,GAAS,SAAU,CACnC,IAAI,EAAmB,EAEvB,GAAI,CAAC,EAAkB,CACrB,IAAM,EAAc,EAAS,SAAS,CAAI,EAG1C,EAAmB,EAAQ,sBAAsB,EAAa,CAAoB,CACpF,CAIA,EAAW,EAAS,WAAW,EAAM,GAAoB,EAAE,CAC7D,MACE,MAAU,MAAM,cAAc,EAIhC,IAAM,EAAc,EAAQ,sBAAsB,EAAU,CAAoB,EAGhF,GAAI,CAAC,EACH,MAAU,MAAM,yDAAyD,EAI3E,GAAI,CAAC,EACH,EAAU,OAGL,GAAI,EAAU,EACnB,MAAU,MAAM;;qDAE0C,EAAc;CACxE,EAGF,IAAM,EAAW,EAAW,EAAS,EAAsB,CAAQ,EAI7D,EAAU,IAAI,EADA,EAAM,cAAc,CACA,CAAC,EAgCzC,OA7BA,EAAmB,EAAS,CAAO,EACnC,EAAmB,CAAO,EAC1B,EAAsB,EAAS,CAAO,EAMtC,EAAgB,EAAS,EAAsB,CAAC,EAE5C,GAAW,GACb,EAAiB,EAAS,CAAO,EAInC,EAAU,EAAS,CAAQ,EAEvB,MAAM,CAAW,IAEnB,EAAc,EAAY,YAAY,EACpC,EAAgB,KAAK,KAAM,EAAS,CAAoB,CAAC,GAI7D,EAAY,UAAU,EAAa,CAAO,EAG1C,EAAgB,EAAS,EAAsB,CAAW,EAEnD,CACI,UACA,UACa,uBACT,cACH,UACZ,CACF,CAWA,EAAQ,OAAS,SAAiB,EAAM,EAAS,CAC/C,GAAW,IAAS,QAAe,IAAS,GAC1C,MAAU,MAAM,eAAe,EAGjC,IAAI,EAAuB,EAAQ,EAC/B,EACA,EAaJ,OAXW,IAAY,SAErB,EAAuB,EAAQ,KAAK,EAAQ,qBAAsB,EAAQ,CAAC,EAC3E,EAAU,EAAQ,KAAK,EAAQ,OAAO,EACtC,EAAO,EAAY,KAAK,EAAQ,WAAW,EAEvC,EAAQ,YACV,EAAM,kBAAkB,EAAQ,UAAU,GAIvC,EAAa,EAAM,EAAS,EAAsB,CAAI,CAC/D,eC9eA,SAAS,EAAU,EAAK,CAKtB,GAJI,OAAO,GAAQ,WACjB,EAAM,EAAI,SAAS,GAGjB,OAAO,GAAQ,SACjB,MAAU,MAAM,uCAAuC,EAGzD,IAAI,EAAU,EAAI,MAAM,EAAE,QAAQ,IAAK,EAAE,EAAE,MAAM,EAAE,EACnD,GAAI,EAAQ,OAAS,GAAK,EAAQ,SAAW,GAAK,EAAQ,OAAS,EACjE,MAAU,MAAM,sBAAwB,CAAG,GAIzC,EAAQ,SAAW,GAAK,EAAQ,SAAW,KAC7C,EAAU,MAAM,UAAU,OAAO,MAAM,CAAC,EAAG,EAAQ,IAAI,SAAU,EAAG,CAClE,MAAO,CAAC,EAAG,CAAC,CACd,CAAC,CAAC,GAIA,EAAQ,SAAW,GAAG,EAAQ,KAAK,IAAK,GAAG,EAE/C,IAAM,EAAW,SAAS,EAAQ,KAAK,EAAE,EAAG,EAAE,EAE9C,MAAO,CACL,EAAI,GAAY,GAAM,IACtB,EAAI,GAAY,GAAM,IACtB,EAAI,GAAY,EAAK,IACrB,EAAG,EAAW,IACd,IAAK,IAAM,EAAQ,MAAM,EAAG,CAAC,EAAE,KAAK,EAAE,CACxC,CACF,CAEA,EAAQ,WAAa,SAAqB,EAAS,CACjD,AAAc,IAAU,CAAC,EACzB,AAAoB,EAAQ,QAAQ,CAAC,EAErC,IAAM,EAAgB,EAAQ,SAAW,QACvC,EAAQ,SAAW,MACnB,EAAQ,OAAS,EACf,EACA,EAAQ,OAEN,EAAQ,EAAQ,OAAS,EAAQ,OAAS,GAAK,EAAQ,MAAQ,IAAA,GAC/D,EAAQ,EAAQ,OAAS,EAE/B,MAAO,CACE,QACP,MAAO,EAAQ,EAAI,EACX,SACR,MAAO,CACL,KAAM,EAAS,EAAQ,MAAM,MAAQ,WAAW,EAChD,MAAO,EAAS,EAAQ,MAAM,OAAS,WAAW,CACpD,EACA,KAAM,EAAQ,KACd,aAAc,EAAQ,cAAgB,CAAC,CACzC,CACF,EAEA,EAAQ,SAAW,SAAmB,EAAQ,EAAM,CAClD,OAAO,EAAK,OAAS,EAAK,OAAS,EAAS,EAAK,OAAS,EACtD,EAAK,OAAS,EAAS,EAAK,OAAS,GACrC,EAAK,KACX,EAEA,EAAQ,cAAgB,SAAwB,EAAQ,EAAM,CAC5D,IAAM,EAAQ,EAAQ,SAAS,EAAQ,CAAI,EAC3C,OAAO,KAAK,OAAO,EAAS,EAAK,OAAS,GAAK,CAAK,CACtD,EAEA,EAAQ,cAAgB,SAAwB,EAAS,EAAI,EAAM,CACjE,IAAM,EAAO,EAAG,QAAQ,KAClB,EAAO,EAAG,QAAQ,KAClB,EAAQ,EAAQ,SAAS,EAAM,CAAI,EACnC,EAAa,KAAK,OAAO,EAAO,EAAK,OAAS,GAAK,CAAK,EACxD,EAAe,EAAK,OAAS,EAC7B,EAAU,CAAC,EAAK,MAAM,MAAO,EAAK,MAAM,IAAI,EAElD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAY,IAC9B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAY,IAAK,CACnC,IAAI,GAAU,EAAI,EAAa,GAAK,EAChC,EAAU,EAAK,MAAM,MAEzB,GAAI,GAAK,GAAgB,GAAK,GAC5B,EAAI,EAAa,GAAgB,EAAI,EAAa,EAAc,CAChE,IAAM,EAAO,KAAK,OAAO,EAAI,GAAgB,CAAK,EAC5C,EAAO,KAAK,OAAO,EAAI,GAAgB,CAAK,EAClD,EAAU,EAAQ,KAAK,EAAO,EAAO,GACvC,CAEA,EAAQ,KAAY,EAAQ,EAC5B,EAAQ,KAAY,EAAQ,EAC5B,EAAQ,KAAY,EAAQ,EAC5B,EAAQ,GAAU,EAAQ,CAC5B,CAEJ,eClGA,IAAM,EAAA,GAAA,EAEN,SAAS,EAAa,EAAK,EAAQ,EAAM,CACvC,EAAI,UAAU,EAAG,EAAG,EAAO,MAAO,EAAO,MAAM,EAE/C,AAAmB,EAAO,QAAQ,CAAC,EACnC,EAAO,OAAS,EAChB,EAAO,MAAQ,EACf,EAAO,MAAM,OAAS,EAAO,KAC7B,EAAO,MAAM,MAAQ,EAAO,IAC9B,CAEA,SAAS,GAAoB,CAC3B,GAAI,CACF,OAAO,SAAS,cAAc,QAAQ,CACxC,MAAY,CACV,MAAU,MAAM,sCAAsC,CACxD,CACF,CAEA,EAAQ,OAAS,SAAiB,EAAQ,EAAQ,EAAS,CACzD,IAAI,EAAO,EACP,EAAW,EAEJ,IAAS,SAAgB,CAAC,GAAU,CAAC,EAAO,cACrD,EAAO,EACP,EAAS,IAAA,IAGN,IACH,EAAW,EAAiB,GAG9B,EAAO,EAAM,WAAW,CAAI,EAC5B,IAAM,EAAO,EAAM,cAAc,EAAO,QAAQ,KAAM,CAAI,EAEpD,EAAM,EAAS,WAAW,IAAI,EAC9B,EAAQ,EAAI,gBAAgB,EAAM,CAAI,EAM5C,OALA,EAAM,cAAc,EAAM,KAAM,EAAQ,CAAI,EAE5C,EAAY,EAAK,EAAU,CAAI,EAC/B,EAAI,aAAa,EAAO,EAAG,CAAC,EAErB,CACT,EAEA,EAAQ,gBAAkB,SAA0B,EAAQ,EAAQ,EAAS,CAC3E,IAAI,EAAO,EAEA,IAAS,SAAgB,CAAC,GAAU,CAAC,EAAO,cACrD,EAAO,EACP,EAAS,IAAA,IAGX,AAAW,IAAO,CAAC,EAEnB,IAAM,EAAW,EAAQ,OAAO,EAAQ,EAAQ,CAAI,EAE9C,EAAO,EAAK,MAAQ,YACpB,EAAe,EAAK,cAAgB,CAAC,EAE3C,OAAO,EAAS,UAAU,EAAM,EAAa,OAAO,CACtD,eC9DA,IAAM,EAAA,GAAA,EAEN,SAAS,EAAgB,EAAO,EAAQ,CACtC,IAAM,EAAQ,EAAM,EAAI,IAClB,EAAM,EAAS,KAAO,EAAM,IAAM,IAExC,OAAO,EAAQ,EACX,EAAM,IAAM,EAAS,aAAe,EAAM,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAI,IAChE,CACN,CAEA,SAAS,EAAQ,EAAK,EAAG,EAAG,CAC1B,IAAI,EAAM,EAAM,EAGhB,OAFW,IAAM,SAAa,GAAO,IAAM,GAEpC,CACT,CAEA,SAAS,EAAU,EAAM,EAAM,EAAQ,CACrC,IAAI,EAAO,GACP,EAAS,EACT,EAAS,GACT,EAAa,EAEjB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,IAAM,EAAM,KAAK,MAAM,EAAI,CAAI,EACzB,EAAM,KAAK,MAAM,EAAI,CAAI,EAE3B,CAAC,GAAO,CAAC,IAAQ,EAAS,IAE1B,EAAK,IACP,IAEM,EAAI,GAAK,EAAM,GAAK,EAAK,EAAI,KACjC,GAAQ,EACJ,EAAO,IAAK,EAAM,EAAQ,GAAM,EAAM,CAAM,EAC5C,EAAO,IAAK,EAAQ,CAAC,EAEzB,EAAS,EACT,EAAS,IAGL,EAAM,EAAI,GAAQ,EAAK,EAAI,KAC/B,GAAQ,EAAO,IAAK,CAAU,EAC9B,EAAa,IAGf,GAEJ,CAEA,OAAO,CACT,CAEA,EAAQ,OAAS,SAAiB,EAAQ,EAAS,EAAI,CACrD,IAAM,EAAO,EAAM,WAAW,CAAO,EAC/B,EAAO,EAAO,QAAQ,KACtB,EAAO,EAAO,QAAQ,KACtB,EAAa,EAAO,EAAK,OAAS,EAElC,EAAM,EAAK,MAAM,MAAM,EAEzB,SAAW,EAAe,EAAK,MAAM,MAAO,MAAM,EAClD,YAAc,EAAa,IAAM,EAAa,SAF9C,GAIE,EACJ,SAAW,EAAe,EAAK,MAAM,KAAM,QAAQ,EACnD,OAAS,EAAS,EAAM,EAAM,EAAK,MAAM,EAAI,MAEzC,EAAU,gBAAuB,EAAa,IAAM,EAAa,IAIjE,EAAS,4CAFA,EAAK,MAAa,UAAY,EAAK,MAAQ,aAAe,EAAK,MAAQ,KAA1D,IAEwC,EAAU,iCAAmC,EAAK,EAAO;EAM7H,OAJI,OAAO,GAAO,YAChB,EAAG,KAAM,CAAM,EAGV,CACT,gBC/EA,IAAM,EAAA,GAAA,EAEA,EAAA,GAAA,EACA,EAAA,GAAA,EACA,EAAA,GAAA,EAEN,SAAS,EAAc,EAAY,EAAQ,EAAM,EAAM,EAAI,CACzD,IAAM,EAAO,CAAC,EAAE,MAAM,KAAK,UAAW,CAAC,EACjC,EAAU,EAAK,OACf,EAAc,OAAO,EAAK,EAAU,IAAO,WAEjD,GAAI,CAAC,GAAe,CAAC,EAAW,EAC9B,MAAU,MAAM,oCAAoC,EAGtD,GAAI,EAAa,CACf,GAAI,EAAU,EACZ,MAAU,MAAM,4BAA4B,EAG1C,IAAY,GACd,EAAK,EACL,EAAO,EACP,EAAS,EAAO,IAAA,IACP,IAAY,IACjB,EAAO,YAAqB,IAAO,QACrC,EAAK,EACL,EAAO,IAAA,KAEP,EAAK,EACL,EAAO,EACP,EAAO,EACP,EAAS,IAAA,IAGf,KAAO,CACL,GAAI,EAAU,EACZ,MAAU,MAAM,4BAA4B,EAY9C,OATI,IAAY,GACd,EAAO,EACP,EAAS,EAAO,IAAA,IACP,IAAY,GAAK,CAAC,EAAO,aAClC,EAAO,EACP,EAAO,EACP,EAAS,IAAA,IAGJ,IAAI,QAAQ,SAAU,EAAS,EAAQ,CAC5C,GAAI,CAEF,EAAQ,EADK,EAAO,OAAO,EAAM,CACX,EAAG,EAAQ,CAAI,CAAC,CACxC,OAAS,EAAG,CACV,EAAO,CAAC,CACV,CACF,CAAC,CACH,CAEA,GAAI,CACF,IAAM,EAAO,EAAO,OAAO,EAAM,CAAI,EACrC,EAAG,KAAM,EAAW,EAAM,EAAQ,CAAI,CAAC,CACzC,OAAS,EAAG,CACV,EAAG,CAAC,CACN,CACF,CAEA,EAAQ,OAAS,EAAO,OACxB,EAAQ,SAAW,EAAa,KAAK,KAAM,EAAe,MAAM,EAChE,EAAQ,UAAY,EAAa,KAAK,KAAM,EAAe,eAAe,EAG1E,EAAQ,SAAW,EAAa,KAAK,KAAM,SAAU,EAAM,EAAG,EAAM,CAClE,OAAO,EAAY,OAAO,EAAM,CAAI,CACtC,CAAC,UC5CY,GAAsB,CAAE,oBAAmB,YAAsC,CAC1F,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAI,EACrC,CAAC,EAAO,IAAA,EAAA,EAAA,UAAoC,IAAI,EAChD,CAAC,EAAK,IAAA,EAAA,EAAA,UAAkC,IAAI,EAC5C,CAAC,EAAM,IAAA,EAAA,EAAA,UAAmC,IAAI,EAC9C,GAAA,EAAA,EAAA,QAA6C,IAAI,EAqCvD,OAnCA,EAAA,EAAA,eAAgB,CACZ,IAAI,EAAY,GAgBhB,OAfC,SAAY,CACT,EAAW,EAAI,EACf,EAAS,IAAI,EACb,IAAM,EAAM,MAAM,GAAsB,EACpC,MACJ,IAAI,CAAC,EAAK,CACN,EAAS,mFAAmF,EAC5F,EAAW,EAAK,EAChB,MACJ,CAEA,EAAO,GADY,EAAI,OAAO,QAAQ,MAAO,EAAE,EAAE,eAAe,EAAI,UACtD,EACd,EAAQ,GAA6B,EAAI,QAAQ,CAAC,EAClD,EAAW,EAAK,CAJhB,CAKJ,GAAG,MACU,CACT,EAAY,EAChB,CACJ,EAAG,CAAC,CAAC,GAEL,EAAA,EAAA,eAAgB,CACR,CAAC,GAAO,CAAC,EAAU,SAIvB,EAAO,SAAS,EAAU,QAAS,EAAK,CAAE,MAAO,IAAK,qBAAsB,IAAK,OAAQ,CAAE,EAAI,GAAQ,CAC/F,IACA,QAAQ,MAAM,oBAAqB,CAAG,EACtC,EAAS,2BAA2B,EAE5C,CAAC,CACL,EAAG,CAAC,CAAG,CAAC,GAGJ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oCAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4BAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,4CAAmC,wBAA0B,CAAA,GAC3E,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,8BAAqB,gHAE/B,CAAA,CACF,KAEL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oEAAf,CACK,IAAW,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,2CAAkC,yBAA0B,CAAA,EAEpF,IAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,uEAA+D,CAAW,CAAA,EAElG,GAAO,CAAC,IACL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4CAAf,EACI,EAAA,EAAA,KAAC,SAAD,CAAQ,IAAK,EAAW,aAAW,SAAW,CAAA,GAE9C,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+EAAf,CACK,IACG,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,sEACV,EAAK,YAAY,CACjB,CAAA,EAER,IAAqB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,sCAA8B,CAAuB,CAAA,CACzF,GACJ,KAEL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gDAAf,EACI,EAAA,EAAA,KAAC,IAAD,CAAA,UACI,EAAA,EAAA,KAAC,SAAD,CAAA,SAAQ,aAAmB,CAAA,CAC5B,CAAA,GACH,EAAA,EAAA,MAAC,KAAD,CAAI,UAAU,uCAAd,EACI,EAAA,EAAA,KAAC,KAAD,CAAA,SAAI,uDAAyD,CAAA,GAC7D,EAAA,EAAA,KAAC,KAAD,CAAA,SAAI,4GAGA,CAAA,GACJ,EAAA,EAAA,KAAC,KAAD,CAAA,SAAI,wEAA0E,CAAA,GAC9E,EAAA,EAAA,KAAC,KAAD,CAAA,SAAI,gGAEA,CAAA,CACJ,GACH,KAEL,EAAA,EAAA,MAAC,UAAD,CAAS,UAAU,gBAAnB,EACI,EAAA,EAAA,KAAC,UAAD,CAAS,UAAU,oEAA2D,mCAErE,CAAA,GACT,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sEAAf,EACI,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,8BAAqB,+CAAgD,CAAA,GAClF,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iFAAyE,CAAU,CAAA,GACnG,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,8BAAb,CAAkC,sBACZ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oCAA2B,GAAO,CAAA,EAAC,kFAEtE,GACF,GACA,GACX,CAAA,CAAA,CAEL,IAEJ,IACG,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,6BACX,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,kIACb,QAEO,CAAA,CACP,CAAA,CAER,GAEb,ECxIa,OAAoB,CAC7B,IAAM,GAAA,EAAA,EAAA,QAA0C,IAAI,EAgCpD,OA9BA,EAAA,EAAA,eAAgB,CAEZ,IAAM,EAAU,SAAS,cAAc,KAAK,EAqB5C,MApBA,GAAQ,UAAY,gBACpB,EAAQ,aAAa,cAAe,KAAK,EACzC,EAAQ,aAAa,eAAgB,sCAAsC,EAC3E,EAAQ,aAAa,iBAAkB,WAAW,EAE9C,EAAiB,SACjB,EAAiB,QAAQ,YAAY,CAAO,EAI5C,OAAO,OACP,OAAO,MAAM,MAAM,OAAO,CACtB,OAAQ,MACR,SAAU,YACV,OAAQ,uCACR,OAAQ,CACZ,CAAC,MAIQ,CACL,EAAiB,UACjB,EAAiB,QAAQ,UAAY,GAE7C,CACJ,EAAG,CAAC,CAAC,GAGD,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4BAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,4CAAmC,iBAAmB,CAAA,GACpE,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,8BAAqB,uEAAwE,CAAA,CACzG,KAGL,EAAA,EAAA,KAAC,MAAD,CAAK,IAAK,EAAkB,UAAU,QAAU,CAAA,CAC/C,GAEb,EC1CM,IAAgB,CAAE,UAAS,cAC7B,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4FAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kCAAf,EACI,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,uBACV,KAAK,OACL,OAAO,eACP,QAAQ,YACR,MAAM,6BACN,KAAK,MACL,aAAW,iBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,OAAY,CAAA,GACnB,EAAA,EAAA,KAAC,OAAD,CACI,cAAc,QACd,eAAe,QACf,YAAa,EACb,EAAE,sEACL,CAAA,CACA,KACL,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,2DAAkD,yBAA2B,CAAA,CAC1F,KACL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sDAAf,EACI,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,mBAAW,CAAW,CAAA,GACnC,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,qCAA4B,+CAAgD,CAAA,CACxF,KACL,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,QAAS,EACT,UAAU,kHACb,OAEO,CAAA,CACP,IAGH,IAAgB,CAAE,UAAS,QAAQ,8BAEjC,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACI,UACT,UAAU,uQAHd,EAKI,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,qDACV,KAAK,OACL,OAAO,eACP,QAAQ,YACR,MAAM,6BACN,KAAK,MACL,aAAW,qBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,WAAgB,CAAA,GACvB,EAAA,EAAA,KAAC,OAAD,CAAM,cAAc,QAAQ,eAAe,QAAQ,YAAa,EAAG,EAAE,4BAA8B,CAAA,CAClG,KACL,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAW,CAAY,CAAA,GACvC,EAAA,EAAA,MAAC,MAAD,CACI,UAAU,yDACV,KAAK,OACL,OAAO,eACP,QAAQ,YACR,MAAM,6BACN,KAAK,MACL,aAAW,uBAPf,EASI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,aAAkB,CAAA,GACzB,EAAA,EAAA,KAAC,OAAD,CAAM,cAAc,QAAQ,eAAe,QAAQ,YAAa,EAAG,EAAE,cAAgB,CAAA,CACpF,GACD,IAIhB,SAAS,IAAM,CACX,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAiD,EAC3D,CAAC,EAAU,IAAA,EAAA,EAAA,UAA4C,EACvD,CAAC,EAAY,IAAA,EAAA,EAAA,UAAmC,EAAK,EACrD,CAAC,EAAa,IAAA,EAAA,EAAA,UAAiC,MAAM,EACrD,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA+C,IAAI,EACrE,CAAC,EAAiB,IAAA,EAAA,EAAA,UAAmD,EAErE,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA+C,IAAI,GAG3E,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAO,OAAO,SAAS,KAAK,MAAM,CAAC,EACrC,IAAS,UACT,EAAe,SAAS,EACjB,IAAS,MAChB,EAAe,KAAK,EACb,IAAS,gBAChB,EAAe,cAAc,CAErC,EAAG,CAAC,CAAC,GAGL,EAAA,EAAA,eAAgB,CACR,IAAgB,UAChB,OAAO,SAAS,KAAO,WAChB,IAAgB,MACvB,OAAO,SAAS,KAAO,OAChB,IAAgB,eACvB,OAAO,SAAS,KAAO,gBAEvB,OAAO,SAAS,KAAO,EAE/B,EAAG,CAAC,CAAW,CAAC,EAEhB,IAAM,GAAA,EAAA,EAAA,aAAsB,SAAY,CACpC,EAAY,IAAA,EAAS,EACrB,GAAI,CAEA,EAAW,MADU,EAAe,CACnB,CACrB,OAAS,EAAK,CAMV,QAAQ,KAAK,qBAAuB,EAAc,OAAO,EACzD,EAAW,IAAA,EAAS,EACpB,EAAa,EAAc,SAAW,8BAA8B,CACxE,CACJ,EAAG,CAAC,CAAC,GACL,EAAA,EAAA,eAAgB,CACZ,GAAa,GAEZ,SAAY,CACT,MAAM,EAAQ,EACd,GAAI,CACA,IAAM,EAAS,MAAM,GAAoB,EACnC,EAAe,CAAC,EAAO,UAC7B,EAAmB,CAAY,EAC3B,GACA,EAAe,YAAY,EAE3B,EAAO,WAAa,EAAO,OAC3B,EAAmB,EAAO,KAAK,CAEvC,MAAQ,CAEJ,EAAmB,EAAK,CAC5B,CACJ,GAAG,CACP,EAAG,CAAC,CAAO,CAAC,EAEZ,IAAM,EAAc,SAAY,CAC5B,MAAM,EAAQ,EACd,EAAc,EAAK,CACvB,EACM,EAAkB,SAAY,CAChC,EAAc,EAAI,CACtB,EACM,MAAe,EAAc,EAAK,EAExC,GAAI,CAAC,GAAW,CAAC,EAAU,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yDAAgD,aAAgB,CAAA,EAEjH,IAAM,EAAgB,SAAY,CAC9B,MAAM,GAAe,EACrB,MAAM,EAAQ,CAClB,EAKM,EAAe,SAAY,CAC7B,MAAM,GAAc,EACpB,MAAM,EAAQ,CAClB,EAMM,EAAY,GAAS,SAAW,UAChC,EACF,CAAC,CAAC,IACD,EAAQ,SAAW,UAAY,EAAQ,SAAW,WAAa,EAAQ,OAAS,SAAW,EAAQ,OAAS,YAEjH,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mFACX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uEAAf,EAEI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,0DAAf,EACI,EAAA,EAAA,MAAC,KAAD,CAAI,UAAU,wDAAd,CAA6D,yBAClC,KACvB,EAAA,EAAA,KAAC,IAAD,CAAG,KAAK,2BAA2B,UAAU,sCACzC,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,OAAQ,OAAQ,EAAG,IAAK,GAAU,IAAI,UAAY,CAAA,CACjE,CAAA,CACH,KACJ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,0CAAf,CACK,IACG,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAe,YAAY,EAC1C,UAAW,mDACP,IAAgB,aACV,qCACA,+DAEb,iBAEO,CAAA,GAEZ,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAe,MAAM,EACpC,UAAW,mDACP,IAAgB,OACV,mCACA,yDAEb,MAEO,CAAA,GACR,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAe,cAAc,EAC5C,UAAW,mDACP,IAAgB,eACV,mCACA,yDAEb,iBAEO,CAAA,EACP,GAAS,OAAS,UACf,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAe,KAAK,EACnC,UAAW,mDACP,IAAgB,MACV,mCACA,yDAEb,YAEO,CAAA,EAEX,GAAS,OAAS,SAAW,EAAQ,SAAW,YAC7C,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAe,aAAa,EAC3C,UAAW,mDACP,IAAgB,cACV,mCACA,yDAEb,qBAEO,CAAA,GAEZ,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAe,SAAS,EACvC,UAAW,mDACP,IAAgB,UACV,mCACA,yDAEb,SAEO,CAAA,CACP,GACJ,IAGJ,IAAgB,cACb,EAAA,EAAA,KAAC,GAAD,CACI,WAAY,SAAY,CAEpB,MAAM,EAAQ,EACd,IAAM,EAAS,MAAM,GAAoB,EACzC,EAAmB,CAAC,EAAO,SAAS,EAChC,EAAO,WAAa,EAAO,OAC3B,EAAmB,EAAO,KAAK,EAEnC,EAAe,MAAM,CACzB,CACH,CAAA,EACD,IAAgB,gBAChB,EAAA,EAAA,KAAC,GAAD,CAAkB,YAAa,GAAS,MAAQ,UAAa,CAAA,EAC7D,IAAgB,WAChB,EAAA,EAAA,KAAC,GAAD,CAAc,CAAA,EACd,IAAgB,OAChB,EAAA,EAAA,KAAC,GAAD,CAAe,mBAAsB,EAAe,SAAS,CAAI,CAAA,EACjE,IAAgB,eAChB,EAAA,EAAA,KAAC,EAAD,CAAoB,WAAc,EAAe,MAAM,CAAI,CAAA,EAC3D,GAAY,CAAC,GACb,EAAA,EAAA,KAAC,GAAD,CAAc,QAAS,GAAY,+BAAgC,QAAS,CAAU,CAAA,GAEtF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,4CACT,GAkBE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mDAAf,CACK,IAAoB,MAEjB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oCAAf,EACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,4DAAmD,iCAE7D,CAAA,GACJ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,iDAAf,EACI,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAmB,EAAI,EACtC,UAAU,4KAHd,EAKI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oBAAW,IAAQ,CAAA,GACnC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,qEAA4D,sBAEtE,CAAA,GACN,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iCAAwB,sDAElC,CAAA,CACF,KACR,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACL,YAAe,EAAmB,EAAK,EACvC,UAAU,8KAHd,EAKI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oBAAW,IAAQ,CAAA,GACnC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,sEAA6D,kBAEvE,CAAA,GACN,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iCAAwB,6CAElC,CAAA,CACF,GACP,GACJ,IACL,GACA,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,GAAD,CAA6B,aAAc,CAAA,GAC3C,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,UAAU,wCACV,YAAe,EAAmB,EAAK,WAC1C,wCAEO,CAAA,CACV,CAAA,CAAA,GAEF,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,GAAD,CAAqB,CAAA,GACrB,EAAA,EAAA,KAAC,SAAD,CACI,KAAK,SACL,UAAU,wCACV,YAAe,EAAmB,EAAI,WACzC,4CAEO,CAAA,CACV,CAAA,CAAA,GAEN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBACX,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACL,YAAe,CACX,EAAO,EACP,EAAmB,IAAI,CAC3B,EACA,UAAU,mFANd,EAQI,EAAA,EAAA,MAAC,MAAD,CACI,KAAK,MACL,aAAW,aACX,MAAM,6BACN,UAAU,UACV,QAAQ,YACR,KAAK,wBANT,EAQI,EAAA,EAAA,KAAC,QAAD,CAAA,SAAO,YAAiB,CAAA,GACxB,EAAA,EAAA,KAAC,OAAD,CACI,SAAS,UACT,EAAE,oHACF,SAAS,SACZ,CAAA,CACA,IAAC,MAEF,GACP,CAAA,CACJ,KAvGL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,GAAD,CAAyB,UAA0B,iBAAkB,CAAA,GACrE,EAAA,EAAA,KAAC,GAAD,CACa,UACT,mBAAsB,EAAe,YAAY,EACjD,qBAAsB,EACtB,UAAW,EACX,SAAU,CACb,CAAA,EACA,IACG,EAAA,EAAA,KAAC,GAAD,CACI,QAAS,EACT,MAAO,EAAY,0BAA4B,IAAA,EAClD,CAAA,CAEP,CAAA,CAAA,CA0FL,CAAA,CAER,GACJ,CAAA,CAEb,GC5ZS,WAAW,SAAS,eAAe,MAAM,CAAE,EAAE,QAClD,EAAA,EAAA,KAAA,EAAO,WAAP,CAAA,UACI,EAAA,EAAA,KAAC,GAAD,CAAM,CAAA,CACQ,CAAA,CACtB"}