globalpayments-api 3.10.14 → 3.11.0

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 (188) hide show
  1. package/CHANGELOG.md +255 -240
  2. package/LICENSE.md +257 -257
  3. package/README.md +148 -148
  4. package/appsec.properties +8 -0
  5. package/lib/src/Builders/BaseBuilder/ValidationClause.d.ts +3 -2
  6. package/lib/src/Builders/BaseBuilder/ValidationClause.js +23 -15
  7. package/lib/src/Builders/BaseBuilder/ValidationClause.js.map +1 -1
  8. package/lib/src/Builders/BaseBuilder/Validations.js +7 -2
  9. package/lib/src/Builders/BaseBuilder/Validations.js.map +1 -1
  10. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.d.ts +11 -2
  11. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js +44 -5
  12. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js.map +1 -1
  13. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.js +2 -2
  14. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.js.map +1 -1
  15. package/lib/src/Entities/Enums.d.ts +4 -2
  16. package/lib/src/Entities/Enums.js +3 -1
  17. package/lib/src/Entities/Enums.js.map +1 -1
  18. package/lib/src/Entities/GpApi/PorticoTokenConfig.d.ts +25 -0
  19. package/lib/src/Entities/GpApi/PorticoTokenConfig.js +30 -0
  20. package/lib/src/Entities/GpApi/PorticoTokenConfig.js.map +1 -0
  21. package/lib/src/Entities/GpApi/index.d.ts +1 -0
  22. package/lib/src/Entities/GpApi/index.js +1 -0
  23. package/lib/src/Entities/GpApi/index.js.map +1 -1
  24. package/lib/src/Entities/RecurringEntity.js +2 -2
  25. package/lib/src/Entities/RecurringEntity.js.map +1 -1
  26. package/lib/src/Entities/Transaction.d.ts +2 -0
  27. package/lib/src/Entities/Transaction.js +2 -0
  28. package/lib/src/Entities/Transaction.js.map +1 -1
  29. package/lib/src/Entities/TransactionSummary.d.ts +1 -0
  30. package/lib/src/Entities/TransactionSummary.js +1 -0
  31. package/lib/src/Entities/TransactionSummary.js.map +1 -1
  32. package/lib/src/Entities/UPA/ExtraChargeType.d.ts +8 -0
  33. package/lib/src/Entities/UPA/ExtraChargeType.js +13 -0
  34. package/lib/src/Entities/UPA/ExtraChargeType.js.map +1 -0
  35. package/lib/src/Entities/UPA/Lodging.d.ts +11 -0
  36. package/lib/src/Entities/UPA/Lodging.js +15 -0
  37. package/lib/src/Entities/UPA/Lodging.js.map +1 -0
  38. package/lib/src/Entities/UPA/POSData.d.ts +6 -0
  39. package/lib/src/Entities/UPA/POSData.js +11 -0
  40. package/lib/src/Entities/UPA/POSData.js.map +1 -0
  41. package/lib/src/Entities/UPA/ProcessIndicator.d.ts +1 -1
  42. package/lib/src/Entities/UPA/ProcessIndicator.js.map +1 -1
  43. package/lib/src/Entities/UPA/UpaParam.d.ts +7 -7
  44. package/lib/src/Entities/UPA/UpaParam.js.map +1 -1
  45. package/lib/src/Entities/UPA/UpaTransactionData.d.ts +5 -5
  46. package/lib/src/Entities/UPA/UpaTransactionData.js.map +1 -1
  47. package/lib/src/Entities/UPA/index.d.ts +3 -0
  48. package/lib/src/Entities/UPA/index.js +3 -0
  49. package/lib/src/Entities/UPA/index.js.map +1 -1
  50. package/lib/src/Gateways/GpApiConnector.js +23 -4
  51. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  52. package/lib/src/Gateways/PorticoConnector.d.ts +1 -1
  53. package/lib/src/Gateways/PorticoConnector.js +2 -0
  54. package/lib/src/Gateways/PorticoConnector.js.map +1 -1
  55. package/lib/src/Mapping/GpApiMapping.js +7 -0
  56. package/lib/src/Mapping/GpApiMapping.js.map +1 -1
  57. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.d.ts +6 -0
  58. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js +25 -2
  59. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js.map +1 -1
  60. package/lib/src/Services/GpApiServices.js +4 -1
  61. package/lib/src/Services/GpApiServices.js.map +1 -1
  62. package/lib/src/Terminals/Abstractions/IDeviceInterface.d.ts +23 -2
  63. package/lib/src/Terminals/Abstractions/IDeviceResponse.d.ts +71 -24
  64. package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +54 -22
  65. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +98 -13
  66. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
  67. package/lib/src/Terminals/Builders/TerminalBuilder.d.ts +6 -3
  68. package/lib/src/Terminals/Builders/TerminalBuilder.js +9 -0
  69. package/lib/src/Terminals/Builders/TerminalBuilder.js.map +1 -1
  70. package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +16 -6
  71. package/lib/src/Terminals/Builders/TerminalManageBuilder.js +27 -2
  72. package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -1
  73. package/lib/src/Terminals/Builders/TerminalReportBuilder.d.ts +17 -0
  74. package/lib/src/Terminals/Builders/TerminalReportBuilder.js +57 -0
  75. package/lib/src/Terminals/Builders/TerminalReportBuilder.js.map +1 -0
  76. package/lib/src/Terminals/Builders/index.d.ts +1 -0
  77. package/lib/src/Terminals/Builders/index.js +1 -0
  78. package/lib/src/Terminals/Builders/index.js.map +1 -1
  79. package/lib/src/Terminals/DeviceController.d.ts +6 -5
  80. package/lib/src/Terminals/DeviceController.js.map +1 -1
  81. package/lib/src/Terminals/DeviceInterface.d.ts +23 -3
  82. package/lib/src/Terminals/DeviceInterface.js +68 -0
  83. package/lib/src/Terminals/DeviceInterface.js.map +1 -1
  84. package/lib/src/Terminals/Enums.d.ts +11 -0
  85. package/lib/src/Terminals/Enums.js +14 -1
  86. package/lib/src/Terminals/Enums.js.map +1 -1
  87. package/lib/src/Terminals/TerminalResponse.d.ts +44 -36
  88. package/lib/src/Terminals/TerminalResponse.js +8 -0
  89. package/lib/src/Terminals/TerminalResponse.js.map +1 -1
  90. package/lib/src/Terminals/UPA/Entities/UpaMessageId.d.ts +10 -1
  91. package/lib/src/Terminals/UPA/Entities/UpaMessageId.js +9 -0
  92. package/lib/src/Terminals/UPA/Entities/UpaMessageId.js.map +1 -1
  93. package/lib/src/Terminals/UPA/Entities/UpaModels.d.ts +62 -0
  94. package/lib/src/Terminals/UPA/Entities/UpaModels.js +28 -0
  95. package/lib/src/Terminals/UPA/Entities/UpaModels.js.map +1 -0
  96. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.d.ts +7 -0
  97. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.js +12 -0
  98. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.js.map +1 -0
  99. package/lib/src/Terminals/UPA/Entities/index.d.ts +1 -0
  100. package/lib/src/Terminals/UPA/Entities/index.js +1 -0
  101. package/lib/src/Terminals/UPA/Entities/index.js.map +1 -1
  102. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.d.ts +1 -1
  103. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.js +7 -5
  104. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.js.map +1 -1
  105. package/lib/src/Terminals/UPA/Reponses/BatchList.d.ts +17 -0
  106. package/lib/src/Terminals/UPA/Reponses/BatchList.js +84 -0
  107. package/lib/src/Terminals/UPA/Reponses/BatchList.js.map +1 -0
  108. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.d.ts +56 -0
  109. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js +215 -0
  110. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js.map +1 -0
  111. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.d.ts +27 -0
  112. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.js +113 -0
  113. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.js.map +1 -0
  114. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.d.ts +39 -0
  115. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js +187 -0
  116. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js.map +1 -0
  117. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +48 -25
  118. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +151 -15
  119. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
  120. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.d.ts +21 -0
  121. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js +106 -0
  122. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js.map +1 -0
  123. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.d.ts +41 -0
  124. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.js +93 -0
  125. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.js.map +1 -0
  126. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.d.ts +35 -0
  127. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js +195 -0
  128. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js.map +1 -0
  129. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.d.ts +18 -0
  130. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.js +94 -0
  131. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.js.map +1 -0
  132. package/lib/src/Terminals/UPA/Reponses/index.d.ts +8 -0
  133. package/lib/src/Terminals/UPA/Reponses/index.js +8 -0
  134. package/lib/src/Terminals/UPA/Reponses/index.js.map +1 -1
  135. package/lib/src/Terminals/UPA/UpaController.d.ts +17 -5
  136. package/lib/src/Terminals/UPA/UpaController.js +338 -79
  137. package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
  138. package/lib/src/Terminals/UPA/UpaInterface.d.ts +26 -3
  139. package/lib/src/Terminals/UPA/UpaInterface.js +311 -12
  140. package/lib/src/Terminals/UPA/UpaInterface.js.map +1 -1
  141. package/lib/src/Terminals/index.d.ts +2 -0
  142. package/lib/src/Terminals/index.js +2 -0
  143. package/lib/src/Terminals/index.js.map +1 -1
  144. package/lib/src/Utils/StringUtils.js +1 -1
  145. package/lib/src/Utils/StringUtils.js.map +1 -1
  146. package/lib/test/Integration/Gateways/CI/upa_mitc/UpaFunctionalityTests.test.js +19 -8
  147. package/lib/test/Integration/Gateways/CI/upa_mitc/UpaFunctionalityTests.test.js.map +1 -1
  148. package/lib/test/Integration/Gateways/GpApiConnector/3DS2.test.js +15 -15
  149. package/lib/test/Integration/Gateways/GpApiConnector/3DSecure.test.js +5 -5
  150. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.d.ts +1 -0
  151. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.js +175 -0
  152. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.js.map +1 -0
  153. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.d.ts +1 -0
  154. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.js +205 -0
  155. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.js.map +1 -0
  156. package/lib/test/Integration/Gateways/GpEcomConnector/Credit.test.js +4 -4
  157. package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.js +8 -8
  158. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.d.ts +1 -0
  159. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.js +243 -0
  160. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.js.map +1 -0
  161. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.d.ts +15 -1
  162. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js +88 -3
  163. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js.map +1 -1
  164. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.d.ts +1 -0
  165. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js +147 -0
  166. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js.map +1 -0
  167. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.d.ts +1 -0
  168. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js +1260 -0
  169. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js.map +1 -0
  170. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.d.ts +1 -0
  171. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js +411 -0
  172. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js.map +1 -0
  173. package/lib/test/Unit/Terminals/UPA/UpaHelpertest.d.ts +55 -0
  174. package/lib/test/Unit/Terminals/UPA/UpaHelpertest.js +490 -0
  175. package/lib/test/Unit/Terminals/UPA/UpaHelpertest.js.map +1 -0
  176. package/lib/test/Unit/Terminals/UPA/UpaReport.test.d.ts +1 -0
  177. package/lib/test/Unit/Terminals/UPA/UpaReport.test.js +801 -0
  178. package/lib/test/Unit/Terminals/UPA/UpaReport.test.js.map +1 -0
  179. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.d.ts +1 -0
  180. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js +250 -0
  181. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js.map +1 -0
  182. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.d.ts +1 -0
  183. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js +1277 -0
  184. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js.map +1 -0
  185. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.d.ts +1 -0
  186. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js +411 -0
  187. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js.map +1 -0
  188. package/package.json +63 -63
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpaReport.test.js","sourceRoot":"","sources":["../../../../../test/Unit/Terminals/UPA/UpaReport.test.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;GAUG;AACH,yCAIyB;AACzB,2DAGyC;AACzC,oGAAiG;AACjG,gGAA6F;AAC7F,gGAA6F;AAC7F,mDAOyB;AAEzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAExB,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAO,GAAG,IAAI;IACxC,IAAI,0BAAU,EAAE;QACd,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;KACtB;AACH,CAAC;AAED,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,YAAY,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAC9E,IAAA,+BAAe,EAAC,6BAA6B,EAAE,GAAG,EAAE;IAClD,IAAI,MAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/C,mDAAmD;QACnD,oFAAoF;QACpF,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QACpH,0EAA0E;QAC1E,uEAAuE;QACvE,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM;aAC3B,YAAY,EAAE;aACd,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,oBAAY,CAAC,UAAU,CAAC;aAC5D,OAAO,EAAE,CAAsB,CAAC;QAEnC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,qCAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9C,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE;YAChC,wEAAwE;YACxE,iEAAiE;YACjE,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CACV,2BAA2B,QAAQ,CAAC,kBAAkB,uJAAuJ,CAC9M,CAAC;YACF,OAAO;SACR;QAED,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,MAAM,GAAG,MAAM,MAAM;aACxB,YAAY,EAAE;aACd,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,oBAAY,CAAC,UAAU,CAAC;aAC5D,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9C,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM;aAC3B,YAAY,EAAE;aACd,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,oBAAY,CAAC,UAAU,CAAC;aAC5D,OAAO,EAAE,CAAsB,CAAC;QAEnC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,qCAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,OAAO,GAAG;YACd,QAAQ,CAAC,YAAY,EAAE,QAAQ;YAC/B,QAAQ,CAAC,YAAY,EAAE,OAAO;YAC9B,QAAQ,CAAC,YAAY,EAAE,QAAQ;SAChC,CAAC;QAEF,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,CAAC,MAAM,EAAE;gBACX,SAAS;aACV;YACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC3C,kBAAkB,IAAI,CAAC,CAAC;gBAExB,+DAA+D;gBAC/D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAExD,gEAAgE;gBAChE,kEAAkE;gBAClE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAC7C,CAAC,CACF,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CACnE,KAAK,CACN,CAAC;gBAEF,cAAc,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;gBACrC,eAAe,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;gBAE5C,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE;wBACzB,SAAS;qBACV;oBACD,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;oBAC/D,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBAC5D,uDAAuD;oBACvD,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9C,4DAA4D;oBAC5D,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;iBAC3D;aACF;SACF;QAED,IAAI,kBAAkB,KAAK,CAAC,EAAE;YAC5B,OAAO,CAAC,IAAI,CACV,8FAA8F,CAC/F,CAAC;YACF,OAAO;SACR;QAED,oEAAoE;QACpE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,CACJ,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,eAAe,CAAC,CACtE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;QACjF,MAAM,OAAO,GAAI,MAAc;aAC5B,YAAY,EAAE;aACd,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,oBAAY,CAAC,KAAK,CAAC,CAAC;QAE3D,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,6CAAqB,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,YAAY,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC5F,MAAM,QAAQ,GAAG,GAAG,oBAAY,CAAC,KAAK,IAAI,oBAAY,CAAC,UAAU,EAAE,CAAC;QAEpE,MAAM,OAAO,GAAI,MAAc;aAC5B,YAAY,EAAE;aACd,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEjD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAC7C,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAChD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC9E,MAAM,OAAO,GAAI,MAAc;aAC5B,YAAY,EAAE;aACd,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,oBAAY,CAAC,UAAU,CAAC;aAC5D,GAAG,CAAC,qCAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE7C,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,6CAAqB,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,YAAY,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,QAAQ,GAAsB,MAAO,MAAc;aACtD,YAAY,EAAE;aACd,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,oBAAY,CAAC,UAAU,CAAC;aAC5D,GAAG,CAAC,qCAAiB,CAAC,UAAU,EAAE,MAAM,CAAC;aACzC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,qCAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9C,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE;YAChC,sCAAsC;YACtC,+DAA+D;YAC/D,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACpE,OAAO;SACR;QAED,IAAA,iCAAiB,EAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAC9E,IAAA,+BAAe,EAAC,4BAA4B,EAAE,GAAG,EAAE;IACjD,IAAI,MAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH;OACG;IACH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,IAAI,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SAC1C;QAED,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;QACpG,IAAI,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SAC1C;QAED,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,OAAO,CAAC,IAAI,CACV,yEAAyE,QAAQ,CAAC,OAAO,CAAC,MAAM,iCAAiC,CAClI,CAAC;YACF,OAAO;SACR;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,mDAAmD;QACnD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACnD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CACpD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CACpB,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,0DAA0D;QAC1D,MAAM,CAAC,OAAO,QAAQ,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,QAAQ,CAAC,kBAAkB,KAAK,EAAE,EAAE;YACtC,OAAO,CAAC,IAAI,CACV,6DAA6D,CAC9D,CAAC;YACF,OAAO;SACR;QAED,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;QAChH,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE;YAC9C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACxE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrC,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CACV,mEAAmE,QAAQ,CAAC,kBAAkB,SAAS,QAAQ,CAAC,OAAO,CAAC,MAAM,qDAAqD,CACpL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,+BAAe,EAAC,wBAAwB,EAAE,GAAG,EAAE;IAC7C,IAAI,MAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,IAAI,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SAC1C;QAED,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,OAAO,CAAC,IAAI,CACV,gEAAgE,QAAQ,CAAC,OAAO,CAAC,MAAM,iCAAiC,CACzH,CAAC;YACF,OAAO;SACR;QAED,mEAAmE;QACnE,kEAAkE;QAClE,8DAA8D;QAC9D,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,IAAI,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SAC1C;QAED,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,wEAAwE;QACxE,MAAM,CAAC,OAAO,QAAQ,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,QAAQ,CAAC,kBAAkB,KAAK,EAAE,EAAE;YACtC,OAAO,CAAC,IAAI,CACV,gMAAgM,CACjM,CAAC;YACF,OAAO;SACR;QAED,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACzF,IAAI,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,QAAQ,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SAC1C;QAED,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,wEAAwE;QACxE,MAAM,CAAC,OAAO,QAAQ,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,QAAQ,CAAC,kBAAkB,KAAK,EAAE,EAAE;YACtC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CACV,kFAAkF,QAAQ,CAAC,kBAAkB,gLAAgL,CAC9R,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAC9E,IAAA,+BAAe,EAAC,+BAA+B,EAAE,GAAG,EAAE;IACpD,IAAI,MAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mGAAmG,EAAE,KAAK,IAAI,EAAE;QACnH,IAAI,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SACzC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,IAAI,CACV,wEAAwE,CACzE,CAAC;YACF,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,MAAO,MAAc;aACnC,cAAc,EAAE;aAChB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;aACvC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAChC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACrD,2FAA2F;QAC3F,MAAM,CAAC,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mGAAmG,EAAE,KAAK,IAAI,EAAE;QACnH,MAAM,QAAQ,GAAG,MAAO,MAAc;aACnC,cAAc,EAAE;aAChB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEhD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;YACjC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACjE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,OAAO;SACR;QAED,IAAI,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE;YAC9C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CACzD,aAAa,CACd,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;YAC7C,OAAO;SACR;QAED,MAAM,IAAI,KAAK,CACb,iEAAiE,QAAQ,CAAC,kBAAkB,WAAW,QAAQ,CAAC,MAAM,0EAA0E,CACjM,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;QAC/G,MAAM,kBAAkB,GAAG,IAAA,gCAAgB,GAAE,CAAC;QAC7C,kBAA0B,CAAC,KAAK,GAAG,SAAS,CAAC;QAE9C,MAAM,QAAQ,GAAG,MAAO,kBAA0B;aAC/C,cAAc,EAAE;aAChB,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,QAAQ,CAAC,kBAAkB,KAAK,QAAQ,EAAE;YAC5C,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CACzD,mBAAmB,CACpB,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;YAC7C,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CACV,gDAAgD,QAAQ,CAAC,kBAAkB,KAAK,QAAQ,CAAC,kBAAkB,8FAA8F,CAC1M,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACtF,MAAM,OAAO,GAAI,MAAc;aAC5B,cAAc,EAAE;aAChB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,SAAS,CAAC;aACzC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAChC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,oBAAY,CAAC,KAAK,CAAC,CAAC;QAE3D,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,6CAAqB,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4GAA4G,EAAE,GAAG,EAAE;QACtH,MAAM,OAAO,GAAI,MAAc;aAC5B,cAAc,EAAE;aAChB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,SAAS,CAAC;aACzC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEpC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,6CAAqB,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;QAE7C,MAAM,YAAY,GAAI,MAAc;aACjC,cAAc,EAAE;aAChB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,SAAS,CAAC;aACzC,GAAG,CAAC,qCAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAE3C,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,QAAQ,GAAG,MAAO,MAAc;aACnC,cAAc,EAAE;aAChB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;aACnC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAChC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEhD,IAAI,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE;YAC9C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CACzD,aAAa,CACd,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;YAC7C,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CACV,2EAA2E,QAAQ,CAAC,kBAAkB,WAAW,QAAQ,CAAC,MAAM,qGAAqG,CACtO,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAC9E,IAAA,+BAAe,EAAC,gCAAgC,EAAE,GAAG,EAAE;IACrD,IAAI,MAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,QAAQ,GAAG,MAAO,MAAc,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtE,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0FAA0F,EAAE,GAAG,EAAE;QACpG,MAAM,QAAQ,GAAG,GAAG,oBAAY,CAAC,KAAK,IAAI,oBAAY,CAAC,UAAU,EAAE,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE1C,MAAM,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,oBAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACxG,IAAI,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SACzC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,IAAI,CACV,oFAAoF,CACrF,CAAC;YACF,OAAO;SACR;QAED,MAAM,OAAO,GAAG,IAAI,6CAAqB,CACvC,0BAAkB,CAAC,eAAe,CACnC;aACE,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;aACvC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAChC,GAAG,CAAC,qCAAiB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAEpD,2CAA2C;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,6CAAqB,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,eAAe,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE/C,mEAAmE;QACnE,8CAA8C;QAC9C,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;QACzG,IAAI,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SACzC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,IAAI,CACV,qFAAqF,CACtF,CAAC;YACF,OAAO;SACR;QAED,MAAM,OAAO,GAAG,IAAI,6CAAqB,CACvC,0BAAkB,CAAC,eAAe,CACnC;aACE,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;aACvC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEpC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QACjG,IAAI,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SACzC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,IAAI,CACV,+EAA+E,CAChF,CAAC;YACF,OAAO;SACR;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,6CAAqB,CAChD,0BAAkB,CAAC,eAAe,CACnC;aACE,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;aACvC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAChC,GAAG,CAAC,qCAAiB,CAAC,eAAe,EAAE,QAAQ,CAAC;aAChD,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACvD,6DAA6D;QAC7D,sEAAsE;QACtE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;QACvH,IAAI;YACF,IAAI,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;YAE5C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;gBAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;aACzC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,CAAC,IAAI,CACV,+EAA+E,CAChF,CAAC;gBACF,OAAO;aACR;YAED,MAAM,OAAO,GAAG,MAAO,MAAc;iBAClC,cAAc,EAAE;iBAChB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;iBAChC,OAAO,EAAE,CAAC;YACb,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,MAAO,MAAc,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAErE,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEtC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAEvE,IACE,OAAO,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS;gBAC3C,MAAM,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS,EAC1C;gBACA,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aACxE;YACD,IACE,OAAO,CAAC,WAAW,EAAE,WAAW,KAAK,SAAS;gBAC9C,MAAM,CAAC,WAAW,EAAE,WAAW,KAAK,SAAS,EAC7C;gBACA,MAAM,CACJ,IAAI,CAAC,GAAG,CACN,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC;oBACpC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,CACxC,CACF,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aACvB;SACF;QAAC,OAAO,KAAK,EAAE;YACd,2EAA2E;YAC3E,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACpE,OAAO,CAAC,IAAI,CACV,yFAAyF,CAC1F,CAAC;gBACF,OAAO;aACR;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;QACvH,IAAI,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,IAAA,iCAAiB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SACzC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,IAAI,CACV,+EAA+E,CAChF,CAAC;YACF,OAAO;SACR;QAED,MAAM,OAAO,GAAG,MAAO,MAAc;aAClC,cAAc,EAAE;aAChB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;aACvC,GAAG,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAChC,OAAO,EAAE,CAAC;QACb,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,MAAO,MAAc,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAErE,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEvE,IACE,OAAO,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS;YAC3C,MAAM,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS,EAC1C;YACA,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACxE;QACD,IACE,OAAO,CAAC,WAAW,EAAE,WAAW,KAAK,SAAS;YAC9C,MAAM,CAAC,WAAW,EAAE,WAAW,KAAK,SAAS,EAC7C;YACA,MAAM,CACJ,IAAI,CAAC,GAAG,CACN,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC;gBACpC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,CACxC,CACF,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC7G,IAAI,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;YAClD,4EAA4E;YAC5E,IAAA,iCAAiB,EAAC,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;YACzD,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,MAAM,CAAC,CAAC;SACzC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,IAAI,CACV,+EAA+E,CAChF,CAAC;YACF,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,MAAO,MAAc,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,kBAAkB,IAAI,EAAE,CAAC;QAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,kGAAkG,CACnG,CAAC;YACF,OAAO;SACR;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;YACxB,QAAQ;YACR,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,UAAU;YACV,UAAU;YACV,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE;gBAC1B,SAAS;aACV;YACD,SAAS,IAAI,CAAC,CAAC;YACf,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvE;QAED,IAAI,SAAS,KAAK,CAAC,EAAE;YACnB,OAAO,CAAC,IAAI,CACV,8FAA8F,CAC/F,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACtG,IAAI;YACF,MAAM,QAAQ,GAAG,MAAO,MAAc,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEnE,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;YAErD,oFAAoF;YACpF,IACE,CAAC,CAAC,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAC9D,QAAQ,CAAC,OAAO,CACjB,EACD;gBACA,OAAO,CAAC,IAAI,CACV,qEAAqE,QAAQ,CAAC,OAAO,iCAAiC,CACvH,CAAC;gBACF,OAAO;aACR;YAED,IAAI,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE;gBAC9C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CACzD,aAAa,CACd,CAAC;gBACF,wDAAwD;gBACxD,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC7C,OAAO;aACR;YAED,OAAO,CAAC,IAAI,CACV,4EAA4E,QAAQ,CAAC,kBAAkB,WAAW,QAAQ,CAAC,MAAM,qGAAqG,CACvO,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,2EAA2E;YAC3E,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACpE,OAAO,CAAC,IAAI,CACV,qEAAqE,CACtE,CAAC;gBACF,OAAO;aACR;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;QACvH,IAAI;YACF,MAAM,QAAQ,GAAG,MAAO,MAAc,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEnE,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;YAErD,oFAAoF;YACpF,IACE,CAAC,CAAC,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAC9D,QAAQ,CAAC,OAAO,CACjB,EACD;gBACA,OAAO,CAAC,IAAI,CACV,qFAAqF,QAAQ,CAAC,OAAO,iCAAiC,CACvI,CAAC;gBACF,OAAO;aACR;YAED,MAAM,eAAe,GACnB,QAAQ,CAAC,kBAAkB,KAAK,SAAS;gBACzC,QAAQ,CAAC,kBAAkB,KAAK,SAAS;gBACzC,CAAC,OAAO,QAAQ,CAAC,kBAAkB,KAAK,QAAQ;oBAC9C,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;YAEzE,IAAI,eAAe,EAAE;gBACnB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;gBACzD,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,OAAO;aACR;YAED,OAAO,CAAC,IAAI,CACV,4FAA4F,QAAQ,CAAC,kBAAkB,WAAW,QAAQ,CAAC,MAAM,mEAAmE,CACrN,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACtE,OAAO,CAAC,IAAI,CACV,kIAAkI,CACnI,CAAC;gBACF,OAAO;aACR;YACD,2EAA2E;YAC3E,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACpE,OAAO,CAAC,IAAI,CACV,4IAA4I,CAC7I,CAAC;gBACF,OAAO;aACR;YACD,qCAAqC;YACrC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACjE,OAAO,CAAC,IAAI,CACV,uIAAuI,CACxI,CAAC;gBACF,OAAO;aACR;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,+BAAe,EAAC,kCAAkC,EAAE,GAAG,EAAE;IACvD,IAAI,MAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,QAAQ,GAAG,MAAO,MAAc;aACnC,iBAAiB,EAAE;aACnB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,4BAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;QACvH,MAAM,QAAQ,GAAG,MAAO,MAAc;aACnC,iBAAiB,EAAE;aACnB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,4BAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEnD,IAAI,QAAQ,CAAC,kBAAkB,KAAK,YAAY,EAAE;YAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CACzD,0BAA0B,CAC3B,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,OAAO;SACR;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;YACjC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO;SACR;QAED,MAAM,IAAI,KAAK,CACb,uDAAuD,QAAQ,CAAC,kBAAkB,KAAK,QAAQ,CAAC,kBAAkB,oEAAoE,CACvL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,QAAQ,GAAG,MAAO,MAAc;aACnC,iBAAiB,EAAE;aACnB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,4BAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,eAAe,KAAK,EAAE,EAAE;YACpE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACvD,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CACV,qDAAqD,QAAQ,CAAC,MAAM,UAAU,QAAQ,CAAC,kBAAkB,kFAAkF,CAC5L,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,QAAQ,GAAG,MAAO,MAAc;aACnC,iBAAiB,EAAE;aACnB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,4BAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEnD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;YACjC,OAAO,CAAC,IAAI,CACV,6DAA6D,QAAQ,CAAC,kBAAkB,WAAW,QAAQ,CAAC,MAAM,GAAG,CACtH,CAAC;YACF,OAAO;SACR;QAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,OAAO,CAAC,IAAI,CACV,iFAAiF,CAClF,CAAC;YACF,OAAO;SACR;QAED,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACnC,6DAA6D;YAC7D,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE;gBACtB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aAC1C;SACF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC7G,MAAM,QAAQ,GAAG,MAAO,MAAc;aACnC,iBAAiB,EAAE;aACnB,KAAK,CAAC,qCAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;aACnC,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,4BAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEnD,IAAI,QAAQ,CAAC,kBAAkB,KAAK,YAAY,EAAE;YAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CACzD,0BAA0B,CAC3B,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CACV,4EAA4E,QAAQ,CAAC,kBAAkB,WAAW,QAAQ,CAAC,MAAM,iIAAiI,CACnQ,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Unit tests for UPA Story 1 methods:
5
+ * endOfDay(), sendStoreAndForward(), getSignature(), ping()
6
+ *
7
+ * Mock responses are defined in UpaController.doTransaction() method.
8
+ * Tests directly call methods without mocking connector.send().
9
+ *
10
+ * Ping – UpaAdminTests.cs : DeviceResponseCode=="00", Status=="Success"
11
+ * EndOfDay – UpaCreditTests.cs, UpaDebitTests.cs, UpaEbtTests.cs, UpaMicTests.cs
12
+ */
13
+ const src_1 = require("../../../../src");
14
+ const Logging_1 = require("../../../../src/Utils/Logging");
15
+ const DeviceService_1 = require("../../../../src/Services/DeviceService");
16
+ const Enums_1 = require("../../../../src/Terminals/Enums");
17
+ const UpaEODResponse_1 = require("../../../../src/Terminals/UPA/Reponses/UpaEODResponse");
18
+ const UpaSAFResponse_1 = require("../../../../src/Terminals/UPA/Reponses/UpaSAFResponse");
19
+ const UpaSignatureResponse_1 = require("../../../../src/Terminals/UPA/Reponses/UpaSignatureResponse");
20
+ const TransactionResponse_1 = require("../../../../src/Terminals/UPA/Reponses/TransactionResponse");
21
+ const useLiveMic = process.env.UPA_LIVE === "true";
22
+ const gpApiAppId = process.env.GP_API_APP_ID;
23
+ const gpApiAppKey = process.env.GP_API_APP_KEY;
24
+ const hasLiveGpApiCredentials = !!gpApiAppId && !!gpApiAppKey;
25
+ const describeUpaStory1 = useLiveMic && !hasLiveGpApiCredentials ? describe.skip : describe;
26
+ jest.setTimeout(240000);
27
+ function sleep(delayMs) {
28
+ return new Promise((resolve) => setTimeout(resolve, delayMs));
29
+ }
30
+ async function settleDevice(delayMs = 8000) {
31
+ if (useLiveMic) {
32
+ await sleep(delayMs);
33
+ }
34
+ }
35
+ afterEach(async () => {
36
+ await settleDevice();
37
+ });
38
+ // ===========================================================================
39
+ // Test infrastructure helpers
40
+ // ===========================================================================
41
+ /**
42
+ * Build a minimal ConnectionConfig.
43
+ * Uses a real GpApiConfig instance so `instanceof GpApiConfig` passes in
44
+ * UpaController.configureConnector() (plain object {} would throw NotImplementedError).
45
+ */
46
+ function buildConfig() {
47
+ const config = new src_1.ConnectionConfig();
48
+ config.deviceType = src_1.DeviceType.UPA_DEVICE;
49
+ config.connectionMode = Enums_1.ConnectionModes.MEET_IN_THE_CLOUD;
50
+ config.requestIdProvider = { getRequestId: () => 9999 };
51
+ const logger = new Logging_1.SampleRequestLogger(new Logging_1.Logger("logs"));
52
+ config.requestLogger = logger;
53
+ if (useLiveMic && !hasLiveGpApiCredentials) {
54
+ throw new Error("Set GP_API_APP_ID and GP_API_APP_KEY to run live UPA Story 1 tests.");
55
+ }
56
+ const gpApiConfig = new src_1.GpApiConfig();
57
+ gpApiConfig.appId = gpApiAppId ?? "UNIT_TEST_APP_ID";
58
+ gpApiConfig.appKey = gpApiAppKey ?? "UNIT_TEST_APP_KEY";
59
+ gpApiConfig.environment = src_1.Environment.Test;
60
+ gpApiConfig.channel = src_1.Channel.CardPresent;
61
+ gpApiConfig.country = "US";
62
+ gpApiConfig.deviceCurrency = "USD";
63
+ gpApiConfig.requestLogger = logger; // propagated to GpApiConnector via GpApiConfig.configureContainer()
64
+ if (useLiveMic) {
65
+ gpApiConfig.accessTokenInfo = new src_1.AccessTokenInfo();
66
+ }
67
+ else {
68
+ gpApiConfig.accessTokenInfo = {
69
+ transactionProcessingAccountName: "test",
70
+ accessToken: "UNIT_TEST_FAKE_TOKEN",
71
+ };
72
+ }
73
+ config.gatewayConfig = gpApiConfig;
74
+ return config;
75
+ }
76
+ // ===========================================================================
77
+ // endOfDay()
78
+ // References:
79
+ // UpaCreditTests.cs:666 – response != null, Status == "Success"
80
+ // UpaDebitTests.cs:51 – response != null
81
+ // UpaEbtTests.cs:131 – DeviceResponseText == "Success", DeviceResponseCode == "00"
82
+ // UpaMicTests.cs:504 – BatchId != null
83
+ // ===========================================================================
84
+ describeUpaStory1("UPA Story 1 – endOfDay()", () => {
85
+ let device;
86
+ beforeEach(() => {
87
+ device = DeviceService_1.DeviceService.create(buildConfig());
88
+ device.ecrId = "13";
89
+ });
90
+ /**
91
+ * Mirrors UpaCreditTests.cs:666 + UpaDebitTests.cs:51 + UpaEbtTests.cs:131 + UpaMicTests.cs:504
92
+ * Assert.IsNotNull(response);
93
+ * Assert.AreEqual("Success", response.Status);
94
+ * Assert.AreEqual("Success", response.DeviceResponseText);
95
+ * Assert.AreEqual("00", response.DeviceResponseCode);
96
+ * Assert.IsNotNull(response.BatchId);
97
+ */
98
+ test("[UpaCreditTests][UpaDebitTests][UpaEbtTests][UpaMicTests] endOfDay() returns expected response", async () => {
99
+ if (useLiveMic) {
100
+ await device.sendStoreAndForward();
101
+ await settleDevice(3000);
102
+ }
103
+ const response = await device.endOfDay();
104
+ expect(response).not.toBeNull();
105
+ expect(response).toBeInstanceOf(UpaEODResponse_1.UpaEODResponse);
106
+ if (useLiveMic) {
107
+ expect(response.command).toBe("EODProcessing");
108
+ expect(response.status).toBeTruthy();
109
+ expect(response.deviceResponseCode).toBeTruthy();
110
+ expect(response.deviceResponseText).toBeTruthy();
111
+ if (response.status === "Success") {
112
+ expect(response.deviceResponseCode).toBe("00");
113
+ expect(response.deviceResponseText).toBe("Success");
114
+ expect(response.batchId).toBeDefined();
115
+ expect(response.batchId).not.toBeNull();
116
+ }
117
+ else {
118
+ expect(response.status).toBe("Failed");
119
+ }
120
+ return;
121
+ }
122
+ expect(response.status).toBe("Success");
123
+ expect(response.deviceResponseText).toBe("Success");
124
+ expect(response.deviceResponseCode).toBe("00");
125
+ expect(response.batchId).toBeDefined();
126
+ expect(response.batchId).not.toBeNull();
127
+ });
128
+ });
129
+ // ===========================================================================
130
+ // sendStoreAndForward()
131
+ // References:
132
+ // UpaAdminTests.cs:682 – response != null, Status == "Success", DeviceResponseText == "Success", DeviceResponseCode == "00"
133
+ // UpaMicTests.cs:337 – no assertion (only checks no ApiException thrown)
134
+ // ===========================================================================
135
+ describeUpaStory1("UPA Story 1 – sendStoreAndForward()", () => {
136
+ let device;
137
+ beforeEach(() => {
138
+ device = DeviceService_1.DeviceService.create(buildConfig());
139
+ device.ecrId = "13";
140
+ });
141
+ /**
142
+ * Mirrors UpaAdminTests.cs:682 + UpaMicTests.cs:337
143
+ * Assert.IsNotNull(response);
144
+ * Assert.AreEqual("Success", response.Status);
145
+ * Assert.AreEqual("Success", response.DeviceResponseText);
146
+ * Assert.AreEqual("00", response.DeviceResponseCode);
147
+ * No exception thrown (UpaMicTests.cs:337)
148
+ */
149
+ test("[UpaAdminTests][UpaMicTests] sendStoreAndForward() returns expected response and does not throw", async () => {
150
+ const response = await device.sendStoreAndForward();
151
+ expect(response).not.toBeNull();
152
+ expect(response).toBeInstanceOf(UpaSAFResponse_1.UpaSAFResponse);
153
+ if (useLiveMic) {
154
+ expect(response.command).toBe("SendSAF");
155
+ expect(response.status).toBeTruthy();
156
+ expect(response.deviceResponseCode).toBeTruthy();
157
+ expect(response.deviceResponseText).toBeTruthy();
158
+ if (response.status === "Success") {
159
+ expect(response.deviceResponseCode).toBe("00");
160
+ expect(response.deviceResponseText).toBe("Success");
161
+ }
162
+ else {
163
+ expect(response.status).toBe("Failed");
164
+ }
165
+ return;
166
+ }
167
+ expect(response.status).toBe("Success");
168
+ expect(response.deviceResponseText).toBe("Success");
169
+ expect(response.deviceResponseCode).toBe("00");
170
+ });
171
+ });
172
+ // ===========================================================================
173
+ // getSignature() / PromptAndGetSignatureFile()
174
+ // References:
175
+ // UpaAdminTests.cs:130 – response != null, instanceof IDeviceResponse, DeviceResponseCode == "00", Status == "Success"
176
+ // UpaAdminTests.cs:693 – SignatureData != null
177
+ // UpaMicTests.cs:483 – SignatureData populated (with prompt2 + displayOption)
178
+ // ===========================================================================
179
+ describeUpaStory1("UPA Story 1 – getSignature()", () => {
180
+ let device;
181
+ beforeEach(() => {
182
+ device = DeviceService_1.DeviceService.create(buildConfig());
183
+ device.ecrId = "13";
184
+ });
185
+ /**
186
+ * Mirrors UpaAdminTests.cs:130 + UpaAdminTests.cs:693 – single prompt
187
+ * Assert.IsNotNull(response);
188
+ * Assert.IsInstanceOfType(response, typeof(IDeviceResponse));
189
+ * Assert.AreEqual("00", response.DeviceResponseCode);
190
+ * Assert.AreEqual("Success", response.Status);
191
+ * Assert.IsNotNull(response.SignatureData);
192
+ */
193
+ test("[UpaAdminTests:130][UpaAdminTests:693] getSignature() returns expected response and SignatureData", async () => {
194
+ const response = await device.getSignature("Please sign");
195
+ expect(response).not.toBeNull();
196
+ expect(response).toBeInstanceOf(UpaSignatureResponse_1.UpaSignatureResponse);
197
+ expect(response.deviceResponseCode).toBe("00");
198
+ expect(response.status).toBe("Success");
199
+ expect(response.signatureData).not.toBeNull();
200
+ expect(response.signatureData).toBeInstanceOf(Buffer);
201
+ });
202
+ /**
203
+ * Mirrors UpaMicTests.cs:483 – with prompt2 + displayOption
204
+ * SignatureData saved to file (unit test: verify Buffer is populated)
205
+ */
206
+ test("[UpaMicTests:483] getSignature() with prompt2 + displayOption returns populated SignatureData", async () => {
207
+ const response = await device.getSignature("Please sign", "and confirm", 1);
208
+ expect(response).not.toBeNull();
209
+ expect(response).toBeInstanceOf(UpaSignatureResponse_1.UpaSignatureResponse);
210
+ expect(response.signatureData).toBeInstanceOf(Buffer);
211
+ expect(response.signatureData.length).toBeGreaterThan(0);
212
+ });
213
+ });
214
+ // ===========================================================================
215
+ // ping()
216
+ // References:
217
+ // UpaAdminTests.cs:52 – response != null, instanceof IDeviceResponse, DeviceResponseCode == "00", Status == "Success"
218
+ // UpaMicTests.cs:42 – no assertion (only checks no ApiException thrown)
219
+ // ===========================================================================
220
+ describeUpaStory1("UPA Story 1 – ping()", () => {
221
+ let device;
222
+ beforeEach(() => {
223
+ device = DeviceService_1.DeviceService.create(buildConfig());
224
+ device.ecrId = "13";
225
+ });
226
+ /**
227
+ * Mirrors UpaAdminTests.cs:52 + UpaMicTests.cs:42 – Ping()
228
+ * Assert.IsNotNull(response);
229
+ * Assert.IsInstanceOfType(response, typeof(IDeviceResponse));
230
+ * Assert.AreEqual("00", response.DeviceResponseCode);
231
+ * Assert.AreEqual("Success", response.Status);
232
+ * Assert.AreEqual("Success", response.DeviceResponseText);
233
+ * No exception thrown (UpaMicTests.cs:42)
234
+ */
235
+ test("[UpaAdminTests:52][UpaMicTests:42] ping() returns expected response values and does not throw", async () => {
236
+ const response = await device.ping();
237
+ expect(response).not.toBeNull();
238
+ expect(response).toBeInstanceOf(TransactionResponse_1.TransactionResponse);
239
+ if (useLiveMic) {
240
+ expect(response.responseText).toBe("SUCCESS");
241
+ expect(["INITIATED", "COMPLETE"]).toContain(response.deviceResponseText);
242
+ expect(response.transactionId).toBeTruthy();
243
+ return;
244
+ }
245
+ expect(response.deviceResponseCode).toBe("00");
246
+ expect(response.status).toBe("Success");
247
+ expect(response.deviceResponseText).toBe("Success");
248
+ });
249
+ });
250
+ //# sourceMappingURL=UpaStory1Methods.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpaStory1Methods.test.js","sourceRoot":"","sources":["../../../../../test/Unit/Terminals/UPA/UpaStory1Methods.test.ts"],"names":[],"mappings":"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"}