@enbox/dwn-sdk-js 0.4.4 → 0.4.5

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 (197) hide show
  1. package/dist/browser.mjs +15 -15
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +5316 -2425
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/json-schemas/definitions.json +18 -0
  6. package/dist/esm/src/core/constants.js +3 -3
  7. package/dist/esm/src/core/constants.js.map +1 -1
  8. package/dist/esm/src/core/dwn-error.js +29 -1
  9. package/dist/esm/src/core/dwn-error.js.map +1 -1
  10. package/dist/esm/src/core/messages-grant-authorization.js +20 -0
  11. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  12. package/dist/esm/src/core/protocol-authorization-validation.js +80 -3
  13. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
  14. package/dist/esm/src/core/recording-validation-state-reader.js +5 -0
  15. package/dist/esm/src/core/recording-validation-state-reader.js.map +1 -1
  16. package/dist/esm/src/core/replication-apply.js +163 -7
  17. package/dist/esm/src/core/replication-apply.js.map +1 -1
  18. package/dist/esm/src/core/validation-state-reader.js +20 -0
  19. package/dist/esm/src/core/validation-state-reader.js.map +1 -1
  20. package/dist/esm/src/dwn.js +19 -2
  21. package/dist/esm/src/dwn.js.map +1 -1
  22. package/dist/esm/src/handlers/messages-query.js +3 -5
  23. package/dist/esm/src/handlers/messages-query.js.map +1 -1
  24. package/dist/esm/src/handlers/protocols-configure.js +10 -4
  25. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  26. package/dist/esm/src/handlers/records-write.js +1 -1
  27. package/dist/esm/src/handlers/records-write.js.map +1 -1
  28. package/dist/esm/src/index.js +2 -1
  29. package/dist/esm/src/index.js.map +1 -1
  30. package/dist/esm/src/interfaces/protocols-configure.js +23 -10
  31. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  32. package/dist/esm/src/interfaces/records-write-signing.js +2 -8
  33. package/dist/esm/src/interfaces/records-write-signing.js.map +1 -1
  34. package/dist/esm/src/interfaces/records-write.js +43 -65
  35. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  36. package/dist/esm/src/protocols/encryption.js +411 -0
  37. package/dist/esm/src/protocols/encryption.js.map +1 -0
  38. package/dist/esm/src/protocols/permission-grant.js +0 -5
  39. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  40. package/dist/esm/src/types/message-types.js.map +1 -1
  41. package/dist/esm/src/types/permission-types.js.map +1 -1
  42. package/dist/esm/src/types/protocols-types.js.map +1 -1
  43. package/dist/esm/src/utils/encryption.js +135 -187
  44. package/dist/esm/src/utils/encryption.js.map +1 -1
  45. package/dist/esm/src/utils/hd-key.js +0 -1
  46. package/dist/esm/src/utils/hd-key.js.map +1 -1
  47. package/dist/esm/src/utils/permission-scope.js +9 -6
  48. package/dist/esm/src/utils/permission-scope.js.map +1 -1
  49. package/dist/esm/src/utils/protocols.js +12 -9
  50. package/dist/esm/src/utils/protocols.js.map +1 -1
  51. package/dist/esm/src/utils/records.js +54 -56
  52. package/dist/esm/src/utils/records.js.map +1 -1
  53. package/dist/esm/src/utils/replication.js +27 -4
  54. package/dist/esm/src/utils/replication.js.map +1 -1
  55. package/dist/esm/tests/core/replication-apply.spec.js +141 -1
  56. package/dist/esm/tests/core/replication-apply.spec.js.map +1 -1
  57. package/dist/esm/tests/core/replication-replay-property.spec.js +1 -0
  58. package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -1
  59. package/dist/esm/tests/core/validation-read-closure.spec.js +111 -0
  60. package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
  61. package/dist/esm/tests/core/validation-state-reader.spec.js +89 -0
  62. package/dist/esm/tests/core/validation-state-reader.spec.js.map +1 -1
  63. package/dist/esm/tests/features/protocol-composition.spec.js +30 -31
  64. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  65. package/dist/esm/tests/fuzz/encryption.fuzz.spec.js +29 -121
  66. package/dist/esm/tests/fuzz/encryption.fuzz.spec.js.map +1 -1
  67. package/dist/esm/tests/handlers/messages-query.spec.js +71 -3
  68. package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -1
  69. package/dist/esm/tests/handlers/messages-read.spec.js +2 -2
  70. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  71. package/dist/esm/tests/handlers/records-read.spec.js +9 -135
  72. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  73. package/dist/esm/tests/handlers/records-write.spec.js +279 -19
  74. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  75. package/dist/esm/tests/interfaces/protocols-configure.spec.js +17 -22
  76. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  77. package/dist/esm/tests/interfaces/records-write.spec.js +170 -150
  78. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  79. package/dist/esm/tests/protocols/encryption.spec.js +914 -0
  80. package/dist/esm/tests/protocols/encryption.spec.js.map +1 -0
  81. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +100 -100
  82. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  83. package/dist/esm/tests/store/message-store-level.spec.js +20 -2
  84. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  85. package/dist/esm/tests/utils/encryption-callbacks.spec.js +88 -125
  86. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
  87. package/dist/esm/tests/utils/encryption.spec.js +125 -255
  88. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  89. package/dist/esm/tests/utils/permission-scope.spec.js +5 -1
  90. package/dist/esm/tests/utils/permission-scope.spec.js.map +1 -1
  91. package/dist/esm/tests/utils/records.spec.js +15 -5
  92. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  93. package/dist/esm/tests/utils/test-data-generator.js +7 -44
  94. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  95. package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js +63 -0
  96. package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js.map +1 -0
  97. package/dist/types/generated/precompiled-validators.d.ts +140 -92
  98. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  99. package/dist/types/src/core/constants.d.ts +2 -2
  100. package/dist/types/src/core/constants.d.ts.map +1 -1
  101. package/dist/types/src/core/core-protocol.d.ts +1 -1
  102. package/dist/types/src/core/core-protocol.d.ts.map +1 -1
  103. package/dist/types/src/core/dwn-error.d.ts +29 -1
  104. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  105. package/dist/types/src/core/messages-grant-authorization.d.ts +2 -0
  106. package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
  107. package/dist/types/src/core/protocol-authorization-validation.d.ts +2 -2
  108. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
  109. package/dist/types/src/core/recording-validation-state-reader.d.ts +9 -0
  110. package/dist/types/src/core/recording-validation-state-reader.d.ts.map +1 -1
  111. package/dist/types/src/core/replication-apply.d.ts +4 -3
  112. package/dist/types/src/core/replication-apply.d.ts.map +1 -1
  113. package/dist/types/src/core/validation-state-reader.d.ts +9 -0
  114. package/dist/types/src/core/validation-state-reader.d.ts.map +1 -1
  115. package/dist/types/src/dwn.d.ts +1 -0
  116. package/dist/types/src/dwn.d.ts.map +1 -1
  117. package/dist/types/src/handlers/messages-query.d.ts.map +1 -1
  118. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  119. package/dist/types/src/index.d.ts +6 -5
  120. package/dist/types/src/index.d.ts.map +1 -1
  121. package/dist/types/src/interfaces/protocols-configure.d.ts +1 -1
  122. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  123. package/dist/types/src/interfaces/records-write-signing.d.ts +4 -8
  124. package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -1
  125. package/dist/types/src/interfaces/records-write.d.ts +10 -26
  126. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  127. package/dist/types/src/protocols/encryption.d.ts +43 -0
  128. package/dist/types/src/protocols/encryption.d.ts.map +1 -0
  129. package/dist/types/src/protocols/permission-grant.d.ts +0 -7
  130. package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
  131. package/dist/types/src/types/encryption-types.d.ts +5 -38
  132. package/dist/types/src/types/encryption-types.d.ts.map +1 -1
  133. package/dist/types/src/types/message-types.d.ts +0 -13
  134. package/dist/types/src/types/message-types.d.ts.map +1 -1
  135. package/dist/types/src/types/permission-types.d.ts +0 -9
  136. package/dist/types/src/types/permission-types.d.ts.map +1 -1
  137. package/dist/types/src/types/protocols-types.d.ts +9 -14
  138. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  139. package/dist/types/src/types/records-types.d.ts +3 -3
  140. package/dist/types/src/types/records-types.d.ts.map +1 -1
  141. package/dist/types/src/types/validation-state-reader.d.ts +12 -0
  142. package/dist/types/src/types/validation-state-reader.d.ts.map +1 -1
  143. package/dist/types/src/utils/encryption.d.ts +54 -145
  144. package/dist/types/src/utils/encryption.d.ts.map +1 -1
  145. package/dist/types/src/utils/hd-key.d.ts +1 -1
  146. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  147. package/dist/types/src/utils/permission-scope.d.ts +4 -3
  148. package/dist/types/src/utils/permission-scope.d.ts.map +1 -1
  149. package/dist/types/src/utils/protocols.d.ts +3 -5
  150. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  151. package/dist/types/src/utils/records.d.ts +5 -13
  152. package/dist/types/src/utils/records.d.ts.map +1 -1
  153. package/dist/types/src/utils/replication.d.ts +3 -0
  154. package/dist/types/src/utils/replication.d.ts.map +1 -1
  155. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  156. package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -1
  157. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  158. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  159. package/dist/types/tests/protocols/encryption.spec.d.ts +2 -0
  160. package/dist/types/tests/protocols/encryption.spec.d.ts.map +1 -0
  161. package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
  162. package/dist/types/tests/utils/test-data-generator.d.ts +0 -5
  163. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  164. package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts +2 -0
  165. package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts.map +1 -0
  166. package/package.json +3 -3
  167. package/src/core/constants.ts +3 -3
  168. package/src/core/core-protocol.ts +1 -1
  169. package/src/core/dwn-error.ts +29 -1
  170. package/src/core/messages-grant-authorization.ts +27 -0
  171. package/src/core/protocol-authorization-validation.ts +145 -6
  172. package/src/core/recording-validation-state-reader.ts +13 -0
  173. package/src/core/replication-apply.ts +222 -8
  174. package/src/core/validation-state-reader.ts +30 -0
  175. package/src/dwn.ts +24 -2
  176. package/src/handlers/messages-query.ts +6 -5
  177. package/src/handlers/protocols-configure.ts +19 -3
  178. package/src/handlers/records-write.ts +1 -1
  179. package/src/index.ts +15 -5
  180. package/src/interfaces/protocols-configure.ts +39 -12
  181. package/src/interfaces/records-write-signing.ts +5 -12
  182. package/src/interfaces/records-write.ts +75 -92
  183. package/src/protocols/encryption.ts +649 -0
  184. package/src/protocols/permission-grant.ts +0 -6
  185. package/src/types/encryption-types.ts +9 -38
  186. package/src/types/message-types.ts +0 -13
  187. package/src/types/permission-types.ts +0 -10
  188. package/src/types/protocols-types.ts +9 -16
  189. package/src/types/records-types.ts +3 -3
  190. package/src/types/validation-state-reader.ts +13 -0
  191. package/src/utils/encryption.ts +213 -283
  192. package/src/utils/hd-key.ts +1 -1
  193. package/src/utils/permission-scope.ts +10 -6
  194. package/src/utils/protocols.ts +16 -15
  195. package/src/utils/records.ts +86 -71
  196. package/src/utils/replication.ts +30 -4
  197. package/dist/esm/tests/vectors/protocol-definitions/chat.json +0 -70
