oidc-spa 8.6.19 → 8.7.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 (140) hide show
  1. package/backend.d.ts +3 -20
  2. package/backend.js +50 -242
  3. package/backend.js.map +1 -1
  4. package/core/OidcMetadata.d.ts +2 -2
  5. package/core/OidcMetadata.js.map +1 -1
  6. package/core/createOidc.d.ts +2 -4
  7. package/core/createOidc.js +49 -3
  8. package/core/createOidc.js.map +1 -1
  9. package/core/dpop.d.ts +20 -0
  10. package/core/dpop.js +389 -0
  11. package/core/dpop.js.map +1 -0
  12. package/core/earlyInit.js +2 -0
  13. package/core/earlyInit.js.map +1 -1
  14. package/core/oidcClientTsUserToTokens.d.ts +1 -0
  15. package/core/oidcClientTsUserToTokens.js +15 -5
  16. package/core/oidcClientTsUserToTokens.js.map +1 -1
  17. package/core/tokenExfiltrationDefense.js +49 -6
  18. package/core/tokenExfiltrationDefense.js.map +1 -1
  19. package/esm/angular.d.ts +2 -0
  20. package/esm/angular.mjs.map +1 -1
  21. package/esm/backend.d.ts +3 -20
  22. package/esm/backend.mjs +50 -242
  23. package/esm/backend.mjs.map +1 -1
  24. package/esm/core/OidcMetadata.d.ts +2 -2
  25. package/esm/core/OidcMetadata.mjs.map +1 -1
  26. package/esm/core/createOidc.d.ts +2 -4
  27. package/esm/core/createOidc.mjs +49 -3
  28. package/esm/core/createOidc.mjs.map +1 -1
  29. package/esm/core/dpop.d.ts +20 -0
  30. package/esm/core/dpop.mjs +384 -0
  31. package/esm/core/dpop.mjs.map +1 -0
  32. package/esm/core/earlyInit.mjs +2 -0
  33. package/esm/core/earlyInit.mjs.map +1 -1
  34. package/esm/core/oidcClientTsUserToTokens.d.ts +1 -0
  35. package/esm/core/oidcClientTsUserToTokens.mjs +15 -5
  36. package/esm/core/oidcClientTsUserToTokens.mjs.map +1 -1
  37. package/esm/core/tokenExfiltrationDefense.mjs +49 -6
  38. package/esm/core/tokenExfiltrationDefense.mjs.map +1 -1
  39. package/esm/react-spa/createOidcSpaApi.mjs +2 -1
  40. package/esm/react-spa/createOidcSpaApi.mjs.map +1 -1
  41. package/esm/react-spa/types.d.ts +2 -0
  42. package/esm/server/createOidcSpaUtils.d.ts +5 -0
  43. package/esm/server/createOidcSpaUtils.mjs +639 -0
  44. package/esm/server/createOidcSpaUtils.mjs.map +1 -0
  45. package/esm/server/index.d.ts +2 -0
  46. package/esm/server/index.mjs +3 -0
  47. package/esm/server/index.mjs.map +1 -0
  48. package/esm/server/types.d.ts +79 -0
  49. package/esm/server/types.mjs +2 -0
  50. package/esm/server/types.mjs.map +1 -0
  51. package/esm/server/utilsBuilder.d.ts +10 -0
  52. package/esm/server/utilsBuilder.mjs +13 -0
  53. package/esm/server/utilsBuilder.mjs.map +1 -0
  54. package/esm/tanstack-start/react/accessTokenValidation_rfc9068.d.ts +1 -1
  55. package/esm/tanstack-start/react/accessTokenValidation_rfc9068.mjs +102 -94
  56. package/esm/tanstack-start/react/accessTokenValidation_rfc9068.mjs.map +1 -1
  57. package/esm/tanstack-start/react/createOidcSpaApi.d.ts +2 -2
  58. package/esm/tanstack-start/react/createOidcSpaApi.mjs +60 -51
  59. package/esm/tanstack-start/react/createOidcSpaApi.mjs.map +1 -1
  60. package/esm/tanstack-start/react/index.d.ts +1 -1
  61. package/esm/tanstack-start/react/index.mjs +2 -2
  62. package/esm/tanstack-start/react/index.mjs.map +1 -1
  63. package/esm/tanstack-start/react/types.d.ts +36 -11
  64. package/esm/tanstack-start/react/{apiBuilder.d.ts → utilsBuilder.d.ts} +9 -9
  65. package/esm/tanstack-start/react/{apiBuilder.mjs → utilsBuilder.mjs} +6 -6
  66. package/esm/tanstack-start/react/utilsBuilder.mjs.map +1 -0
  67. package/esm/tools/generateES256DPoPProof.d.ts +8 -0
  68. package/esm/tools/generateES256DPoPProof.mjs +48 -0
  69. package/esm/tools/generateES256DPoPProof.mjs.map +1 -0
  70. package/esm/tools/getServerDateNow.d.ts +5 -0
  71. package/esm/tools/getServerDateNow.mjs +7 -0
  72. package/esm/tools/getServerDateNow.mjs.map +1 -0
  73. package/esm/vendor/{backend → server}/evt.mjs +84 -140
  74. package/esm/vendor/{backend → server}/jose.mjs +5 -27
  75. package/esm/vendor/{backend → server}/tsafe.d.ts +1 -0
  76. package/esm/vendor/{backend → server}/tsafe.mjs +6 -0
  77. package/esm/vendor/{backend → server}/zod.mjs +196 -50
  78. package/package.json +6 -1
  79. package/react-spa/createOidcSpaApi.js +2 -1
  80. package/react-spa/createOidcSpaApi.js.map +1 -1
  81. package/react-spa/types.d.ts +2 -0
  82. package/server/createOidcSpaUtils.d.ts +5 -0
  83. package/server/createOidcSpaUtils.js +642 -0
  84. package/server/createOidcSpaUtils.js.map +1 -0
  85. package/server/index.d.ts +2 -0
  86. package/server/index.js +6 -0
  87. package/server/index.js.map +1 -0
  88. package/server/types.d.ts +79 -0
  89. package/server/types.js +3 -0
  90. package/server/types.js.map +1 -0
  91. package/server/utilsBuilder.d.ts +10 -0
  92. package/server/utilsBuilder.js +16 -0
  93. package/server/utilsBuilder.js.map +1 -0
  94. package/src/angular.ts +3 -0
  95. package/src/backend.ts +63 -364
  96. package/src/core/OidcMetadata.ts +4 -2
  97. package/src/core/createOidc.ts +62 -6
  98. package/src/core/dpop.ts +583 -0
  99. package/src/core/earlyInit.ts +3 -0
  100. package/src/core/oidcClientTsUserToTokens.ts +18 -4
  101. package/src/core/tokenExfiltrationDefense.ts +60 -5
  102. package/src/react-spa/createOidcSpaApi.ts +2 -1
  103. package/src/react-spa/types.tsx +3 -0
  104. package/src/server/createOidcSpaUtils.ts +848 -0
  105. package/src/server/index.ts +4 -0
  106. package/src/server/types.tsx +99 -0
  107. package/src/server/utilsBuilder.ts +41 -0
  108. package/src/tanstack-start/react/accessTokenValidation_rfc9068.ts +134 -124
  109. package/src/tanstack-start/react/createOidcSpaApi.ts +73 -69
  110. package/src/tanstack-start/react/index.ts +2 -2
  111. package/src/tanstack-start/react/types.tsx +44 -12
  112. package/src/tanstack-start/react/{apiBuilder.ts → utilsBuilder.ts} +14 -14
  113. package/src/tools/generateES256DPoPProof.ts +74 -0
  114. package/src/tools/getServerDateNow.ts +11 -0
  115. package/src/vendor/{backend → server}/tsafe.ts +1 -0
  116. package/tools/generateES256DPoPProof.d.ts +8 -0
  117. package/tools/generateES256DPoPProof.js +51 -0
  118. package/tools/generateES256DPoPProof.js.map +1 -0
  119. package/tools/getServerDateNow.d.ts +5 -0
  120. package/tools/getServerDateNow.js +10 -0
  121. package/tools/getServerDateNow.js.map +1 -0
  122. package/vendor/server/evt.js +3 -0
  123. package/vendor/server/jose.js +3 -0
  124. package/vendor/{backend → server}/tsafe.d.ts +1 -0
  125. package/vendor/server/tsafe.js +2 -0
  126. package/vendor/server/zod.js +3 -0
  127. package/esm/tanstack-start/react/apiBuilder.mjs.map +0 -1
  128. package/vendor/backend/evt.js +0 -3
  129. package/vendor/backend/jose.js +0 -3
  130. package/vendor/backend/tsafe.js +0 -2
  131. package/vendor/backend/zod.js +0 -3
  132. /package/esm/vendor/{backend → server}/evt.d.ts +0 -0
  133. /package/esm/vendor/{backend → server}/jose.d.ts +0 -0
  134. /package/esm/vendor/{backend → server}/zod.d.ts +0 -0
  135. /package/src/vendor/{backend → server}/evt.ts +0 -0
  136. /package/src/vendor/{backend → server}/jose.ts +0 -0
  137. /package/src/vendor/{backend → server}/zod.ts +0 -0
  138. /package/vendor/{backend → server}/evt.d.ts +0 -0
  139. /package/vendor/{backend → server}/jose.d.ts +0 -0
  140. /package/vendor/{backend → server}/zod.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"createOidc.mjs","sourceRoot":"","sources":["../../src/core/createOidc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createOidc.mjs","sourceRoot":"","sources":["../../src/core/createOidc.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,IAAI,uBAAuB,EACtC,oBAAoB,EAEpB,kBAAkB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAqB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAe,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAEH,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAqB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,mCAAmC,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACH,2BAA2B,EAC3B,2EAA2E,EAC9E,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EACH,0BAA0B,EAC1B,uDAAuD,EAC1D,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EACH,gDAAgD,EAChD,mCAAmC,EACtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACH,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,+BAA+B;AAC/B,MAAM,OAAO,GAAG,sBAAsB,CAAC;AA0LvC,MAAM,aAAa,GAAG;IAClB,gBAAgB,EAAE,IAAI,GAAG,EAA8B;IACvD,mBAAmB,EAAE,EAAE,CAAU,KAAK,CAAC;CAC1C,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,UAAU,CAI5B,MAAqD;IAErD,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,CAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACX,kBAAkB,IAAI,gCAAgC,KAAK,6BAA6B,CAC3F,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAE7E,MAAM,SAAS,GAAG,mBAAmB,CAAC;QAClC,MAAM,EAAE,gBAAgB;QACxB,qBAAqB,EAAE,IAAI;QAC3B,yBAAyB,EAAE,KAAK;KACnC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,EAAE,CAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,UAAU,CAAC;YAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtD,MAAM,EAAE,gBAAgB,EAAE,GAAG,aAAa,CAAC;IAE3C,qBAAqB,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,qBAAqB,CAAC;QAChC,CAAC;QAED,GAAG,EAAE,CACD;YACI,qDAAqD,IAAI,CAAC,SAAS,CAAC;gBAChE,SAAS;gBACT,QAAQ;aACX,CAAC,GAAG;YACL,kFAAkF;SACrF,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;QAEF,6CAA6C;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAa,CAAC;IAExC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE;QAC5C,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,GAAG;KACN,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAIxC,MAAmG,EACnG,kBAKC;IAED,CAAC;QACG,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACjC,OAAO,CAAC,IAAI,CACR;gBACI,wBAAwB;gBACxB,gCAAgC;gBAChC,4DAA4D;gBAC5D,oCAAoC;aACvC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;QACN,CAAC,EAAE,IAAK,CAAC,CAAC;QAEV,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC;QAE5C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,MAAM,EACF,0BAA0B,EAC1B,gBAAgB,EAAE,wBAAwB,EAC1C,gBAAgB,EAAE,wBAAwB,EAC1C,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,EACjD,SAAS,GAAG,KAAK,EACjB,oBAAoB,EAAE,4BAA4B,EAClD,qBAAqB,EACrB,gCAAgC,GAAG,KAAK,EACxC,UAAU,EACV,wBAAwB,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,EACpF,IAAI,EACP,GAAG,MAAM,CAAC;IAEX,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElF,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC;IAE1D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAC;IAElE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,GAAG,EAAE,CAAC,6DAA6D,CAAC,CAAC;QACrE,MAAM,sBAAsB,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAC9B,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACjD,OAAO,GAAG,EAAE,CAAC,wBAAwB,CAAC;QAC1C,CAAC;QAED,OAAO,wBAAwB,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAC9B,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACjD,OAAO,GAAG,EAAE,CAAC,wBAAwB,CAAC;QAC1C,CAAC;QAED,OAAO,wBAAwB,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IAE7E,GAAG,EAAE,CACD,uBAAuB,OAAO,IAAI,IAAI,CAAC,SAAS,CAC5C;QACI,SAAS;QACT,QAAQ;QACR,MAAM;QACN,gBAAgB,EAAE,qBAAqB;KAC1C,EACD,IAAI,EACJ,CAAC,CACJ,EAAE,CACN,CAAC;IAEF,IAAI,6BAA6B,EAAE,EAAE,CAAC;QAClC,GAAG,EAAE,CACD;YACI,kDAAkD;YAClD,EAAE;YACF,mFAAmF;YACnF,iFAAiF;YACjF,sEAAsE;YACtE,iFAAiF;YACjF,EAAE;YACF,6EAA6E;YAC7E,4EAA4E;YAC5E,oCAAoC;SACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;IACN,CAAC;IAED,MAAM,2BAA2B,GAAG,0BAA0B,EAAE,CAAC;IAEjE,MAAM,YAAY,GAAG,UAAU,IAAI,CAAC,MAAM,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAE5E,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QACxB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,GAAG,EAAE,CAAC,0EAA0E,CAAC,CAAC;YAClF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtB,GAAG,EAAE,CAAC,0BAA0B,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,gCAAgC,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACX;oBACI,mCAAmC;oBACnC,iDAAiD;iBACpD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YACN,CAAC;YACD,GAAG,EAAE,CAAC,6DAA6D,CAAC,CAAC;YACrE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;YACtB,MAAM,EAAE,iCAAiC,EAAE,GAAG,YAAY,CAAC;YAE3D,IAAI,iCAAiC,KAAK,SAAS,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,iCAAiC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,GAAG,EAAE,CAAC,sDAAsD,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACJ,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACvB,QAAQ,wBAAwB,EAAE,CAAC;YAC/B,KAAK,MAAM;gBACP,MAAM;YACV,KAAK,oBAAoB;gBACrB,OAAO,KAAK,CAAC;YACjB,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC;YAChB;gBACI,MAAsD,CAAC;QAC/D,CAAC;QAED,mBAAmB,EAAE,CAAC;YAClB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,MAAM,EAAE,sBAAsB,EAAE,GAAG,YAAY,CAAC;YAEhD,MAAM,CACF,sBAAsB,KAAK,SAAS,EACpC,2DAA2D,CAC9D,CAAC;YAEF,MAAM,mCAAmC,GAAG,CAAC,yBAAyB,CAAC;gBACnE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAC5B,oEAAoE;gBACpE,IAAI,EAAE,sBAAsB;aAC/B,CAAC,CAAC;YAEH,IAAI,CAAC,mCAAmC,EAAE,CAAC;gBACvC,MAAM,mBAAmB,CAAC;YAC9B,CAAC;YAED,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;YAEjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1E,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,UAAU,CAAC,CAAC;YAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1D,IAAI,yBAAyB,GAAG,KAAK,CAAC;YACtC,IAAI,IAAI,GAAG,KAAK,CAAC;YAEjB,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE;gBAC/B,IAAI,iDAAiD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtE,IAAI,GAAG,IAAI,CAAC;oBACZ,OAAO,EAAE,CAAC;gBACd,CAAC;gBAED,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;oBACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAExC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACvB,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACrB,CAAC;oBACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC,CAAC,EAAE,CAAC;gBAEL,CAAC;oBACG,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;oBAEhD,IACI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAChC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAChC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC;wBACpC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC/B,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAChC,CAAC;wBACC,yBAAyB,GAAG,IAAI,CAAC;wBACjC,OAAO,EAAE,CAAC;oBACd,CAAC;gBACL,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC;gBAExD,OAAO;oBACH,SAAS,UAAU,EAAE;oBACrB,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;oBACnD,GAAG,UAAU,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE;iBAC7D,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC,EAAE,CAAC;YAEL,IAAI,iBAAiB,EAAE,CAAC;gBACpB,GAAG,EAAE,CACD;oBACI,iCAAiC;oBACjC,wDAAwD;oBACxD,4CAA4C;oBAC5C,gEAAgE;oBAChE,uDAAuD;oBACvD,kBAAkB,WAAW,EAAE;oBAC/B,kBAAkB,WAAW,EAAE;oBAC/B,GAAG,CAAC,GAAG,EAAE;wBACL,IAAI,IAAI,EAAE,CAAC;4BACP,OAAO,EAAE,CAAC;wBACd,CAAC;wBAED,IAAI,yBAAyB,EAAE,CAAC;4BAC5B,OAAO;gCACH,oDAAoD;gCACpD,oDAAoD;gCACpD,+DAA+D;gCAC/D,0DAA0D;gCAC1D,kCAAkC;6BACrC,CAAC;wBACN,CAAC;wBAED,OAAO;4BACH,iEAAiE;4BACjE,yDAAyD;4BACzD,0BAA0B;4BAC1B,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;yBACjD,CAAC;oBACN,CAAC,CAAC,EAAE;oBACJ,gBAAgB;oBAChB,sFAAsF;iBACzF,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,GAAG,EAAE,CACD;oBACI,gDAAgD;oBAChD,kBAAkB,WAAW,EAAE;oBAC/B,gBAAgB,WAAW,EAAE;oBAC7B,2CAA2C;oBAC3C,GAAG,CAAC,GAAG,EAAE;wBACL,IAAI,IAAI,EAAE,CAAC;4BACP,OAAO,EAAE,CAAC;wBACd,CAAC;wBAED,IAAI,yBAAyB,EAAE,CAAC;4BAC5B,OAAO;gCACH,oDAAoD;gCACpD,kDAAkD;gCAClD,iDAAiD;gCACjD,kCAAkC;6BACrC,CAAC;wBACN,CAAC;wBAED,OAAO;4BACH,iFAAiF;4BACjF,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;yBACjD,CAAC;oBACN,CAAC,CAAC,EAAE;oBACJ,cAAc;oBACd,sFAAsF;iBACzF,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YACN,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,mCAAmC,EAAE,CAAC;QAEtC,IAAI,gDAAgD,CAAC,OAAO,EAAE,CAAC;YAC3D,GAAG,EAAE,CACD;gBACI,8CAA8C;gBAC9C,sDAAsD;aACzD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,uBAAuB,GACzB,YAAY,KAAK,SAAS;QACtB,CAAC,CAAC,gCAAgC,CAA0B;YACtD,YAAY,EAAE,iCAAiC;SAClD,CAAC;QACJ,CAAC,CAAC,IAAI,uBAAuB,CAAC;YACxB,kBAAkB,EAAE,2BAA2B;YAC/C,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,qBAAqB;YACnC,mBAAmB,EAAE,qBAAqB;YAC1C,wBAAwB,EAAE,qBAAqB;YAC/C,aAAa,EACT,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;YACtF,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACvB,oBAAoB,EAAE,KAAK;YAC3B,SAAS,EAAE,IAAI,oBAAoB,CAAC;gBAChC,KAAK,EAAE,CAAC,GAAG,EAAE;oBACT,IAAI,YAAY,EAAE,CAAC;wBACf,OAAO,IAAI,kBAAkB,EAAE,CAAC;oBACpC,CAAC;oBAED,MAAM,OAAO,GAAG,wBAAwB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAElE,IAAI,gDAAgD,CAAC,OAAO,EAAE,CAAC;wBAC3D,OAAO,CAAC,uCAAuC,EAAE,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACJ,gDAAgD,CAAC,SAAS,CAAC,GAAG,EAAE;4BAC5D,OAAO,CAAC,uCAAuC,EAAE,CAAC;wBACtD,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,OAAO,OAAO,CAAC;gBACnB,CAAC,CAAC,EAAE;aACP,CAAC;YACF,UAAU,EAAE,IAAI,oBAAoB,CAAC;gBACjC,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,sBAAsB;aACjC,CAAC;YACF,aAAa,EAAE,qBAAqB;YACpC,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,CAAC,aAAa;gBAChB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACI,uBAAuB,EAAE,KAAK;oBAC9B,KAAK,EAAE,uBAAuB,CAAC,EAAE,QAAQ,EAAE,CAAC;iBAC/C;SACV,CAAC,CAAC;IAEb,MAAM,uCAAuC,GAAG,SAAS,EAAQ,CAAC;IAElE,MAAM,EAAE,qBAAqB,EAAE,GAAG,2BAA2B,CAAC;QAC1D,QAAQ;QACR,uBAAuB;QACvB,0BAA0B;QAC1B,mBAAmB;QACnB,mBAAmB;QACnB,OAAO,EAAE,qBAAqB;QAC9B,2BAA2B;QAC3B,uCAAuC;QACvC,GAAG;KACN,CAAC,CAAC;IAEH,MAAM,EAAE,sBAAsB,EAAE,GAAG,4BAA4B,CAAC;QAC5D,QAAQ;QACR,uCAAuC;KAC1C,CAAC,CAAC;IAEH,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,0BAA0B,EAAE,CAAC;IAE7E,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,IAOvC,EAAE;QACA,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CACH,MAAM,MAAM,CAAC,cAAc,CAAC,CAC/B,CAAC,sEAAsE,CAAC;gBACrE,SAAS;aACZ,CAAC,CAAC;QACP,CAAC;QAED,4BAA4B,EAAE,CAAC;YAC3B,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,4BAA4B,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,gDAAgD,CAAC,OAAO,EAAE,CAAC;gBAC5D,MAAM,4BAA4B,CAAC;YACvC,CAAC;YAED,IAAI,gBAAyC,CAAC;YAE9C,IAAI,CAAC;gBACD,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACL,qDAAqD;gBACrD,gBAAgB,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC;oBACD,MAAM,uBAAuB,CAAC,UAAU,EAAE,CAAC;gBAC/C,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACd,CAAC;YAED,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,4BAA4B,CAAC;YACvC,CAAC;YAED,GAAG,EAAE,CAAC,2CAA2C,CAAC,CAAC;YAEnD,OAAO;gBACH,gBAAgB;gBAChB,kBAAkB,EAAE,SAAS;aAChC,CAAC;QACN,CAAC;QAED,6BAA6B,EAAE,CAAC;YAC5B,IAAI,wBAAwB,GAEV,SAAS,CAAC;YAE5B,CAAC;gBACG,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,uBAAuB,EAAE,CAAC;gBAEtE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,6BAA6B,CAAC;gBACxC,CAAC;gBAED,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;gBAE3E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC1B,iBAAiB,EAAE,CAAC;oBACpB,MAAM,6BAA6B,CAAC;gBACxC,CAAC;gBAED,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,6BAA6B,CAAC;gBACxC,CAAC;gBAED,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,SAAS,CAAC,CAAC;gBAEpD,iBAAiB,EAAE,CAAC;gBAEpB,wBAAwB,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YAC3D,CAAC;YAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,6BAA6B,CAAC;YACxC,CAAC;YAED,+BAA+B;YAE/B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,wBAAwB,CAAC;YAE7D,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,OAAO;oBACR,CAAC;wBACG,GAAG,EAAE,CACD,yCAAyC,IAAI,CAAC,SAAS,CACnD;4BACI,GAAG,YAAY;4BACf,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS;gCAC/B,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC;oCACI,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;iCAC/C,CAAC;yBACX,EACD,IAAI,EACJ,CAAC,CACJ,EAAE,CACN,CAAC;wBAEF,MAAM,eAAe,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;wBAExD,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;wBAEjE,IAAI,gBAAgB,GAAiC,SAAS,CAAC;wBAE/D,IAAI,CAAC;4BACD,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,sBAAsB,CACnE,eAAe,CAClB,CAAC;wBACN,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACb,MAAM,CAAC,KAAK,YAAY,KAAK,EAAE,QAAQ,CAAC,CAAC;4BAEzC,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;gCACtC,OAAO,CACH,MAAM,MAAM,CAAC,cAAc,CAAC,CAC/B,CAAC,mDAAmD,CAAC;oCAClD,QAAQ;oCACR,SAAS;iCACZ,CAAC,CAAC;4BACP,CAAC;4BAED,CAAC;gCACG,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;gCAE9C,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oCACnC,GAAG,EAAE,CACD;wCACI,mCAAmC,kBAAkB,GAAG;wCACxD,gEAAgE;qCACnE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;oCACF,MAAM,6BAA6B,CAAC;gCACxC,CAAC;4BACL,CAAC;4BAED,OAAO,KAAK,CAAC;wBACjB,CAAC;wBAED,sBAAsB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAErC,OAAO;4BACH,gBAAgB;4BAChB,kBAAkB,EAAE;gCAChB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;gCAC5C,MAAM,EAAE,MAAM,CAAC,WAAW,CACtB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;qCACvB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;oCACnB,IACI,IAAI,KAAK,OAAO;wCAChB,IAAI,KAAK,eAAe;wCACxB,IAAI,KAAK,KAAK;wCACd,IAAI,KAAK,MAAM,EACjB,CAAC;wCACC,OAAO,SAAS,CAAC;oCACrB,CAAC;oCAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wCACtB,OAAO,SAAS,CAAC;oCACrB,CAAC;oCAED,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gCACzB,CAAC,CAAC;qCACD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC5C;6BACJ;yBACJ,CAAC;oBACN,CAAC;oBACD,MAAM;gBACV,KAAK,QAAQ;oBACT,CAAC;wBACG,GAAG,EAAE,CAAC,wCAAwC,EAAE,YAAY,CAAC,CAAC;wBAE9D,MAAM,eAAe,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;wBAExD,IAAI,CAAC;4BACD,MAAM,uBAAuB,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;wBAC3E,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;wBAEV,uBAAuB,CAAC;4BACpB,QAAQ;4BACR,SAAS,EAAE,SAAS,CAAC,SAAS;yBACjC,CAAC,CAAC;wBAEH,IAAI,SAAS,EAAE,CAAC;4BACZ,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAClB,MAAM,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBACvC,CAAC;wBAED,yCAAyC;wBACzC,OAAO,SAAS,CAAC;oBACrB,CAAC;oBACD,MAAM;gBACV;oBACI,MAAM,CAAkC,KAAK,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QAED,uCAAuC,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE/D,IAAI,kBAAkB,KAAK,uBAAuB,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/D,GAAG,EAAE,CAAC,6DAA6D,CAAC,CAAC;gBACrE,MAAM,uCAAuC,CAAC;YAClD,CAAC;YAED,CAAC;gBACG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;gBAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,IAAI,SAAS,EAAE,CAAC;wBACZ,GAAG,EAAE,CACD;4BACI,kCAAkC;4BAClC,+DAA+D;4BAC/D,iCAAiC;yBACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBACF,MAAM,QAAQ,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACJ,GAAG,EAAE,CACD;4BACI,uEAAuE;4BACvE,uCAAuC;yBAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBACF,MAAM,uCAAuC,CAAC;oBAClD,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,kBAAkB,GAAuB,SAAS,CAAC;YACvD,IAAI,gBAAgB,GAAiC,SAAS,CAAC;YAE/D,oBAAoB,EAAE,CAAC;gBACnB,IAAI,kBAAkB,KAAK,uBAAuB,EAAE,CAAC;oBACjD,MAAM,oBAAoB,CAAC;gBAC/B,CAAC;gBAED,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,MAAM,oBAAoB,CAAC;gBAC/B,CAAC;gBAED,GAAG,EAAE,CACD,kFAAkF,CACrF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC;oBACzC,uBAAuB;oBACvB,2BAA2B;oBAC3B,QAAQ;oBACR,0BAA0B;oBAC1B,mBAAmB;oBACnB,mBAAmB;oBACnB,SAAS;oBACT,GAAG;iBACN,CAAC,CAAC;gBAEH,MAAM,CAAC,kBAAkB,CAAC,OAAO,KAAK,qCAAqC,EAAE,QAAQ,CAAC,CAAC;gBAEvF,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC3C,MAAM,EAAE,sBAAsB,EAAE,GAAG,YAAY,CAAC;oBAEhD,MAAM,CAAC,sBAAsB,KAAK,SAAS,EAAE,UAAU,CAAC,CAAC;oBAEzD,OAAO,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,sCAAsC,CAAC;wBACzE,WAAW,EAAE,qBAAqB;wBAClC,QAAQ;wBACR,SAAS;wBACT,wBAAwB,EAAE,sBAAsB;qBACnD,CAAC,CAAC;gBACP,CAAC;gBAED,MAAM,EAA8E,CAAC;gBAErF,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC;gBAE5C,GAAG,EAAE,CACD,+BAA+B,IAAI,CAAC,SAAS,CACzC;oBACI,GAAG,YAAY;oBACf,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS;wBAC/B,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC;4BACI,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;yBAC/C,CAAC;iBACX,EACD,IAAI,EACJ,CAAC,CACJ,EAAE,CACN,CAAC;gBAEF,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEjE,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;gBAExC,IAAI,CAAC;oBACD,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,sBAAsB,CACnE,iBAAiB,CAAC,YAAY,CAAC,CAClC,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,YAAY,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAEzC,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;wBACtC,OAAO,CACH,MAAM,MAAM,CAAC,cAAc,CAAC,CAC/B,CAAC,mDAAmD,CAAC;4BAClD,QAAQ;4BACR,SAAS;yBACZ,CAAC,CAAC;oBACP,CAAC;oBAED,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;wBACnC,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACjC,IACI,SAAS;oBACT,CAAC,kBAAkB,KAAK,WAAW;wBAC/B,CAAC,kBAAkB,KAAK,SAAS;4BAC7B,kBAAkB,KAAK,sBAAsB;4BAC7C,kBAAkB,KAAK,gBAAgB;4BACvC,kBAAkB,KAAK,kBAAkB;4BACzC,kBAAkB,KAAK,4BAA4B,CAAC,CAAC,EAC/D,CAAC;oBACC,GAAG,EAAE,CAAC,qCAAqC,CAAC,CAAC;oBAE7C,6BAA6B,EAAE,CAAC;oBAEhC,IAAI,SAAS,IAAI,kBAAkB,KAAK,WAAW,EAAE,CAAC;wBAClD,uCAAuC,CAAC,IAAI,EAAE,CAAC;oBACnD,CAAC;oBAED,mBAAmB,EAAE,CAAC;oBAEtB,MAAM,uDAAuD,CAAC;wBAC1D,QAAQ,EACJ,2EAA2E,EAAE;qBACpF,CAAC,CAAC;oBAEH,MAAM,qBAAqB,CAAC;wBACxB,MAAM,EAAE,OAAO;wBACf,sBAAsB,EAAE,IAAI;wBAC5B,WAAW,EAAE,CAAC,GAAG,EAAE;4BACf,IAAI,4BAA4B,EAAE,CAAC;gCAC/B,OAAO,4BAA4B,CAAC;4BACxC,CAAC;4BAED,IAAI,CAAC,gDAAgD,CAAC,OAAO,EAAE,CAAC;gCAC5D,OAAO,mCAAmC,EAAE,CAAC;4BACjD,CAAC;4BAED,OAAO,8BAA8B,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACpE,CAAC,CAAC,EAAE;wBACJ,qDAAqD,EAAE,IAAI;wBAC3D,sBAAsB,EAAE,SAAS;wBACjC,gCAAgC,EAAE,SAAS;wBAC3C,WAAW,EAAE,CAAC,GAAG,EAAE;4BACf,IAAI,kBAAkB,KAAK,uBAAuB,EAAE,CAAC;gCACjD,OAAO,oBAAoB,CAAC;4BAChC,CAAC;4BAED,IAAI,SAAS,EAAE,CAAC;gCACZ,OAAO,0DAA0D,CAAC;4BACtE,CAAC;4BAED,OAAO,uBAAuB,CAAC;wBACnC,CAAC,CAAC,EAAE;wBACJ,eAAe,EAAE,GAAG,EAAE;4BAClB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;wBACrD,CAAC;qBACJ,CAAC,CAAC;gBACP,CAAC;gBAED,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBACnC,GAAG,EAAE,CACD;wBACI,mCAAmC,kBAAkB,GAAG;wBACxD,gBAAgB,KAAK,kBAAkB;4BACnC,CAAC,CAAC,yEAAyE;4BAC3E,CAAC,CAAC,EAAE;qBACX,CAAC,IAAI,CAAC,EAAE,CAAC,CACb,CAAC;gBACN,CAAC;gBAED,MAAM,uCAAuC,CAAC;YAClD,CAAC;YAED,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAC;YAErC,OAAO;gBACH,gBAAgB;gBAChB,kBAAkB,EAAE,SAAS;aAChC,CAAC;QACN,CAAC;QAED,mCAAmC;QACnC,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,6BAA6B,EAAE,CAAC;IAEhC,MAAM,uDAAuD,CAAC;QAC1D,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE;KAC9B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAgB;QAC7B,MAAM,EAAE;YACJ,SAAS;YACT,QAAQ;YACR,gBAAgB,EAAE,qBAAqB;SAC1C;KACJ,CAAC;IAEF,iBAAiB,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,oBAAoB,YAAY,KAAK,CAAC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACjF,MAAM,iBAAiB,CAAC;QAC5B,CAAC;QAED,uCAAuC,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,uBAAuB,EAAE,CAAC;YAClE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,gBAAgB,GAAqB,CAAC,GAAG,EAAE;YAC7C,IAAI,oBAAoB,YAAY,KAAK,EAAE,CAAC;gBACxC,GAAG,EAAE,CAAC,0DAA0D,CAAC,CAAC;gBAElE,MAAM,KAAK,GAAG,oBAAoB,CAAC;gBAEnC,MAAM,mBAAmB,GACrB,KAAK,YAAY,uBAAuB;oBACpC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,uBAAuB,CAAC;wBACxB,sBAAsB,EAAE,KAAK;wBAC7B,cAAc,EAAE,KAAK;qBACxB,CAAC,CAAC;gBAEb,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,mBAAmB,CAAC;gBAC9B,CAAC;gBAED,OAAO,CAAC,KAAK,CACT;oBACI,iCAAiC;oBACjC,2BAA2B,mBAAmB,CAAC,sBAAsB,EAAE;oBACvE,EAAE;oBACF,mBAAmB,CAAC,OAAO;iBAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;gBAEF,OAAO,EAAE,CAAmB;oBACxB,GAAG,WAAW;oBACd,cAAc,EAAE,KAAK;oBACrB,KAAK,EAAE,KAAK,IAAI,EAAE;wBACd,KAAK,CAAC,kEAAkE,CAAC,CAAC;wBAC1E,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACxC,CAAC;oBACD,mBAAmB;iBACtB,CAAC,CAAC;YACP,CAAC;YAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACrC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;gBAE5B,OAAO,EAAE,CAAmB;oBACxB,GAAG,WAAW;oBACd,cAAc,EAAE,KAAK;oBACrB,KAAK,EAAE,KAAK,EAAE,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC7B,EAAE,EAAE;wBACD,MAAM,uDAAuD,CAAC;4BAC1D,QAAQ,EACJ,2EAA2E,EAAE;yBACpF,CAAC,CAAC;wBAEH,IAAI,CAAC,YAAY,EAAE,CAAC;4BAChB,GAAG,EAAE,CACD;gCACI,uBAAuB;gCACvB,6DAA6D;gCAC7D,uFAAuF;gCACvF,KAAK,qBAAqB,EAAE;gCAC5B,iEAAiE;gCACjE,2FAA2F;gCAC3F,KAAK,QAAQ,EAAE;6BAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBACN,CAAC;wBAED,OAAO,qBAAqB,CAAC;4BACzB,MAAM,EAAE,OAAO;4BACf,qDAAqD,EACjD,2BAA2B;4BAC/B,sBAAsB,EAAE,KAAK;4BAC7B,WAAW,EACP,WAAW,IAAI,4BAA4B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI;4BACvE,sBAAsB,EAAE,gBAAgB;4BACxC,gCAAgC,EAAE,0BAA0B;4BAC5D,WAAW,EACP,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,uBAAuB;gCAC3D,CAAC,CAAC,oBAAoB;gCACtB,CAAC,CAAC,0DAA0D;4BACpE,eAAe,EAAE,SAAS;yBAC7B,CAAC,CAAC;oBACP,CAAC;oBACD,mBAAmB,EAAE,SAAS;iBACjC,CAAC,CAAC;YACP,CAAC;YAED,MAAM,CAA6C,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAC,EAAE,CAAC;QAEL,CAAC;YACG,MAAM,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC;gBAC3C,QAAQ;aACX,CAAC,CAAC;YAEH,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBAC5B,GAAG,EAAE,CAAC,6CAA6C,CAAC,CAAC;gBAErD,MAAM,uDAAuD,CAAC;oBAC1D,QAAQ,EAAE,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;iBACzC,CAAC,CAAC;gBAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,6CAA6C;QAC7C,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAE3B,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,UAAU,CAAC,CAAC;IAE/C,IAAI,aAAa,GAAG,wBAAwB,CAAC;QACzC,QAAQ;QACR,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB;QACvD,oBAAoB;QACpB,gCAAgC;QAChC,uBAAuB,EAAE,SAAS;QAClC,aAAa;QACb,GAAG;KACN,CAAC,CAAC;IAEH,2CAA2C,EAAE,CAAC;QAC1C,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,2CAA2C,CAAC;QACtD,CAAC;QAED,IAAI,aAAa,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,2CAA2C,CAAC;QACtD,CAAC;QAED,OAAO,CAAC,IAAI,CACR;YACI,0DAA0D;YAC1D,2EAA2E;YAC3E,gEAAgE;YAChE,uEAAuE;YACvE,yDAAyD;YACzD,iDAAiD;SACpD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;IACN,CAAC;IAED,CAAC;QACG,IAAI,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YACpD,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,gBAAgB,CAAC;gBACb,QAAQ;gBACR,KAAK,EAAE;oBACH,gBAAgB,EAAE,WAAW;oBAC7B,0BAA0B,EAAE,aAAa,CAAC,0BAA0B;oBACpE,aAAa,EAAE,aAAa,CAAC,gBAAgB,EAAE;oBAC/C,4BAA4B;iBAC/B;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,MAAM,gCAAgC,GAAG,IAAI,GAAG,EAE7C,CAAC;IAEJ,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiD,CAAC;IAEhF,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,uBAAuB,CAAC;IAEjF,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,8CAA8C,CAAC,CAAC;IAChF,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC;IAEjE,IAAI,wCAAwC,GAAG,KAAK,CAAC;IAErD,IAAI,qBAAqB,GAA8B,SAAS,CAAC;IAEjE,MAAM,aAAa,GAAG,EAAE,CAAgC;QACpD,GAAG,WAAW;QACd,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,wCAAwC,EAAE,CAAC;gBAC3C,MAAM,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACtC,8DAA8D;gBAC9D,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,qBAAqB,CAAC;YAChC,CAAC;YAED,YAAY,EAAE,CAAC;gBACX,CAAC;oBACG,MAAM,kCAAkC,GACpC,aAAa,CAAC,yBAAyB,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;oBAE/E,IAAI,kCAAkC,GAAG,KAAM,EAAE,CAAC;wBAC9C,MAAM,YAAY,CAAC;oBACvB,CAAC;gBACL,CAAC;gBAED,CAAC;oBACG,MAAM,oCAAoC,GACtC,aAAa,CAAC,gBAAgB,EAAE,GAAG,aAAa,CAAC,YAAY,CAAC;oBAElE,IAAI,oCAAoC,GAAG,IAAK,EAAE,CAAC;wBAC/C,MAAM,YAAY,CAAC;oBACvB,CAAC;gBACL,CAAC;gBAED,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;YACtC,CAAC;YAED,OAAO,aAAa,CAAC;QACzB,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,cAAc;QACrD,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACnB,IAAI,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACpC,GAAG,EAAE,CAAC,qDAAqD,CAAC,CAAC;gBAC7D,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YAED,aAAa,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAEzC,MAAM,iCAAiC,GAAW,CAAC,GAAG,EAAE;gBACpD,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;oBACxB,KAAK,cAAc;wBACf,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChC,KAAK,MAAM;wBACP,OAAO,qBAAqB,CAAC;oBACjC,KAAK,cAAc;wBACf,OAAO,mBAAmB,CAAC;4BACvB,MAAM,EAAE,MAAM,CAAC,GAAG;4BAClB,qBAAqB,EAAE,KAAK;yBAC/B,CAAC,CAAC;gBACX,CAAC;YACL,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,uDAAuD,CAAC;gBAC1D,QAAQ,EAAE,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;aACzC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;gBACrC,GAAG,EAAE,CAAC,yDAAyD,CAAC,CAAC;gBAEjE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBAErF,IAAI,CAAC;oBACD,MAAM,uBAAuB,CAAC,UAAU,EAAE,CAAC;gBAC/C,CAAC;gBAAC,MAAM,CAAC;oBACL,iCAAiC;gBACrC,CAAC;gBAED,uBAAuB,CAAC;oBACpB,QAAQ;oBACR,SAAS;iBACZ,CAAC,CAAC;gBAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,iCAAiC,CAAC;gBAEzD,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YAED,GAAG,EAAE,CACD;gBACI,uBAAuB;gBACvB,6DAA6D;gBAC7D,uFAAuF;gBACvF,KAAK,qBAAqB,EAAE;gBAC5B,6EAA6E;aAChF,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;gBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACnB,OAAO;gBACX,CAAC;gBACD,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,2BAA2B,CAAC;gBACxB,OAAO,EAAE,qBAAqB;gBAC9B,2BAA2B;gBAC3B,eAAe,EAAE;oBACb,MAAM,EAAE,QAAQ;oBAChB,uBAAuB,EAAE,iCAAiC;iBAC7D;aACJ,CAAC,CAAC;YAEH,IAAI,CAAC;gBACD,MAAM,uBAAuB,CAAC,eAAe,CAAC;oBAC1C,KAAK,EAAE,EAAE,CAAqB;wBAC1B,QAAQ;wBACR,OAAO,EAAE,UAAU;wBACnB,uBAAuB,EAAE,iCAAiC;wBAC1D,MAAM,EAAE,QAAQ;wBAChB,SAAS;qBACZ,CAAC;oBACF,cAAc,EAAE,QAAQ;iBAC3B,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,EAAE,0DAA0D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,WAAW,EAAE,CAAC,GAAG,EAAE;YACf,oDAAoD;YACpD,KAAK,UAAU,sBAAsB,CAAC,MAErC;gBACG,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;gBAEpC,MAAM,wBAAwB,GAAG,KAAK,IAAoB,EAAE;oBACxD,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAEjD,MAAM,uDAAuD,CAAC;wBAC1D,QAAQ,EAAE,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;qBACzC,CAAC,CAAC;oBAEH,MAAM,qBAAqB,CAAC;wBACxB,MAAM,EAAE,OAAO;wBACf,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;wBACjC,sBAAsB,EAAE,IAAI;wBAC5B,sBAAsB,EAAE,SAAS;wBACjC,gCAAgC,EAAE,SAAS;wBAC3C,qDAAqD,EAAE,IAAI;wBAC3D,WAAW,EAAE,0DAA0D;wBACvE,eAAe,EAAE,SAAS;qBAC7B,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC5B,CAAC,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClD,GAAG,EAAE,CACD;wBACI,qDAAqD;wBACrD,uCAAuC;wBACvC,wDAAwD;wBACxD,0EAA0E;qBAC7E,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;oBAEF,MAAM,wBAAwB,EAAE,CAAC;oBAEjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC5B,CAAC;gBAED,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;gBAEzB,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,0BAA0B,EAAE,CAAC;gBAE7E,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC;oBACzC,uBAAuB;oBACvB,2BAA2B;oBAC3B,QAAQ;oBACR,0BAA0B;oBAC1B,mBAAmB;oBACnB,mBAAmB,EAAE,GAAG,EAAE,CAAC,gBAAgB;oBAC3C,SAAS;oBACT,GAAG;iBACN,CAAC,CAAC;gBAEH,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC3C,GAAG,EAAE,CACD;wBACI,iFAAiF;wBACjF,6CAA6C;qBAChD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;oBACF,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACzB,MAAM,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACnC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;gBAED,IAAI,gBAAkC,CAAC;gBAEvC,QAAQ,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBACjC,KAAK,qCAAqC;wBACtC,CAAC;4BACG,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;4BAC5B,gBAAgB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;wBAC3D,CAAC;wBACD,MAAM;oBACV,KAAK,+BAA+B;wBAChC,CAAC;4BACG,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC;4BAE5C,GAAG,EAAE,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;4BAEnD,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;4BAEjE,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;4BAE9C,IAAI,sBAAsB,GAAiC,SAAS,CAAC;4BAErE,IAAI,CAAC;gCACD,sBAAsB;oCAClB,MAAM,uBAAuB,CAAC,sBAAsB,CAChD,iBAAiB,CAAC,YAAY,CAAC,CAClC,CAAC;4BACV,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACb,MAAM,CAAC,KAAK,YAAY,KAAK,EAAE,QAAQ,CAAC,CAAC;gCAEzC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oCACnC,6BAA6B,EAAE,CAAC;oCAChC,mCAAmC;oCACnC,MAAM,KAAK,CAAC;gCAChB,CAAC;4BACL,CAAC;4BAED,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gCACvC,0EAA0E;gCAC1E,8BAA8B;gCAE9B,6BAA6B,EAAE,CAAC;gCAEhC,GAAG,EAAE,CACD;oCACI,6CAA6C;oCAC7C,iCAAiC;iCACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;gCAEF,MAAM,wBAAwB,EAAE,CAAC;gCAEjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;4BAC5B,CAAC;4BAED,gBAAgB,GAAG,sBAAsB,CAAC;wBAC9C,CAAC;wBACD,MAAM;oBACV;wBACI,MAAM,CAA2C,KAAK,CAAC,CAAC;wBACxD,MAAM;gBACd,CAAC;gBAED,aAAa,GAAG,wBAAwB,CAAC;oBACrC,QAAQ;oBACR,gBAAgB;oBAChB,oBAAoB;oBACpB,gCAAgC;oBAChC,uBAAuB,EAAE,aAAa,CAAC,cAAc;oBACrD,aAAa;oBACb,GAAG;iBACN,CAAC,CAAC;gBAEH,IAAI,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBACpD,gBAAgB,CAAC;wBACb,QAAQ;wBACR,KAAK,EAAE;4BACH,gBAAgB,EAAE,WAAW;4BAC7B,0BAA0B,EAAE,aAAa,CAAC,0BAA0B;4BACpE,aAAa,EAAE,aAAa,CAAC,gBAAgB,EAAE;4BAC/C,4BAA4B;yBAC/B;qBACJ,CAAC,CAAC;gBACP,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;gBAElF,6BAA6B,EAAE,CAAC;YACpC,CAAC;YAED,IAAI,WAAW,GAKG,SAAS,CAAC;YAE5B,SAAS,UAAU;gBACf,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAE5C,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;gBAE3B,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBACT,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAE5C,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;wBACxB,OAAO;oBACX,CAAC;oBAED,WAAW,GAAG,SAAS,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACP,CAAC;YAED,KAAK,UAAU,mBAAmB,CAAC,MAElC;gBACG,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAAC;gBAE5D,MAAM,gBAAgB,GAAG;oBACrB,GAAG,mBAAmB,EAAE,EAAE;oBAC1B,GAAG,sBAAsB;iBAC5B,CAAC;gBAEF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC5B,WAAW,GAAG;wBACV,EAAE,EAAE,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC;wBAChD,gBAAgB;qBACnB,CAAC;oBAEF,UAAU,EAAE,CAAC;oBAEb,OAAO,WAAW,CAAC,EAAE,CAAC;gBAC1B,CAAC;gBAED,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACpF,OAAO,WAAW,CAAC,EAAE,CAAC;gBAC1B,CAAC;gBAED,WAAW,GAAG;oBACV,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE;wBACZ,MAAM,WAAW,CAAC,EAAE,CAAC;wBAErB,OAAO,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBACxD,CAAC,CAAC,EAAE;oBACJ,gBAAgB;iBACnB,CAAC;gBAEF,UAAU,EAAE,CAAC;gBAEb,OAAO,WAAW,CAAC,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO,MAAM,CAAC,EAAE;gBACZ,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBAE1C,qBAAqB,GAAG,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAElE,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC5B,qBAAqB,GAAG,SAAS,CAAC;gBACtC,CAAC,CAAC,CAAC;gBAEH,OAAO,qBAAqB,CAAC;YACjC,CAAC,CAAC;QACN,CAAC,CAAC,EAAE;QACJ,uBAAuB,EAAE,aAAa,CAAC,EAAE;YACrC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAElC,OAAO;gBACH,WAAW,EAAE,GAAG,EAAE;oBACd,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACzC,CAAC;aACJ,CAAC;QACN,CAAC;QACD,8BAA8B,EAAE,YAAY,CAAC,EAAE;YAC3C,gCAAgC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,kCAAkC,GAAG,GAAG,EAAE;gBAC5C,gCAAgC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1D,CAAC,CAAC;YAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC;QAClD,CAAC;QACD,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,0BAA0B,EAAE,EAAE,EAAE,CAC9E,qBAAqB,CAAC;YAClB,MAAM,EAAE,mBAAmB;YAC3B,WAAW,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI;YAChD,sBAAsB,EAAE,gBAAgB;YACxC,gCAAgC,EAAE,0BAA0B;SAC/D,CAAC;QACN,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB;QAC3D,mBAAmB,EAAE,CAAC,GAAG,EAAE;YACvB,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAEpD,GAAG,EAAE,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;YAEvC,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,EAAE;KACP,CAAC,CAAC;IAEH,CAAC;QACG,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;YAC7C,QAAQ;YACR,SAAS;SACZ,CAAC,CAAC;QAEH,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC7B,GAAG,EAAE,CAAC,kDAAkD,CAAC,CAAC;YAE1D,MAAM,uDAAuD,CAAC;gBAC1D,QAAQ,EAAE,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;aACzC,CAAC,CAAC;YAEH,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oEAAoE;IACpE,CAAC,SAAS,qBAAqB;QAC3B,gFAAgF;QAChF,yDAAyD;QACzD,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAK,CAAC;QAC7B,MAAM,kBAAkB,GAAG,IAAK,CAAC;QAEjC,gFAAgF;QAChF,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAE5D,IAAI,oBAAoB,GAAG,cAAc,EAAE,CAAC;QAC5C,IAAI,KAAK,GAA8C,SAAS,CAAC;QAEjE,MAAM,aAAa,GAAG,GAAG,EAAE;YACvB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpB,MAAM,kBAAkB,GAAG,cAAc,EAAE,CAAC;gBAE5C,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,kBAAkB,EAAE,CAAC;oBAC3E,GAAG,EAAE,CAAC,qDAAqD,CAAC,CAAC;oBAC7D,aAAa,CAAC,WAAW,EAAE,CAAC;oBAC5B,OAAO;gBACX,CAAC;gBAED,oBAAoB,GAAG,kBAAkB,CAAC;gBAC1C,aAAa,EAAE,CAAC;YACpB,CAAC,EAAE,cAAc,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,aAAa,EAAE,CAAC;QAEhB,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,aAAa,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACvF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,YAAY,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,sBAAsB,EAAE,CAAC;YACzB,qBAAqB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,EAAE,CAAC;IAEL,CAAC,SAAS,sCAAsC;QAC5C,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,GAAG,EAAE,CACD;gBACI,uEAAuE;gBACvE,8DAA8D;aACjE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YACF,OAAO;QACX,CAAC;QAED,MAAM,+CAA+C,GACjD,4BAA4B,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B,GAAG,IAAI,CAAC;QAEjG,MAAM,+BAA+B,GACjC,aAAa,CAAC,0BAA0B,KAAK,SAAS;YAClD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,aAAa,CAAC,0BAA0B,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACtF,MAAM,8BAA8B,GAChC,aAAa,CAAC,yBAAyB,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAE/E,IAAI,2BAA2B,GAAG,KAAK,CAAC;QAExC,IACI,aAAa,CAAC,0BAA0B,KAAK,SAAS;YACtD,aAAa,CAAC,0BAA0B,IAAI,aAAa,EAC3D,CAAC;YACC,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,YAAY,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;gBACnC,YAAY,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,YAAY,CAAC,IAAI,CACb,GAAG;oBACC,oFAAoF;oBACpF,wDAAwD;iBAC3D,CACJ,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpD,OAAO;YACX,CAAC;YAED,2BAA2B,GAAG,IAAI,CAAC;QACvC,CAAC;QAED,MAAM,uBAAuB,GAAG,KAAM,CAAC;QACvC,MAAM,mCAAmC,GAAG,uBAAuB,GAAG,KAAM,CAAC;QAE7E,+BAA+B,EAAE,CAAC;YAC9B,IAAI,+BAA+B,KAAK,SAAS,EAAE,CAAC;gBAChD,MAAM,+BAA+B,CAAC;YAC1C,CAAC;YAED,IAAI,+BAA+B,GAAG,mCAAmC,EAAE,CAAC;gBACxE,MAAM,+BAA+B,CAAC;YAC1C,CAAC;YAED,OAAO,CAAC,IAAI,CACR;gBACI,qGAAqG;gBACrG,sDAAsD,uBAAuB,CACzE,+BAA+B,CAClC,GAAG;gBACJ,iEAAiE,uBAAuB,CACpF,mCAAmC,CACtC,0BAA0B;gBAC3B,mGAAmG;gBACnG,qFAAqF;aACxF,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YAEF,OAAO;QACX,CAAC;QAED,IAAI,kBAAkB,GAAG,CAAC,GAAG,EAAE;YAC3B,IAAI,+BAA+B,KAAK,SAAS,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBAChF,GAAG,EAAE,CACD;oBACI,uBAAuB,CAAC,+BAA+B,CAAC;oBACxD,yCAAyC;oBACzC,oCAAoC,uBAAuB,CACvD,uBAAuB,CAC1B,2EAA2E;iBAC/E,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;gBAEF,OAAO,+BAA+B,CAAC;YAC3C,CAAC;YAED,IAAI,+CAA+C,KAAK,SAAS,EAAE,CAAC;gBAChE,IACI,+CAA+C,GAAG,mCAAmC,EACvF,CAAC;oBACC,MAAM,IAAI,KAAK,CACX;wBACI,0DAA0D,uBAAuB,CAC7E,+CAA+C,CAClD,iBAAiB;wBAClB,wCAAwC,uBAAuB,CAC3D,mCAAmC,CACtC,GAAG;wBACJ,kGAAkG;qBACrG,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;gBACN,CAAC;gBAED,GAAG,EAAE,CACD;oBACI,8CAA8C,uBAAuB,CACjE,+CAA+C,CAClD,GAAG;oBACJ,iDAAiD,uBAAuB,CACpE,+CAA+C,CAClD,yCAAyC;oBAC1C,4BAA4B,uBAAuB,CAC/C,uBAAuB,CAC1B,mEAAmE;iBACvE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;gBAEF,OAAO,+CAA+C,CAAC;YAC3D,CAAC;YAED,MAAM,kBAAkB,GACpB,8BAA8B,GAAG,mCAAmC;gBAChE,CAAC,CAAC,8BAA8B;gBAChC,CAAC,CAAC,OAAS,CAAC;YAEpB,GAAG,EAAE,CACD;gBACI,oDAAoD;gBACpD,2BAA2B,IAAI,mCAAmC;gBAClE,0CAA0C,uBAAuB,CAC7D,kBAAkB,CACrB,GAAG;gBACJ,4BAA4B,uBAAuB,CAC/C,uBAAuB,CAC1B,mEAAmE;aACvE;iBACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;iBACxC,IAAI,CAAC,GAAG,CAAC,CACjB,CAAC;YAEF,OAAO,kBAAkB,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,KAAK,GAAG,UAAU,CACpB,KAAK,IAAI,EAAE;YACP,CAAC;gBACG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;gBAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBAC/C,IAAI,OAAO,CAAQ,OAAO,CAAC,EAAE,CACzB,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,IAAK,CAAC,CACpE;wBACD,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;qBAC5B,CAAC,CAAC;oBAEH,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC3B,GAAG,EAAE,CACD;4BACI,yCAAyC;4BACzC,4DAA4D;4BAC5D,iFAAiF;4BACjF,2FAA2F;yBAC9F,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBACF,OAAO;oBACX,CAAC;gBACL,CAAC;YACL,CAAC;YAED,GAAG,EAAE,CACD,6FAA6F,uBAAuB,CAChH,uBAAuB,CAC1B,EAAE,CACN,CAAC;YAEF,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,EACD,IAAI,CAAC,GAAG,CACJ,kBAAkB,GAAG,uBAAuB;QAC5C,+DAA+D;QAC/D,0CAA0C;QAC1C,mFAAmF;QACnF,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CACtB,CACJ,CAAC;QAEF,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,aAAa,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACvF,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,sBAAsB,EAAE,CAAC;YACzB,sCAAsC,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,EAAE,CAAC;IAEL,WAAW,EAAE,CAAC;QACV,MAAM,kCAAkC,GAAG,GAAG,EAAE;YAC5C,IAAI,aAAa,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;gBACzD,OAAO,4BAA4B,CAAC;YACxC,CAAC;YAED,IAAI,aAAa,CAAC,0BAA0B,IAAI,aAAa,EAAE,CAAC;gBAC5D,OAAO,4BAA4B,IAAI,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,YAAY,GACd,CAAC,aAAa,CAAC,0BAA0B,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAEnF,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;YAChE,CAAC;YAED,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC;QAEF,IAAI,kCAAkC,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7C,GAAG,EAAE,CAAC,mEAAmE,CAAC,CAAC;YAC3E,MAAM,WAAW,CAAC;QACtB,CAAC;QAED,IAAI,kCAAkC,EAAE,KAAK,SAAS,EAAE,CAAC;YACrD,GAAG,EAAE,CACD,GACI,aAAa,CAAC,eAAe;gBACzB,CAAC,CAAC,iEAAiE;gBACnE,CAAC,CAAC,kBACV,wFAAwF,CAC3F,CAAC;YACF,MAAM,WAAW,CAAC;QACtB,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;YAC5C,YAAY,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;gBACpC,MAAM,kBAAkB,GAAG,CAAC,MAA2C,EAAE,EAAE;oBACvE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAChE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAChC,CAAC;gBACN,CAAC,CAAC;gBAEF,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;oBACpB,iBAAiB,EAAE,CAAC;wBAChB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;wBAE7C,IAAI,QAAQ,EAAE,CAAC;4BACX,MAAM,iBAAiB,CAAC;wBAC5B,CAAC;wBAED,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;4BACzC,IAAI,OAAO,CAAQ,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAM,CAAC,CAAC;4BACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;yBAC5B,CAAC,CAAC;wBAEH,IAAI,iBAAiB,EAAE,CAAC;4BACpB,MAAM,iBAAiB,CAAC;wBAC5B,CAAC;wBAED,GAAG,EAAE,CACD;4BACI,qCAAqC;4BACrC,gDAAgD;4BAChD,oDAAoD;4BACpD,oBAAoB;4BACpB,kDAAkD;yBACrD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBAEF,2BAA2B,EAAE,CAAC;wBAE9B,kBAAkB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;wBAE/C,wCAAwC,GAAG,IAAI,CAAC;wBAEhD,OAAO;oBACX,CAAC;oBAED,MAAM,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACjD,CAAC;gBAED,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,aAAa,GAA6B,SAAS,CAAC;QAExD,MAAM,eAAe,GAAG,qBAAqB,CAAC;YAC1C,QAAQ;YACR,SAAS;SACZ,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,2BAA2B,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YACvF,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;gBACzB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAC9B,aAAa,EAAE,CAAC;oBAChB,aAAa,GAAG,SAAS,CAAC;gBAC9B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAE9C,MAAM,+BAA+B,GAAG,kCAAkC,EAAE,CAAC;gBAE7E,MAAM,CAAC,+BAA+B,KAAK,SAAS,EAAE,WAAW,CAAC,CAAC;gBAEnE,aAAa,GAAG,cAAc,CAAC;oBAC3B,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAC5B,CAAC,+BAA+B,GAAG,IAAK;wBACpC,SAAS,CAAC,2BAA2B,CAAC;wBACtC,IAAK,CACZ;iBACJ,CAAC,CAAC,aAAa,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,CAAC;YACG,MAAM,+BAA+B,GAAG,kCAAkC,EAAE,CAAC;YAE7E,MAAM,CAAC,+BAA+B,KAAK,SAAS,EAAE,YAAY,CAAC,CAAC;YAEpE,GAAG,EAAE,CACD;gBACI,mDAAmD,uBAAuB,CACtE,+BAA+B,GAAG,IAAK,CAC1C,iBAAiB;gBAClB,4BAA4B,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,8EAA8E;aACvF;iBACI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;iBAC5B,IAAI,CAAC,IAAI,CAAC,CAClB,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type ParamsOfCreateGetServerDateNow } from "../tools/getServerDateNow";
2
+ export type DPoPStore = {
3
+ set: (key: string, value: DPoPState) => Promise<void>;
4
+ get: (key: string) => Promise<DPoPState>;
5
+ remove: (key: string) => Promise<DPoPState>;
6
+ getAllKeys: () => Promise<string[]>;
7
+ };
8
+ export type DPoPState = {
9
+ keys: CryptoKeyPair;
10
+ nonce?: string;
11
+ };
12
+ export declare function createInMemoryDPoPStore(params: {
13
+ configId: string;
14
+ }): DPoPStore;
15
+ export declare function registerAccessTokenForDPoP(params: {
16
+ configId: string;
17
+ accessToken: string;
18
+ paramsOfCreateGetServerDateNow: ParamsOfCreateGetServerDateNow;
19
+ }): void;
20
+ export declare function implementFetchAndXhrDPoPInterceptor(): void;
@@ -0,0 +1,384 @@
1
+ import { assert } from "../tools/tsafe/assert.mjs";
2
+ import { generateES256DPoPProof } from "../tools/generateES256DPoPProof.mjs";
3
+ import { createGetServerDateNow } from "../tools/getServerDateNow.mjs";
4
+ // NOTE: Using object instead of Map because Map is not freezed.
5
+ const dpopStateByConfigId = {};
6
+ export function createInMemoryDPoPStore(params) {
7
+ const { configId } = params;
8
+ let key_singleton = undefined;
9
+ const store = {
10
+ set: (key, value) => {
11
+ if (key_singleton !== undefined) {
12
+ assert(key === key_singleton, "394303302");
13
+ }
14
+ key_singleton = key;
15
+ dpopStateByConfigId[configId] = value;
16
+ return Promise.resolve();
17
+ },
18
+ get: key => {
19
+ assert(key_singleton !== undefined, "49303403");
20
+ assert(key_singleton === key, "34023493");
21
+ const value = dpopStateByConfigId[configId];
22
+ assert(value !== undefined, "943023493");
23
+ return Promise.resolve(value);
24
+ },
25
+ remove: async (key) => {
26
+ const value = await store.get(key);
27
+ delete dpopStateByConfigId[configId];
28
+ return value;
29
+ },
30
+ getAllKeys: () => {
31
+ if (configId in dpopStateByConfigId) {
32
+ assert(key_singleton !== undefined, "39430338");
33
+ return Promise.resolve([key_singleton]);
34
+ }
35
+ else {
36
+ return Promise.resolve([]);
37
+ }
38
+ }
39
+ };
40
+ return store;
41
+ }
42
+ const accessTokenConfigIdEntries = [];
43
+ export function registerAccessTokenForDPoP(params) {
44
+ const { configId, accessToken, paramsOfCreateGetServerDateNow } = params;
45
+ for (const entry of accessTokenConfigIdEntries) {
46
+ if (entry.configId !== configId) {
47
+ continue;
48
+ }
49
+ setTimeout(() => {
50
+ const index = accessTokenConfigIdEntries.indexOf(entry);
51
+ if (index === -1) {
52
+ return;
53
+ }
54
+ accessTokenConfigIdEntries.splice(index, 1);
55
+ }, 30000);
56
+ }
57
+ const entry_new = {
58
+ configId,
59
+ accessToken,
60
+ paramsOfCreateGetServerDateNow
61
+ };
62
+ accessTokenConfigIdEntries.push(entry_new);
63
+ }
64
+ const nonceEntriesByConfigId = {};
65
+ function generateMaterialToUpgradeBearerRequestToDPoP(params) {
66
+ const { httpMethod, url, authorizationHeaderValue } = params;
67
+ if (authorizationHeaderValue === undefined) {
68
+ return {
69
+ isHandled: false
70
+ };
71
+ }
72
+ const accessToken = (() => {
73
+ const match = authorizationHeaderValue.match(/^\s*Bearer\s+(.+?)\s*$/i);
74
+ if (match === null) {
75
+ return undefined;
76
+ }
77
+ return match[1];
78
+ })();
79
+ if (accessToken === undefined) {
80
+ return {
81
+ isHandled: false
82
+ };
83
+ }
84
+ const entry = accessTokenConfigIdEntries.find(entry => entry.accessToken === accessToken);
85
+ if (entry === undefined) {
86
+ return {
87
+ isHandled: false
88
+ };
89
+ }
90
+ const { configId, paramsOfCreateGetServerDateNow } = entry;
91
+ const dpopState = dpopStateByConfigId[configId];
92
+ assert(dpopState !== undefined, "304922047");
93
+ const nonceEntries = (nonceEntriesByConfigId[configId] ?? (nonceEntriesByConfigId[configId] = []));
94
+ const origin = new URL(url).origin;
95
+ const generateDPoPProof = () => generateES256DPoPProof({
96
+ keyPair: dpopState.keys,
97
+ url,
98
+ accessToken,
99
+ httpMethod,
100
+ nonce: nonceEntries.find(entry => entry.origin === origin)?.nonce,
101
+ getServerDateNow: createGetServerDateNow(paramsOfCreateGetServerDateNow)
102
+ });
103
+ return {
104
+ isHandled: true,
105
+ accessToken,
106
+ nextStepDPoP: async () => ({
107
+ dpopProof: await generateDPoPProof(),
108
+ registerDPoPNonce: ({ nonce }) => {
109
+ const nonceEntry = nonceEntries.find(entry => entry.origin === origin);
110
+ if (nonceEntry !== undefined) {
111
+ nonceEntry.nonce = nonce;
112
+ }
113
+ else {
114
+ nonceEntries.push({ origin, nonce });
115
+ }
116
+ },
117
+ reGenerateDpopProof: generateDPoPProof
118
+ })
119
+ };
120
+ }
121
+ export function implementFetchAndXhrDPoPInterceptor() {
122
+ function readNonceFromResponseHeader(params) {
123
+ const { getResponseHeader } = params;
124
+ dpop_nonce_header: {
125
+ const value = getResponseHeader("DPoP-Nonce");
126
+ if (value === null) {
127
+ break dpop_nonce_header;
128
+ }
129
+ return value;
130
+ }
131
+ www_authenticate_header: {
132
+ const value = getResponseHeader("WWW-Authenticate");
133
+ if (value === null) {
134
+ break www_authenticate_header;
135
+ }
136
+ {
137
+ const value_lower = value.toLowerCase();
138
+ if (!value_lower.includes("dpop") || !value_lower.includes("use_dpop_nonce")) {
139
+ break www_authenticate_header;
140
+ }
141
+ }
142
+ const match = value.match(/nonce="([^"]+)"/i);
143
+ if (match === null) {
144
+ break www_authenticate_header;
145
+ }
146
+ return match[1];
147
+ }
148
+ return undefined;
149
+ }
150
+ {
151
+ const createFetchProxy = (params) => {
152
+ const { fetch, isFetchLater } = params;
153
+ let hasLoggedFetchLaterWarning = false;
154
+ const fetchProxy = async (input, init) => {
155
+ if (accessTokenConfigIdEntries.length === 0) {
156
+ return fetch(input, init);
157
+ }
158
+ let request = input instanceof Request ? input : new Request(input, init);
159
+ const fetch_ctx = (() => {
160
+ if (!init) {
161
+ return fetch;
162
+ }
163
+ // @ts-expect-error
164
+ const { activateAfter } = init;
165
+ if (!activateAfter) {
166
+ return fetch;
167
+ }
168
+ return request => {
169
+ // @ts-expect-error
170
+ return fetch(request, { activateAfter });
171
+ };
172
+ })();
173
+ let dpopStatus;
174
+ update_headers: {
175
+ const result = generateMaterialToUpgradeBearerRequestToDPoP({
176
+ authorizationHeaderValue: request.headers.get("Authorization") ?? undefined,
177
+ url: request.url,
178
+ httpMethod: request.method
179
+ });
180
+ if (!result.isHandled) {
181
+ dpopStatus = { isHandled: false };
182
+ break update_headers;
183
+ }
184
+ const { accessToken, nextStepDPoP } = result;
185
+ const { dpopProof, reGenerateDpopProof, registerDPoPNonce } = await nextStepDPoP();
186
+ request = new Request(request, {
187
+ headers: (() => {
188
+ const h = new Headers(request.headers);
189
+ h.set("Authorization", `DPoP ${accessToken}`);
190
+ h.set("DPoP", dpopProof);
191
+ return h;
192
+ })()
193
+ });
194
+ dpopStatus = {
195
+ isHandled: true,
196
+ registerDPoPNonce,
197
+ reGenerateDpopProof
198
+ };
199
+ }
200
+ if (!dpopStatus.isHandled) {
201
+ return fetch_ctx(request);
202
+ }
203
+ if (isFetchLater && !hasLoggedFetchLaterWarning) {
204
+ console.warn([
205
+ "oidc-spa: Detected an authenticated fetchLater() request while DPoP is enabled.",
206
+ "Support for fetchLater + DPoP is not fully implemented yet.",
207
+ "If you rely on this, please open an issue and we will implement support:",
208
+ "https://github.com/keycloakify/oidc-spa"
209
+ ].join(" "));
210
+ hasLoggedFetchLaterWarning = true;
211
+ }
212
+ let request_cloneForReplay = (() => {
213
+ const method = request.method.toUpperCase();
214
+ if (method !== "GET" && method !== "HEAD") {
215
+ return undefined;
216
+ }
217
+ try {
218
+ return request.clone();
219
+ }
220
+ catch {
221
+ return undefined;
222
+ }
223
+ })();
224
+ let response = await fetch_ctx(request);
225
+ re_send_with_DPoP_nonce: {
226
+ if (response.status !== 401) {
227
+ break re_send_with_DPoP_nonce;
228
+ }
229
+ const nonce = readNonceFromResponseHeader({
230
+ getResponseHeader: headerName => response.headers.get(headerName)
231
+ });
232
+ if (nonce === undefined) {
233
+ break re_send_with_DPoP_nonce;
234
+ }
235
+ dpopStatus.registerDPoPNonce({ nonce });
236
+ if (request_cloneForReplay === undefined) {
237
+ break re_send_with_DPoP_nonce;
238
+ }
239
+ const dpopProof_new = await dpopStatus.reGenerateDpopProof();
240
+ response = await fetch_ctx(new Request(request_cloneForReplay, {
241
+ headers: (() => {
242
+ const h = new Headers(request_cloneForReplay.headers);
243
+ h.set("DPoP", dpopProof_new);
244
+ return h;
245
+ })()
246
+ }));
247
+ }
248
+ {
249
+ const nonce = readNonceFromResponseHeader({
250
+ getResponseHeader: headerName => response.headers.get(headerName)
251
+ });
252
+ if (nonce !== undefined) {
253
+ dpopStatus.registerDPoPNonce({ nonce });
254
+ }
255
+ }
256
+ return response;
257
+ };
258
+ return fetchProxy;
259
+ };
260
+ window.fetch = createFetchProxy({ fetch: window.fetch, isFetchLater: false });
261
+ // @ts-expect-error
262
+ if (window.fetchLater) {
263
+ // @ts-expect-error
264
+ window.fetchLater = createFetchProxy({ fetch: window.fetchLater, isFetchLater: true });
265
+ }
266
+ }
267
+ {
268
+ const XMLHttpRequest_prototype_actual = {
269
+ open: XMLHttpRequest.prototype.open,
270
+ send: XMLHttpRequest.prototype.send,
271
+ setRequestHeader: XMLHttpRequest.prototype.setRequestHeader
272
+ };
273
+ const stateByInstance = new WeakMap();
274
+ XMLHttpRequest.prototype.open = function () {
275
+ const [method, url, async] = arguments;
276
+ if (stateByInstance.get(this)?.handledRequestState !== undefined) {
277
+ throw new Error([
278
+ "oidc-spa: Cannot reuse XMLHttpRequest instances",
279
+ "that have been DPoP upgraded"
280
+ ].join(" "));
281
+ }
282
+ stateByInstance.set(this, {
283
+ method: method.toUpperCase(),
284
+ url: typeof url === "string" ? new URL(url, window.location.href).href : url.href,
285
+ isSynchronous: async === false,
286
+ handledRequestState: undefined
287
+ });
288
+ return XMLHttpRequest_prototype_actual.open.apply(this,
289
+ // @ts-expect-error
290
+ arguments);
291
+ };
292
+ XMLHttpRequest.prototype.setRequestHeader = function (name, value) {
293
+ intercept: {
294
+ const state = stateByInstance.get(this);
295
+ if (state?.handledRequestState?.hasSendBeenCalled === true) {
296
+ throw new DOMException("Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.", "InvalidStateError");
297
+ }
298
+ if (name.toLowerCase() !== "authorization") {
299
+ break intercept;
300
+ }
301
+ if (this.readyState !== XMLHttpRequest.OPENED) {
302
+ break intercept;
303
+ }
304
+ // NOTE: If it's opened we know open have been called and hence the state is set.
305
+ assert(state !== undefined, "34308330");
306
+ const result = generateMaterialToUpgradeBearerRequestToDPoP({
307
+ httpMethod: state.method,
308
+ url: state.url,
309
+ authorizationHeaderValue: value
310
+ });
311
+ if (!result.isHandled) {
312
+ break intercept;
313
+ }
314
+ if (state.handledRequestState !== undefined) {
315
+ throw new Error([
316
+ "oidc-spa: Calling xhr.setRequestHeader(\"Authorization\", `Bearer <access_token>`)",
317
+ "more than once on the same instance, this is probably an usage error"
318
+ ].join(" "));
319
+ }
320
+ if (state.isSynchronous) {
321
+ throw new Error([
322
+ "oidc-spa: Cannot perform synchronous authenticated XMLHttpRequest",
323
+ "requests when DPoP is enabled."
324
+ ].join(" "));
325
+ }
326
+ state.handledRequestState = {
327
+ accessToken: result.accessToken,
328
+ nextStepDPoP: result.nextStepDPoP,
329
+ hasSendBeenCalled: false
330
+ };
331
+ return;
332
+ }
333
+ return XMLHttpRequest_prototype_actual.setRequestHeader.apply(this,
334
+ // @ts-expect-error
335
+ arguments);
336
+ };
337
+ XMLHttpRequest.prototype.send = function () {
338
+ intercept: {
339
+ const state = stateByInstance.get(this);
340
+ if (state === undefined) {
341
+ break intercept;
342
+ }
343
+ const { handledRequestState } = state;
344
+ if (handledRequestState === undefined) {
345
+ break intercept;
346
+ }
347
+ if (handledRequestState.hasSendBeenCalled) {
348
+ throw new DOMException("Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.", "InvalidStateError");
349
+ }
350
+ handledRequestState.hasSendBeenCalled = true;
351
+ const { accessToken, nextStepDPoP } = handledRequestState;
352
+ nextStepDPoP().then(({ dpopProof, registerDPoPNonce }) => {
353
+ if (this.readyState !== XMLHttpRequest.OPENED) {
354
+ // abort() has been called.
355
+ return;
356
+ }
357
+ const onReadyStateChange = () => {
358
+ if (this.readyState !== XMLHttpRequest.DONE) {
359
+ return;
360
+ }
361
+ const nonce = readNonceFromResponseHeader({
362
+ getResponseHeader: headerName => this.getResponseHeader(headerName)
363
+ });
364
+ if (nonce !== undefined) {
365
+ registerDPoPNonce({ nonce });
366
+ }
367
+ this.removeEventListener("readystatechange", onReadyStateChange);
368
+ };
369
+ this.addEventListener("readystatechange", onReadyStateChange);
370
+ XMLHttpRequest_prototype_actual.setRequestHeader.call(this, "Authorization", `DPoP ${accessToken}`);
371
+ XMLHttpRequest_prototype_actual.setRequestHeader.call(this, "DPoP", dpopProof);
372
+ XMLHttpRequest_prototype_actual.send.apply(this,
373
+ // @ts-expect-error
374
+ arguments);
375
+ });
376
+ return;
377
+ }
378
+ return XMLHttpRequest_prototype_actual.send.apply(this,
379
+ // @ts-expect-error
380
+ arguments);
381
+ };
382
+ }
383
+ }
384
+ //# sourceMappingURL=dpop.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dpop.mjs","sourceRoot":"","sources":["../../src/core/dpop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAuC,MAAM,2BAA2B,CAAC;AAcxG,gEAAgE;AAChE,MAAM,mBAAmB,GAAkD,EAAE,CAAC;AAE9E,MAAM,UAAU,uBAAuB,CAAC,MAA4B;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5B,IAAI,aAAa,GAAuB,SAAS,CAAC;IAElD,MAAM,KAAK,GAAc;QACrB,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAChB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,KAAK,aAAa,EAAE,WAAW,CAAC,CAAC;YAC/C,CAAC;YAED,aAAa,GAAG,GAAG,CAAC;YAEpB,mBAAmB,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YAEtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,GAAG,EAAE,GAAG,CAAC,EAAE;YACP,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,UAAU,CAAC,CAAC;YAChD,MAAM,CAAC,aAAa,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,WAAW,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YAChB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,UAAU,EAAE,GAAG,EAAE;YACb,IAAI,QAAQ,IAAI,mBAAmB,EAAE,CAAC;gBAClC,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,UAAU,CAAC,CAAC;gBAChD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;KACJ,CAAC;IAEF,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,0BAA0B,GAI1B,EAAE,CAAC;AAET,MAAM,UAAU,0BAA0B,CAAC,MAI1C;IACG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,GAAG,MAAM,CAAC;IAEzE,KAAK,MAAM,KAAK,IAAI,0BAA0B,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACb,CAAC;QAED,UAAU,CAAC,GAAG,EAAE;YACZ,MAAM,KAAK,GAAG,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAExD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,OAAO;YACX,CAAC;YAED,0BAA0B,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,KAAM,CAAC,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAgD;QAC3D,QAAQ;QACR,WAAW;QACX,8BAA8B;KACjC,CAAC;IAEF,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAsB,GACxB,EAAE,CAAC;AAEP,SAAS,4CAA4C,CAAC,MAIrD;IAaG,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAAC;IAE7D,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO;YACH,SAAS,EAAE,KAAK;SACnB,CAAC;IACN,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAExE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACH,SAAS,EAAE,KAAK;SACnB,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAE1F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO;YACH,SAAS,EAAE,KAAK;SACnB,CAAC;IACN,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,8BAA8B,EAAE,GAAG,KAAK,CAAC;IAE3D,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,WAAW,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,CAAC,sBAAsB,CAAC,QAAQ,MAA/B,sBAAsB,CAAC,QAAQ,IAAM,EAAE,EAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAEnC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAC3B,sBAAsB,CAAC;QACnB,OAAO,EAAE,SAAS,CAAC,IAAI;QACvB,GAAG;QACH,WAAW;QACX,UAAU;QACV,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK;QACjE,gBAAgB,EAAE,sBAAsB,CAAC,8BAA8B,CAAC;KAC3E,CAAC,CAAC;IAEP,OAAO;QACH,SAAS,EAAE,IAAI;QACf,WAAW;QACX,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACvB,SAAS,EAAE,MAAM,iBAAiB,EAAE;YACpC,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC7B,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;gBAEvE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC3B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACJ,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;YACD,mBAAmB,EAAE,iBAAiB;SACzC,CAAC;KACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mCAAmC;IAC/C,SAAS,2BAA2B,CAAC,MAEpC;QACG,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAErC,iBAAiB,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,iBAAiB,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,uBAAuB,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YAEpD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,uBAAuB,CAAC;YAClC,CAAC;YAED,CAAC;gBACG,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAExC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC3E,MAAM,uBAAuB,CAAC;gBAClC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAE9C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,uBAAuB,CAAC;YAClC,CAAC;YAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,CAAC;QACG,MAAM,gBAAgB,GAAG,CAAC,MAA6D,EAAE,EAAE;YACvF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;YAEvC,IAAI,0BAA0B,GAAG,KAAK,CAAC;YAEvC,MAAM,UAAU,GAAiB,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACnD,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1C,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBAED,IAAI,OAAO,GAAG,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAE1E,MAAM,SAAS,GAA4C,CAAC,GAAG,EAAE;oBAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;wBACR,OAAO,KAAK,CAAC;oBACjB,CAAC;oBAED,mBAAmB;oBACnB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;oBAE/B,IAAI,CAAC,aAAa,EAAE,CAAC;wBACjB,OAAO,KAAK,CAAC;oBACjB,CAAC;oBAED,OAAO,OAAO,CAAC,EAAE;wBACb,mBAAmB;wBACnB,OAAO,KAAK,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;oBAC7C,CAAC,CAAC;gBACN,CAAC,CAAC,EAAE,CAAC;gBAEL,IAAI,UAMG,CAAC;gBAER,cAAc,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,4CAA4C,CAAC;wBACxD,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS;wBAC3E,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,UAAU,EAAE,OAAO,CAAC,MAAM;qBAC7B,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;wBACpB,UAAU,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;wBAClC,MAAM,cAAc,CAAC;oBACzB,CAAC;oBAED,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;oBAE7C,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;oBAEnF,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE;wBAC3B,OAAO,EAAE,CAAC,GAAG,EAAE;4BACX,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BACvC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,WAAW,EAAE,CAAC,CAAC;4BAC9C,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;4BACzB,OAAO,CAAC,CAAC;wBACb,CAAC,CAAC,EAAE;qBACP,CAAC,CAAC;oBAEH,UAAU,GAAG;wBACT,SAAS,EAAE,IAAI;wBACf,iBAAiB;wBACjB,mBAAmB;qBACtB,CAAC;gBACN,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;oBACxB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;gBAED,IAAI,YAAY,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAC9C,OAAO,CAAC,IAAI,CACR;wBACI,iFAAiF;wBACjF,6DAA6D;wBAC7D,0EAA0E;wBAC1E,yCAAyC;qBAC5C,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;oBACF,0BAA0B,GAAG,IAAI,CAAC;gBACtC,CAAC;gBAED,IAAI,sBAAsB,GAAG,CAAC,GAAG,EAAE;oBAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAE5C,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBACxC,OAAO,SAAS,CAAC;oBACrB,CAAC;oBAED,IAAI,CAAC;wBACD,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACL,OAAO,SAAS,CAAC;oBACrB,CAAC;gBACL,CAAC,CAAC,EAAE,CAAC;gBAEL,IAAI,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBAExC,uBAAuB,EAAE,CAAC;oBACtB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC1B,MAAM,uBAAuB,CAAC;oBAClC,CAAC;oBAED,MAAM,KAAK,GAAG,2BAA2B,CAAC;wBACtC,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;qBACpE,CAAC,CAAC;oBAEH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACtB,MAAM,uBAAuB,CAAC;oBAClC,CAAC;oBAED,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBAExC,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;wBACvC,MAAM,uBAAuB,CAAC;oBAClC,CAAC;oBAED,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE,CAAC;oBAE7D,QAAQ,GAAG,MAAM,SAAS,CACtB,IAAI,OAAO,CAAC,sBAAsB,EAAE;wBAChC,OAAO,EAAE,CAAC,GAAG,EAAE;4BACX,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;4BACtD,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;4BAC7B,OAAO,CAAC,CAAC;wBACb,CAAC,CAAC,EAAE;qBACP,CAAC,CACL,CAAC;gBACN,CAAC;gBAED,CAAC;oBACG,MAAM,KAAK,GAAG,2BAA2B,CAAC;wBACtC,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;qBACpE,CAAC,CAAC;oBAEH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACtB,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC5C,CAAC;gBACL,CAAC;gBAED,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC;YAEF,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9E,mBAAmB;QACnB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpB,mBAAmB;YACnB,MAAM,CAAC,UAAU,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IACD,CAAC;QACG,MAAM,+BAA+B,GAAG;YACpC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,IAAI;YACnC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,IAAI;YACnC,gBAAgB,EAAE,cAAc,CAAC,SAAS,CAAC,gBAAgB;SAC9D,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,OAAO,EAkBhC,CAAC;QAEJ,cAAc,CAAC,SAAS,CAAC,IAAI,GAAG;YAC5B,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,SAA+D,CAAC;YAE7F,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACX;oBACI,iDAAiD;oBACjD,8BAA8B;iBACjC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YACN,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE;gBACtB,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;gBAC5B,GAAG,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;gBACjF,aAAa,EAAE,KAAK,KAAK,KAAK;gBAC9B,mBAAmB,EAAE,SAAS;aACjC,CAAC,CAAC;YAEH,OAAO,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAC7C,IAAI;YACJ,mBAAmB;YACnB,SAAS,CACZ,CAAC;QACN,CAAC,CAAC;QAEF,cAAc,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,IAAI,EAAE,KAAK;YAC7D,SAAS,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAExC,IAAI,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBACzD,MAAM,IAAI,YAAY,CAClB,8FAA8F,EAC9F,mBAAmB,CACtB,CAAC;gBACN,CAAC;gBAED,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;oBACzC,MAAM,SAAS,CAAC;gBACpB,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC5C,MAAM,SAAS,CAAC;gBACpB,CAAC;gBAED,iFAAiF;gBACjF,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,UAAU,CAAC,CAAC;gBAExC,MAAM,MAAM,GAAG,4CAA4C,CAAC;oBACxD,UAAU,EAAE,KAAK,CAAC,MAAM;oBACxB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,wBAAwB,EAAE,KAAK;iBAClC,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACpB,MAAM,SAAS,CAAC;gBACpB,CAAC;gBAED,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CACX;wBACI,kFAAkF;wBAClF,sEAAsE;qBACzE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;gBACN,CAAC;gBAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACX;wBACI,mEAAmE;wBACnE,gCAAgC;qBACnC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;gBACN,CAAC;gBAED,KAAK,CAAC,mBAAmB,GAAG;oBACxB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,iBAAiB,EAAE,KAAK;iBAC3B,CAAC;gBAEF,OAAO;YACX,CAAC;YAED,OAAO,+BAA+B,CAAC,gBAAgB,CAAC,KAAK,CACzD,IAAI;YACJ,mBAAmB;YACnB,SAAS,CACZ,CAAC;QACN,CAAC,CAAC;QAEF,cAAc,CAAC,SAAS,CAAC,IAAI,GAAG;YAC5B,SAAS,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAExC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,MAAM,SAAS,CAAC;gBACpB,CAAC;gBAED,MAAM,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;gBAEtC,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,SAAS,CAAC;gBACpB,CAAC;gBAED,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;oBACxC,MAAM,IAAI,YAAY,CAClB,kFAAkF,EAClF,mBAAmB,CACtB,CAAC;gBACN,CAAC;gBAED,mBAAmB,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAE7C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC;gBAE1D,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE;oBACrD,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;wBAC5C,2BAA2B;wBAC3B,OAAO;oBACX,CAAC;oBAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;wBAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;4BAC1C,OAAO;wBACX,CAAC;wBAED,MAAM,KAAK,GAAG,2BAA2B,CAAC;4BACtC,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;yBACtE,CAAC,CAAC;wBAEH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACtB,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;wBACjC,CAAC;wBAED,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;oBACrE,CAAC,CAAC;oBAEF,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;oBAE9D,+BAA+B,CAAC,gBAAgB,CAAC,IAAI,CACjD,IAAI,EACJ,eAAe,EACf,QAAQ,WAAW,EAAE,CACxB,CAAC;oBACF,+BAA+B,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;oBAE/E,+BAA+B,CAAC,IAAI,CAAC,KAAK,CACtC,IAAI;oBACJ,mBAAmB;oBACnB,SAAS,CACZ,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,OAAO;YACX,CAAC;YAED,OAAO,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAC7C,IAAI;YACJ,mBAAmB;YACnB,SAAS,CACZ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -6,6 +6,7 @@ import { isBrowser } from "../tools/isBrowser.mjs";
6
6
  import { createEvt } from "../tools/Evt.mjs";
7
7
  import { handleTokenExfiltrationDefense_legacy } from "./tokenExfiltrationDefense_legacy.mjs";
8
8
  import { enableTokenExfiltrationDefense } from "./tokenExfiltrationDefense.mjs";
9
+ import { implementFetchAndXhrDPoPInterceptor } from "./dpop.mjs";
9
10
  let hasEarlyInitBeenCalled = false;
10
11
  const IFRAME_MESSAGE_PREFIX = "oidc-spa:cross-window-messaging:";
11
12
  export function oidcEarlyInit(params) {
@@ -18,6 +19,7 @@ export function oidcEarlyInit(params) {
18
19
  }
19
20
  const { shouldLoadApp } = handleOidcCallback();
20
21
  if (shouldLoadApp) {
22
+ implementFetchAndXhrDPoPInterceptor();
21
23
  token_exfiltration_defense: {
22
24
  if (!("enableTokenExfiltrationDefense" in params)) {
23
25
  handleTokenExfiltrationDefense_legacy({