@@ -1 +1 @@
1
- {"version":3,"file":"messages-read.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-read.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-read.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-read.spec.ts"],"names":[],"mappings":"AASA,OAAO,UAAU,MAAM,mDAAmD,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,yBAAyB,MAAM,8CAA8C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3G,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAClK,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,uBAAuB;IACrC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,IAAI,GAAQ,CAAC;QACb,IAAI,WAAwB,CAAC;QAC7B,IAAI,YAA0B,CAAC;QAC/B,IAAI,SAAoB,CAAC;QACzB,IAAI,kBAAsC,CAAC;QAC3C,IAAI,QAAkB,CAAC;QAEvB,mGAAmG;QACnG,6EAA6E;QAC7E,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAChC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YAC/C,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;YAE9B,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,IAAI,EAAE;YACtB,+GAA+G;YAC7G,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAEjC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,4CAA4C;QAC/D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAE9D,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAE1F,yBAAyB;YACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAO,KAAK;gBAClB,UAAU,EAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE;aAC3D,CAAC,CAAC;YAEH,yCAAyC;YACzC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEzF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAO,KAAK;gBAClB,UAAU,EAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;aACxD,CAAC,CAAC;YAEF,OAAO,CAAC,YAAY,CAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;YAEjD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAE3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEzF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAO,KAAK;gBAClB,UAAU,EAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;aACxD,CAAC,CAAC;YAEH,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,WAAW,CAAC;YAE5C,MAAM,KAAK,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAE9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;YACtG,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzF,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAO,KAAK;gBAClB,UAAU,EAAG,sBAAsB;aACpC,CAAC,CAAC;YAEH,wEAAwE;YACxE,MAAM,KAAK,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;YAC/B,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;gBAC1C,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;oBAC7D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAE7D,mDAAmD;oBACnD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5G,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACnF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE9B,kCAAkC;oBAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC/D,MAAM,EAAO,KAAK;wBAClB,UAAU,EAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;qBAChD,CAAC,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAEzD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;oBACnD,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;wBAC3C,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;wBAE9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAE/D,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BACpG,MAAM,EAAG,KAAK;4BACd,IAAI,EAAK,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC;yBAClF,CAAC,CAAC;wBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEpC,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAClE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAC/D,MAAM,EAAO,KAAK;4BAClB,UAAU,EAAG,sBAAsB;yBACpC,CAAC,CAAC;wBAEH,MAAM,iBAAiB,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC1F,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAM,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBAE7D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC3C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;wBACxC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAK,CAAC,CAAC;wBACjE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;wBAC9C,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;wBAE9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAE/D,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BACpG,MAAM,EAAG,KAAK;4BACd,IAAI,EAAK,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;yBACvF,CAAC,CAAC;wBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEpC,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAClE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAC/D,MAAM,EAAO,KAAK;4BAClB,UAAU,EAAG,sBAAsB;yBACpC,CAAC,CAAC;wBAEH,MAAM,iBAAiB,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC1F,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAM,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBAE7D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC3C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;wBACxC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAK,CAAC,CAAC;wBACjE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;wBACrC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;wBAE9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAE/D,gBAAgB;wBAChB,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAC9G,MAAM,EAAG,KAAK;4BACd,IAAI,EAAK,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;yBACvF,CAAC,CAAC;wBAEH,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;wBAEpE,IAAI,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBACrF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEpC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,CAAC;4BACrH,MAAM,EAAU,KAAK;4BACrB,aAAa,EAAG,YAAY;4BAC5B,IAAI,EAAY,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;yBAC9F,CAAC,CAAC;wBAEH,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;wBACtG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAC/D,MAAM,EAAO,KAAK;4BAClB,UAAU,EAAG,iBAAiB;yBAC/B,CAAC,CAAC;wBAEH,MAAM,iBAAiB,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC1F,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAM,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;wBAExD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC3C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;oBAC5C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;gBAC3C,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;oBAC7D,oGAAoG;oBACpG,0GAA0G;oBAE1G,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,qCAAqC;oBACrC,MAAM,6BAA6B,GAAG;wBACpC,GAAG,yBAAyB;wBAC5B,QAAQ,EAAI,yCAAyC;wBACrD,SAAS,EAAG,KAAK;qBAClB,CAAC;oBACF,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACpG,MAAM,EAAe,KAAK;wBAC1B,kBAAkB,EAAG,6BAA6B;qBACnD,CAAC,CAAC;oBACH,MAAM,kCAAkC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;oBAC9G,MAAM,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEjE,mCAAmC;oBACnC,MAAM,2BAA2B,GAAG;wBAClC,GAAG,yBAAyB;wBAC5B,QAAQ,EAAI,uCAAuC;wBACnD,SAAS,EAAG,IAAI;qBACjB,CAAC;oBACF,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBAClG,MAAM,EAAe,KAAK;wBAC1B,kBAAkB,EAAG,2BAA2B;qBACjD,CAAC,CAAC;oBACH,MAAM,gCAAgC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;oBAC1G,MAAM,CAAC,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE/D,uBAAuB;oBACvB,MAAM,6BAA6B,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;oBAC1F,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBAEtF,8DAA8D;oBAC9D,MAAM,EAAE,OAAO,EAAE,+BAA+B,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChG,MAAM,EAAO,GAAG;wBAChB,UAAU,EAAG,6BAA6B;qBAC3C,CAAC,CAAC;oBACH,MAAM,oCAAoC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;oBAClH,MAAM,CAAC,oCAAoC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnE,MAAM,CAAC,oCAAoC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;oBACnH,MAAM,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;oBAEnE,4DAA4D;oBAC5D,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC9F,MAAM,EAAO,GAAG;wBAChB,UAAU,EAAG,2BAA2B;qBACzC,CAAC,CAAC;oBACH,MAAM,kCAAkC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;oBAC9G,MAAM,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjE,MAAM,CAAC,kCAAkC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;oBACjH,MAAM,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;oBAEjE,4FAA4F;oBAC5F,MAAM,EAAE,OAAO,EAAE,oCAAoC,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACrG,MAAM,EAAO,KAAK;wBAClB,UAAU,EAAG,6BAA6B;qBAC3C,CAAC,CAAC;oBACH,MAAM,yCAAyC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;oBAC5H,MAAM,CAAC,yCAAyC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxE,MAAM,CAAC,yCAAyC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACtE,MAAM,CAAC,yCAAyC,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBACxG,MAAM,CAAC,yCAAyC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;oBAExG,MAAM,EAAE,OAAO,EAAE,kCAAkC,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACnG,MAAM,EAAO,KAAK;wBAClB,UAAU,EAAG,2BAA2B;qBACzC,CAAC,CAAC;oBACH,MAAM,uCAAuC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;oBACxH,MAAM,CAAC,uCAAuC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtE,MAAM,CAAC,uCAAuC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACpE,MAAM,CAAC,uCAAuC,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBACpG,MAAM,CAAC,uCAAuC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;gBACtG,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;YAC5B,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,0GAA0G;gBAE1G,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE5D,4BAA4B;gBAC5B,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;oBACzE,MAAM,EAAe,KAAK;oBAC1B,kBAAkB,EAAG,yBAAyB;iBAC/C,CAAC,CAAC;gBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEtD,yDAAyD;gBACzD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChF,MAAM,EAAS,KAAK;oBACpB,QAAQ,EAAO,yBAAyB,CAAC,QAAQ;oBACjD,YAAY,EAAG,KAAK;iBACrB,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEhD,+EAA+E;gBAC/E,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;oBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;oBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;oBAChF,KAAK,EAAS;wBACZ,SAAS,EAAG,gBAAgB,CAAC,OAAO;wBACpC,MAAM,EAAM,aAAa,CAAC,KAAK;wBAC/B,QAAQ,EAAI,yBAAyB,CAAC,QAAQ;qBAC/C;iBACF,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;gBACnF,MAAM,yBAAyB,GAAG,MAAM,GAAG,CAAC,cAAc,CACxD,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;gBACF,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAExD,yDAAyD;gBACzD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChE,MAAM,EAAe,GAAG;oBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;oBAC/D,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;iBACrE,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACpF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;gBAC/F,iFAAiF;gBACjF,sDAAsD;gBAEtD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE5D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,mCAAmC;gBACnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAC3E,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAEjD,6EAA6E;gBAC7E,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;oBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;oBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;oBAChF,KAAK,EAAS;wBACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;wBACrC,MAAM,EAAM,aAAa,CAAC,IAAI;qBAC/B;iBACF,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;gBACnF,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC9H,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,2DAA2D;gBAC3D,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChE,MAAM,EAAe,GAAG;oBACxB,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpE,UAAU;iBACX,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;gBACpF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE5D,MAAM,SAAS,GAAG,EAAE,GAAG,yBAAyB,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC;gBAC3F,MAAM,SAAS,GAAG,EAAE,GAAG,yBAAyB,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC;gBAE3F,KAAK,MAAM,kBAAkB,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;oBACxD,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACzE,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC;gBAED,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChF,MAAM,EAAS,KAAK;oBACpB,QAAQ,EAAO,SAAS,CAAC,QAAQ;oBACjC,YAAY,EAAG,KAAK;iBACrB,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEhD,MAAM,kBAAkB,GAAa,EAAE,CAAC;gBACxC,KAAK,MAAM,kBAAkB,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;oBACxD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;wBACnE,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACnF,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBAC9H,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzE,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC9D,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChE,MAAM,EAAe,GAAG;oBACxB,UAAU;oBACV,kBAAkB,EAAG,kBAAkB,CAAC,OAAO,EAAE;iBAClD,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;gBACnF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC5D,MAAM,kBAAkB,GAAG,EAAE,GAAG,yBAAyB,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CAAC;gBAE7G,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;oBACzE,MAAM,EAAE,KAAK;oBACb,kBAAkB;iBACnB,CAAC,CAAC;gBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEtD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChF,MAAM,EAAS,KAAK;oBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;oBAC1C,YAAY,EAAG,KAAK;iBACrB,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEhD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;oBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;oBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACnE,KAAK,EAAS;wBACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;wBACrC,MAAM,EAAM,aAAa,CAAC,IAAI;wBAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;qBACxC;iBACF,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;gBACnF,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC9H,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChE,MAAM,EAAe,GAAG;oBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;oBAC/D,kBAAkB,EAAG;wBACnB,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;wBAC7C,MAAM,iBAAiB,CAAC,mBAAmB,EAAE;qBAC9C;iBACF,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;gBACxC,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;oBACxF,qIAAqI;oBACrI,kFAAkF;oBAClF,2EAA2E;oBAC3E,iFAAiF;oBAEjF,sFAAsF;oBACtF,8EAA8E;oBAC9E,yFAAyF;oBACzF,wEAAwE;oBACxE,sEAAsE;oBACtE,8CAA8C;oBAC9C,gEAAgE;oBAChE,0HAA0H;oBAE1H,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE9D,MAAM,kBAAkB,GAAG,EAAE,GAAG,yBAAyB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oBAE9E,0CAA0C;oBAC1C,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACzE,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtD,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAElF,0DAA0D;oBAC1D,MAAM,sBAAsB,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC;wBACrE,MAAM,EAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACnC,SAAS,EAAG,KAAK;wBACjB,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,OAAO;4BACpC,MAAM,EAAM,aAAa,CAAC,KAAK;4BAC/B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,sBAAsB,GAAG,UAAU,CAAC,SAAS,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;oBACnG,MAAM,gCAAgC,GAAG,MAAM,GAAG,CAAC,cAAc,CAC/D,KAAK,CAAC,GAAG,EACT,sBAAsB,CAAC,YAAY,CAAC,OAAO,EAC3C,EAAE,UAAU,EAAE,sBAAsB,EAAE,CACvC,CAAC;oBACF,MAAM,CAAC,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE/D,6DAA6D;oBAC7D,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBACjE,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,KAAK,CAAC,GAAG;wBACvB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;wBAChF,SAAS,EAAK,sBAAsB,CAAC,qBAAqB,CAAC,SAAS;wBACpE,KAAK,EAAS,sBAAsB,CAAC,qBAAqB,CAAC,KAAK;qBACjE,CAAC,CAAC;oBAEH,MAAM,oBAAoB,GAAG,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;oBAC7F,MAAM,8BAA8B,GAAG,MAAM,GAAG,CAAC,cAAc,CAC7D,KAAK,CAAC,GAAG,EACT,oBAAoB,CAAC,YAAY,CAAC,OAAO,EACzC,EAAE,UAAU,EAAE,oBAAoB,EAAE,CACrC,CAAC;oBACF,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7D,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAE7F,qDAAqD;oBACrD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChF,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,KAAK;qBACrB,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACpG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAEzE,sDAAsD;oBACtD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC;wBAClE,MAAM,EAAK,KAAK;wBAChB,QAAQ,EAAG,YAAY,CAAC,OAAO,CAAC,QAAQ;qBACzC,CAAC,CAAC;oBACH,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;oBACtF,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEjD,qDAAqD;oBACrD,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACpH,MAAM,EAAc,KAAK;wBACzB,QAAQ,EAAY,kBAAkB,CAAC,QAAQ;wBAC/C,YAAY,EAAQ,KAAK;wBACzB,iBAAiB,EAAG,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBACvE,CAAC,CAAC;oBACH,MAAM,sBAAsB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBAC/H,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrD,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAE9E,8BAA8B;oBAC9B,MAAM,yBAAyB,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CAAC;wBAC3E,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBAChC,KAAK,EAAI,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;qBACxE,CAAC,CAAC;oBACH,MAAM,mCAAmC,GAAG,UAAU,CAAC,SAAS,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,CAAC;oBACtH,MAAM,8BAA8B,GAAG,MAAM,GAAG,CAAC,cAAc,CAC7D,KAAK,CAAC,GAAG,EACT,yBAAyB,CAAC,YAAY,CAAC,OAAO,EAC9C,EAAE,UAAU,EAAE,mCAAmC,EAAE,CACpD,CAAC;oBACF,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE7D,6DAA6D;oBAC7D,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;wBAChF,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACnF,MAAM,yBAAyB,GAAG,MAAM,GAAG,CAAC,cAAc,CACxD,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;oBACF,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExD,uEAAuE;oBACvE,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5E,MAAM,EAAO,GAAG;wBAChB,UAAU,EAAG,qBAAqB;qBACnC,CAAC,CAAC;oBACH,MAAM,6BAA6B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBAC5G,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;oBAE5G,kFAAkF;oBAClF,qBAAqB;oBACrB,2BAA2B;oBAC3B,yBAAyB;oBACzB,0BAA0B;oBAC1B,+BAA+B;oBAC/B,sCAAsC;oBACtC,yBAAyB;oBACzB,wCAAwC;oBAExC,yBAAyB;oBACzB,MAAM,6BAA6B,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACjF,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,2BAA2B;wBAChD,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,kCAAkC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;oBACtH,MAAM,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjE,MAAM,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC/D,MAAM,CAAC,kCAAkC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAE3F,qBAAqB;oBACrB,MAAM,qBAAqB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACzE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,qBAAqB;wBAC1C,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,0BAA0B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBACtG,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzD,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACvD,MAAM,CAAC,0BAA0B,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAEhF,sBAAsB;oBACtB,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACtE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;wBAChE,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAChG,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtD,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,CAAC,uBAAuB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAE9E,6BAA6B;oBAC7B,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5E,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC;wBACtF,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,6BAA6B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBAC5G,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC1D,MAAM,CAAC,6BAA6B,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAE1G,2BAA2B;oBAC3B,MAAM,sBAAsB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC1E,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,oBAAoB;wBACzC,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,2BAA2B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBACxG,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1D,MAAM,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACxD,MAAM,CAAC,2BAA2B,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAEtG,uBAAuB;oBACvB,MAAM,uBAAuB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC3E,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,qBAAqB;wBAC1C,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,4BAA4B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAC1G,MAAM,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3D,MAAM,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACzD,MAAM,CAAC,4BAA4B,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAEvF,2BAA2B;oBAC3B,MAAM,gCAAgC,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACpF,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,YAAY,CAAC,OAAO,CAAC;wBACzF,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,qCAAqC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC,OAAO,CAAC,CAAC;oBAC5H,MAAM,CAAC,qCAAqC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpE,MAAM,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAClE,MAAM,CAAC,qCAAqC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAErH,kEAAkE;oBAClE,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC/D,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACxH,MAAM,EAAE,KAAK;qBACd,CAAC,CAAC;oBACH,MAAM,wBAAwB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBACrI,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEvD,4CAA4C;oBAC5C,MAAM,mBAAmB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACvE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC;wBACtE,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,wBAAwB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAClG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;oBAChG,+GAA+G;oBAC/G,4EAA4E;oBAE5E,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;oBAErD,8BAA8B;oBAC9B,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACzE,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtD,yDAAyD;oBACzD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChF,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,KAAK;qBACrB,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACpG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEhD,6DAA6D;oBAC7D,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;wBAChF,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,sBAAsB;yBACnC;qBACF,CAAC,CAAC;oBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACnF,MAAM,yBAAyB,GAAG,MAAM,GAAG,CAAC,cAAc,CACxD,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;oBACF,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExD,yEAAyE;oBACzE,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5E,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;wBAC/D,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,6BAA6B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBAC5G,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;gBAC5G,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;oBAC5G,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC7D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;wBACnE,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,yBAAyB,CAAC,QAAQ;yBAC/C;qBACF,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAC9B,KAAK,CAAC,GAAG,EACT,gBAAgB,CAAC,YAAY,CAAC,OAAO,EACrC,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAC5E,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE1B,MAAM,wBAAwB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBACrE,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;wBACnE,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,mBAAmB,CAAC,GAAG;yBACpC;qBACF,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAC9B,KAAK,CAAC,GAAG,EACT,wBAAwB,CAAC,YAAY,CAAC,OAAO,EAC7C,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,EAAE,CACpF,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE1B,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC;wBAChF,kBAAkB,EAAG,CAAC,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBAC9E,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;oBAC1F,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC5D,MAAM,kBAAkB,GAAG,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CAAC;oBAC1F,MAAM,uBAAuB,GAAG,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,uCAAuC,EAAE,CAAC;oBAErG,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACtF,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrF,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBAC3F,MAAM,EAAe,KAAK;wBAC1B,kBAAkB,EAAG,uBAAuB;qBAC7C,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE1F,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChG,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,MAAM;wBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;qBACpD,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE5G,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACtE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5G,MAAM,EAAY,KAAK;wBACvB,QAAQ,EAAU,kBAAkB,CAAC,QAAQ;wBAC7C,YAAY,EAAM,iBAAiB;wBACnC,eAAe,EAAG,aAAa;qBAChC,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExH,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC1H,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,uBAAuB,CAAC,QAAQ;wBAC/C,YAAY,EAAG,MAAM;wBACrB,MAAM,EAAS,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;qBACzD,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtI,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC;wBACtE,MAAM,EAAK,KAAK;wBAChB,QAAQ,EAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;qBACjC,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE3F,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;wBACnE,KAAK,EAAS;4BACZ,SAAS,EAAM,gBAAgB,CAAC,QAAQ;4BACxC,MAAM,EAAS,aAAa,CAAC,IAAI;4BACjC,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;4BAC1C,YAAY,EAAG,MAAM;yBACtB;qBACF,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAC9B,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,CAC3E,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE1B,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAE9D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5D,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;wBACvD,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC9D,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;wBAChE,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExF,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAClE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;wBAC7D,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE5F,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACrE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;wBACpE,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,sBAAsB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAC9F,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrD,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;oBAEnG,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;wBAC1D,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,CAAC,iBAAiB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAElE,MAAM,uBAAuB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC3E,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC;wBAC/D,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,4BAA4B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAC1G,MAAM,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3D,MAAM,CAAC,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;oBAEzG,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACnE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC;wBAC/E,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,oBAAoB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC1F,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnD,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;oBAEjG,MAAM,yCAAyC,GAAG,KAAK,EAAE,KAAuD,EAAiB,EAAE;wBACjI,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;4BAClD,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;4BACrC,SAAS,EAAK,GAAG,CAAC,GAAG;4BACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;4BACnE,KAAK,EAAS;gCACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;gCACrC,MAAM,EAAM,aAAa,CAAC,IAAI;gCAC9B,QAAQ,EAAI,mBAAmB,CAAC,GAAG;gCACnC,GAAG,KAAK;6BACT;yBACF,CAAC,CAAC;wBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAC9B,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,YAAY,CAAC,OAAO,EAC1B,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CACjE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAE1B,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAChE,MAAM,EAAe,GAAG;4BACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC;4BAC/E,kBAAkB,EAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;yBAC3D,CAAC,CAAC;wBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;wBACpF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;oBAChG,CAAC,CAAC;oBAEF,MAAM,wBAAwB,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACjI,MAAM,yCAAyC,CAAC,EAAE,YAAY,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC;oBACjG,MAAM,yCAAyC,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,CAAC;gBAC3F,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;oBACrF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC5D,MAAM,kBAAkB,GAAG,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,oCAAoC,EAAE,CAAC;oBAE7F,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACtF,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAErF,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChG,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,MAAM;wBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;qBACpD,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE5G,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACtE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5G,MAAM,EAAY,KAAK;wBACvB,QAAQ,EAAU,kBAAkB,CAAC,QAAQ;wBAC7C,YAAY,EAAM,iBAAiB;wBACnC,eAAe,EAAG,aAAa;qBAChC,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExH,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC1G,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,MAAM;wBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;qBACpD,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtH,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;wBACnE,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;4BACvC,SAAS,EAAG,aAAa;yBAC1B;qBACF,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAC9B,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,CAC3E,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE1B,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAE9D,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBACzD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAChE,MAAM,EAAe,GAAG;4BACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;4BAClD,kBAAkB,EAAG,CAAC,OAAO,CAAC;yBAC/B,CAAC,CAAC;wBACH,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5F,CAAC;oBAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC/D,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;wBAC9D,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;oBAClF,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC/C,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;oBAE7F,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;wBAC1D,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,CAAC,iBAAiB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAElE,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACnE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC;wBAC/E,kBAAkB,EAAG,CAAC,OAAO,CAAC;qBAC/B,CAAC,CAAC;oBACH,MAAM,oBAAoB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC1F,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnD,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;oBAC5G,qGAAqG;oBAErG,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;oBAErD,8BAA8B;oBAC9B,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACzE,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtD,2DAA2D;oBAC3D,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;wBAChF,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACnF,MAAM,yBAAyB,GAAG,MAAM,GAAG,CAAC,cAAc,CACxD,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;oBACF,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExD,8DAA8D;oBAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACpE,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,KAAK;qBACrB,CAAC,CAAC;oBAEH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC;wBACtE,MAAM,EAAK,KAAK;wBAChB,QAAQ,EAAG,YAAY,CAAC,OAAO,CAAC,QAAQ;qBACzC,CAAC,CAAC;oBAEH,0EAA0E;oBAC1E,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBACrE,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC3F,MAAM,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAElE,gCAAgC;oBAChC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChE,MAAM,EAAe,GAAG;wBACxB,UAAU,EAAW,gBAAgB;wBACrC,kBAAkB,EAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,wCAAwC,CAAC,CAAC;gBAC3G,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,3 @@
1
- import chatProtocolDefinition from '../vectors/protocol-definitions/chat.json' with { type: 'json' };
2
1
  import emailProtocolDefinition from '../vectors/protocol-definitions/email.json' with { type: 'json' };
3
2
  import friendRoleProtocolDefinition from '../vectors/protocol-definitions/friend-role.json' with { type: 'json' };
4
3
  import minimalProtocolDefinition from '../vectors/protocol-definitions/minimal.json' with { type: 'json' };
@@ -1555,131 +1554,6 @@ export function testRecordsReadHandler() {
1555
1554
  });
1556
1555
  });
1557
1556
  describe('encryption scenarios', () => {
1558
- it('should only be able to decrypt record with a correct derived private key - `protocol-context` derivation scheme', async () => {
1559
- // scenario: Bob initiated an encrypted chat thread with Alice,
1560
- // bob is able to decrypt subsequent messages from Alice using the `protocol-context` derived private key
1561
- // creating Alice and Bob persona and setting up a stub DID resolver
1562
- const alice = await TestDataGenerator.generatePersona();
1563
- const bob = await TestDataGenerator.generatePersona();
1564
- TestStubGenerator.stubDidResolver(didResolver, [alice, bob]);
1565
- // Alice configures chat protocol with encryption
1566
- const protocolDefinition = chatProtocolDefinition;
1567
- const protocolDefinitionForAlice = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, alice.keyId, alice.encryptionKeyPair.privateJwk);
1568
- const protocolsConfigureForAlice = await TestDataGenerator.generateProtocolsConfigure({
1569
- author: alice,
1570
- protocolDefinition: protocolDefinitionForAlice
1571
- });
1572
- const protocolsConfigureForAliceReply = await dwn.processMessage(alice.did, protocolsConfigureForAlice.message);
1573
- expect(protocolsConfigureForAliceReply.status.code).toBe(202);
1574
- // Bob configures chat protocol with encryption
1575
- const protocolDefinitionForBob = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, bob.keyId, bob.encryptionKeyPair.privateJwk);
1576
- const protocolsConfigureForBob = await TestDataGenerator.generateProtocolsConfigure({
1577
- author: bob,
1578
- protocolDefinition: protocolDefinitionForBob
1579
- });
1580
- const protocolsConfigureReply = await dwn.processMessage(bob.did, protocolsConfigureForBob.message);
1581
- expect(protocolsConfigureReply.status.code).toBe(202);
1582
- // Bob queries for Alice's chat protocol definition
1583
- const protocolsQuery = await ProtocolsQuery.create({
1584
- filter: { protocol: chatProtocolDefinition.protocol }
1585
- });
1586
- const protocolsQueryReply = await dwn.processMessage(alice.did, protocolsQuery.message);
1587
- const protocolsConfigureMessageReceived = protocolsQueryReply.entries[0];
1588
- // Bob verifies that the chat protocol definition is authored by Alice
1589
- await authenticate(protocolsConfigureMessageReceived.authorization, didResolver);
1590
- const protocolsConfigureFetched = await ProtocolsConfigure.parse(protocolsConfigureMessageReceived);
1591
- expect(protocolsConfigureFetched.author).toBe(alice.did);
1592
- // Bob creates an initiating a chat thread RecordsWrite
1593
- const plaintextMessageToAlice = TestDataGenerator.randomBytes(100);
1594
- const { message: threadMessage, dataStream, recordsWrite, encryptedDataBytes, encryptionInput } = await TestDataGenerator.generateProtocolEncryptedRecordsWrite({
1595
- plaintextBytes: plaintextMessageToAlice,
1596
- author: bob,
1597
- protocolDefinition: protocolsConfigureForAlice.message.descriptor.definition,
1598
- protocolPath: 'thread',
1599
- encryptSymmetricKeyWithProtocolPathDerivedKey: true,
1600
- encryptSymmetricKeyWithProtocolContextDerivedKey: true
1601
- });
1602
- // Bob writes the encrypted chat thread to Alice's DWN
1603
- const bobToAliceWriteReply = await dwn.processMessage(alice.did, threadMessage, { dataStream });
1604
- expect(bobToAliceWriteReply.status.code).toBe(202);
1605
- // Bob also needs to write the same encrypted chat thread to his own DWN
1606
- // Opportunity here to create a much nicer utility method for this entire block
1607
- const bobToBobRecordsWrite = await RecordsWrite.createFrom({
1608
- recordsWriteMessage: recordsWrite.message,
1609
- messageTimestamp: recordsWrite.message.descriptor.messageTimestamp
1610
- });
1611
- const bobRootPrivateKey = {
1612
- rootKeyId: bob.keyId,
1613
- derivationScheme: KeyDerivationScheme.ProtocolContext,
1614
- derivedPrivateKey: bob.encryptionKeyPair.privateJwk
1615
- };
1616
- const protocolPathDerivationPath = Records.constructKeyDerivationPathUsingProtocolPathScheme(recordsWrite.message.descriptor);
1617
- const protocolPathDerivedPublicJwkForBobsDwn = await HdKey.derivePublicKey(bobRootPrivateKey, protocolPathDerivationPath);
1618
- const protocolPathDerivedKeyEncryptionInputForBobsDwn = {
1619
- publicKeyId: bob.keyId, // reusing signing key for encryption purely as a convenience
1620
- publicKey: protocolPathDerivedPublicJwkForBobsDwn,
1621
- derivationScheme: KeyDerivationScheme.ProtocolPath
1622
- };
1623
- const encryptionInputForBobsDwn = encryptionInput;
1624
- const indexOfKeyEncryptionInputToReplace = encryptionInputForBobsDwn.keyEncryptionInputs.findIndex(input => input.derivationScheme === KeyDerivationScheme.ProtocolPath);
1625
- encryptionInputForBobsDwn.keyEncryptionInputs[indexOfKeyEncryptionInputToReplace] = protocolPathDerivedKeyEncryptionInputForBobsDwn;
1626
- await bobToBobRecordsWrite.encryptSymmetricEncryptionKey(encryptionInputForBobsDwn);
1627
- await bobToBobRecordsWrite.sign({ signer: Jws.createSigner(bob) });
1628
- const dataStreamForBobsDwn = DataStream.fromBytes(encryptedDataBytes);
1629
- const bobToBobWriteReply = await dwn.processMessage(bob.did, bobToBobRecordsWrite.message, { dataStream: dataStreamForBobsDwn });
1630
- expect(bobToBobWriteReply.status.code).toBe(202);
1631
- // NOTE: we know Alice is able to decrypt the message using protocol-path derived key through other tests, so we won't verify it again
1632
- // test that anyone with the protocol-context derived private key is able to decrypt the message
1633
- const recordsRead = await RecordsRead.create({
1634
- filter: {
1635
- recordId: threadMessage.recordId,
1636
- },
1637
- signer: Jws.createSigner(alice)
1638
- });
1639
- const readReply = await dwn.processMessage(alice.did, recordsRead.message);
1640
- expect(readReply.status.code).toBe(200);
1641
- const fetchedRecordsWrite = readReply.entry.recordsWrite;
1642
- const cipherStream = readReply.entry.data;
1643
- const derivationPathFromReadContext = Records.constructKeyDerivationPathUsingProtocolContextScheme(fetchedRecordsWrite.contextId);
1644
- const protocolContextDerivedPrivateJwk = await HdKey.derivePrivateKey(bobRootPrivateKey, derivationPathFromReadContext);
1645
- const plaintextDataStream = await Records.decrypt(fetchedRecordsWrite, protocolContextDerivedPrivateJwk, cipherStream);
1646
- const plaintextBytes = await DataStream.toBytes(plaintextDataStream);
1647
- expect(ArrayUtility.byteArraysEqual(plaintextBytes, plaintextMessageToAlice)).toBe(true);
1648
- // verify that Alice is able to send an encrypted message using the protocol-context derived public key and Bob is able to decrypt it
1649
- // NOTE: we will skip verification of Bob's protocol configuration because we have test the such scenario above as well as in other tests
1650
- const matchingRecipient = fetchedRecordsWrite.encryption.recipients.find(recipient => recipient.header.derivationScheme === KeyDerivationScheme.ProtocolContext);
1651
- const protocolContextDerivedPublicJwkReturned = matchingRecipient.header.derivedPublicKey;
1652
- const protocolContextDerivingRootKeyIdReturned = matchingRecipient.header.kid;
1653
- const plaintextMessageToBob = TestDataGenerator.randomBytes(100);
1654
- const recordsWriteToBob = await TestDataGenerator.generateProtocolEncryptedRecordsWrite({
1655
- plaintextBytes: plaintextMessageToBob,
1656
- author: alice,
1657
- protocolDefinition: protocolsConfigureForBob.message.descriptor.definition,
1658
- protocolPath: 'thread/message',
1659
- protocolParentContextId: fetchedRecordsWrite.contextId,
1660
- protocolContextDerivingRootKeyId: protocolContextDerivingRootKeyIdReturned,
1661
- protocolContextDerivedPublicKeyJwk: protocolContextDerivedPublicJwkReturned,
1662
- encryptSymmetricKeyWithProtocolPathDerivedKey: true,
1663
- encryptSymmetricKeyWithProtocolContextDerivedKey: true
1664
- });
1665
- // Alice sends the message to Bob
1666
- const aliceWriteReply = await dwn.processMessage(bob.did, recordsWriteToBob.message, { dataStream: recordsWriteToBob.dataStream });
1667
- expect(aliceWriteReply.status.code).toBe(202);
1668
- // test that Bob is able to read and decrypt Alice's message
1669
- const recordsReadByBob = await RecordsRead.create({
1670
- filter: {
1671
- recordId: recordsWriteToBob.message.recordId,
1672
- },
1673
- signer: Jws.createSigner(bob)
1674
- });
1675
- const readByBobReply = await dwn.processMessage(bob.did, recordsReadByBob.message);
1676
- expect(readByBobReply.status.code).toBe(200);
1677
- const fetchedRecordsWrite2 = readByBobReply.entry.recordsWrite;
1678
- const cipherStream2 = readByBobReply.entry.data;
1679
- const plaintextDataStream2 = await Records.decrypt(fetchedRecordsWrite2, protocolContextDerivedPrivateJwk, cipherStream2);
1680
- const plaintextBytes2 = await DataStream.toBytes(plaintextDataStream2);
1681
- expect(ArrayUtility.byteArraysEqual(plaintextBytes2, plaintextMessageToBob)).toBe(true);
1682
- });
1683
1557
  it('should only be able to decrypt record with a correct derived private key - `protocols` derivation scheme', async () => {
1684
1558
  // scenario: Bob writes into Alice's DWN an encrypted "email", alice is able to decrypt it
1685
1559
  // creating Alice and Bob persona and setting up a stub DID resolver
@@ -1707,19 +1581,18 @@ export function testRecordsReadHandler() {
1707
1581
  expect(protocolsConfigureFetched.author).toBe(alice.did);
1708
1582
  // Bob encrypts his email to Alice with a randomly generated symmetric key
1709
1583
  const bobMessageBytes = TestDataGenerator.randomBytes(100);
1710
- const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(12);
1584
+ const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(16);
1711
1585
  const dataEncryptionKey = TestDataGenerator.randomBytes(32);
1712
- const { ciphertext: bobMessageEncryptedBytes, tag: authenticationTag } = await Encryption.aeadEncrypt(ContentEncryptionAlgorithm.A256GCM, dataEncryptionKey, dataEncryptionInitializationVector, bobMessageBytes);
1586
+ const bobMessageEncryptedBytes = await Encryption.encrypt(ContentEncryptionAlgorithm.A256CTR, dataEncryptionKey, dataEncryptionInitializationVector, bobMessageBytes);
1713
1587
  // Bob generates an encrypted RecordsWrite,
1714
1588
  // the public encryption key designated by Alice is used to encrypt the symmetric key Bob generated above
1715
- const publicJwk = protocolsConfigureFetched.message.descriptor.definition.structure.email.$encryption?.publicKeyJwk;
1589
+ const publicJwk = protocolsConfigureFetched.message.descriptor.definition.structure.email.$keyAgreement?.publicKeyJwk;
1716
1590
  expect(publicJwk).toBeDefined();
1717
1591
  const encryptionInput = {
1718
1592
  initializationVector: dataEncryptionInitializationVector,
1719
1593
  key: dataEncryptionKey,
1720
- authenticationTag,
1721
1594
  keyEncryptionInputs: [{
1722
- publicKeyId: alice.keyId, // reusing signing key for encryption purely as a convenience
1595
+ keyId: await Encryption.getKeyId(publicJwk),
1723
1596
  publicKey: publicJwk,
1724
1597
  derivationScheme: KeyDerivationScheme.ProtocolPath
1725
1598
  }]
@@ -1770,21 +1643,22 @@ export function testRecordsReadHandler() {
1770
1643
  // test unable to decrypt the message if derived key has an unexpected path
1771
1644
  const invalidDerivationPath = [KeyDerivationScheme.ProtocolPath, protocolDefinition.protocol, 'invalidContextId'];
1772
1645
  const inValidDescendantPrivateKey = await HdKey.derivePrivateKey(rootPrivateKey, invalidDerivationPath);
1773
- await expect(Records.decrypt(fetchedRecordsWrite, inValidDescendantPrivateKey, cipherStream)).rejects.toThrow(DwnErrorCode.RecordsInvalidAncestorKeyDerivationSegment);
1646
+ await expect(Records.decrypt(fetchedRecordsWrite, inValidDescendantPrivateKey, DataStream.fromBytes(bobMessageEncryptedBytes))).rejects.toThrow(DwnErrorCode.RecordsInvalidAncestorKeyDerivationSegment);
1774
1647
  // test unable to decrypt the message if no derivation scheme used by the message matches the scheme used by the given private key
1775
1648
  const privateKeyWithMismatchingDerivationScheme = {
1776
1649
  rootKeyId: alice.keyId,
1777
- derivationScheme: 'scheme-that-is-not-protocol-context',
1650
+ derivationScheme: 'scheme-that-is-not-protocol-path',
1778
1651
  derivedPrivateKey: alice.encryptionKeyPair.privateJwk
1779
1652
  };
1780
- await expect(Records.decrypt(fetchedRecordsWrite, privateKeyWithMismatchingDerivationScheme, cipherStream)).rejects.toThrow(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound);
1653
+ await expect(Records.decrypt(fetchedRecordsWrite, privateKeyWithMismatchingDerivationScheme, DataStream.fromBytes(bobMessageEncryptedBytes))).rejects.toThrow(DwnErrorCode.RecordsDecryptUnsupportedKeyDerivationScheme);
1781
1654
  // test unable to decrypt the message if public key ID does not match the derived private key
1782
1655
  const privateKeyWithMismatchingKeyId = {
1783
1656
  rootKeyId: 'mismatchingKeyId',
1657
+ keyId: 'mismatchingKeyId',
1784
1658
  derivationScheme: KeyDerivationScheme.ProtocolPath,
1785
1659
  derivedPrivateKey: alice.encryptionKeyPair.privateJwk
1786
1660
  };
1787
- await expect(Records.decrypt(fetchedRecordsWrite, privateKeyWithMismatchingKeyId, cipherStream)).rejects.toThrow(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound);
1661
+ await expect(Records.decrypt(fetchedRecordsWrite, privateKeyWithMismatchingKeyId, DataStream.fromBytes(bobMessageEncryptedBytes))).rejects.toThrow(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound);
1788
1662
  });
1789
1663
  });
1790
1664
  });