@reusa/ngx-reusa-app-lib 0.0.1374 → 0.0.1375

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 (545) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2392 -1322
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +159 -105
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +59 -53
  4. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  5. package/esm2022/lib/components/address/address.component.mjs +287 -152
  6. package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
  7. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
  8. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
  9. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
  10. package/esm2022/lib/components/bank-details/bank-details.component.mjs +79 -219
  11. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  12. package/esm2022/lib/components/contact-us/contact-us.component.mjs +17 -43
  13. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
  14. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
  15. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
  16. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  17. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  18. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  19. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
  20. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
  21. package/esm2022/lib/components/email-update/email-update.component.mjs +63 -140
  22. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +422 -574
  23. package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
  24. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
  25. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
  26. package/esm2022/lib/components/error/error.component.mjs +22 -5
  27. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  28. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  29. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
  30. package/esm2022/lib/components/footer/footer.component.mjs +112 -101
  31. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  32. package/esm2022/lib/components/header/header.component.mjs +440 -174
  33. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  34. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +25 -36
  35. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  36. package/esm2022/lib/components/info/info.component.mjs +4 -12
  37. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
  38. package/esm2022/lib/components/job-title/job-title.component.mjs +92 -97
  39. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +143 -513
  40. package/esm2022/lib/components/link/link.component.mjs +1 -1
  41. package/esm2022/lib/components/menu/menu.component.mjs +68 -100
  42. package/esm2022/lib/components/mfa/mfa.component.mjs +158 -288
  43. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
  44. package/esm2022/lib/components/money-expect/money-expect.component.mjs +158 -54
  45. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
  46. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
  47. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
  48. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
  49. package/esm2022/lib/components/profile/profile.component.mjs +749 -353
  50. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +108 -38
  51. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
  52. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
  53. package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
  54. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
  55. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +377 -173
  56. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +76 -95
  57. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +877 -1153
  58. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +208 -699
  59. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
  60. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +128 -41
  61. package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
  62. package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
  63. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
  64. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +497 -237
  65. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  66. package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -30
  67. package/esm2022/lib/components/select/select.component.mjs +5 -10
  68. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  69. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  70. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
  71. package/esm2022/lib/components/user-login/user-login.component.mjs +139 -360
  72. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  73. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  74. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  75. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  76. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +655 -387
  77. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +125 -61
  78. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +828 -0
  79. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  80. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  81. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  82. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  83. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  84. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  85. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +690 -0
  86. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  87. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  88. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  89. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  90. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  91. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  92. package/esm2022/lib/guards/auth.guard.mjs +50 -2
  93. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  94. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
  95. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  96. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  97. package/esm2022/lib/models/CountyModel.mjs +3 -0
  98. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  99. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  100. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  101. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  102. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  103. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  104. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  105. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  106. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  107. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  108. package/esm2022/lib/models/LibConstants.mjs +45 -6
  109. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  110. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  111. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  112. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  113. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  114. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  115. package/esm2022/lib/models/UserModel.mjs +1 -1
  116. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  117. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  118. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  119. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  120. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  121. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  122. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  123. package/esm2022/lib/models/combo-model.mjs +343 -0
  124. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  125. package/esm2022/lib/models/dependent.model.mjs +1 -1
  126. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  127. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  128. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  129. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  130. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  131. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  132. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
  133. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  134. package/esm2022/lib/models/questionnaire/ComboModel.mjs +96 -653
  135. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  136. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  137. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
  138. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  139. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  140. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  141. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  142. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  143. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  144. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  145. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  146. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  147. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  148. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  149. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
  150. package/esm2022/lib/pages/BasePage.mjs +4 -23
  151. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
  152. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
  153. package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
  154. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  155. package/esm2022/lib/pages/common/login/login.component.mjs +7 -13
  156. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  157. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  158. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -2
  159. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  160. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
  161. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  162. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  163. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  164. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  165. package/esm2022/lib/services/base-service.mjs +4 -1
  166. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  167. package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
  168. package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
  169. package/esm2022/lib/services/claims/claims.service.mjs +105 -14
  170. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  171. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  172. package/esm2022/lib/services/help/help.service.mjs +1 -1
  173. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  174. package/esm2022/lib/services/login/login.service.mjs +29 -14
  175. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  176. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  177. package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
  178. package/esm2022/lib/services/security-service/security.service.mjs +23 -6
  179. package/esm2022/lib/services/util/util.service.mjs +61 -5
  180. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  181. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
  182. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  183. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  184. package/esm2022/lib/validations/AppRegex.mjs +1 -3
  185. package/esm2022/lib/validations/AppValidators.mjs +78 -62
  186. package/esm2022/public-api.mjs +47 -5
  187. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +41277 -23401
  188. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  189. package/lib/components/add-employer/add-employer.component.d.ts +137 -53
  190. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  191. package/lib/components/add-participant/add-participant.component.d.ts +11 -5
  192. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  193. package/lib/components/add-payment/add-payment.component.d.ts +9 -3
  194. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  195. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  196. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  197. package/lib/components/address/address.component.d.ts +42 -15
  198. package/lib/components/address/address.component.d.ts.map +1 -1
  199. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  200. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  201. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  202. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  203. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  204. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  205. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  206. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  207. package/lib/components/bank-details/bank-details.component.d.ts +1 -23
  208. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  209. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  210. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  211. package/lib/components/contact-us/contact-us.component.d.ts +1 -4
  212. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  213. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  214. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  215. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  216. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  217. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  218. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  219. package/lib/components/email-update/email-update.component.d.ts +1 -12
  220. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  221. package/lib/components/employer-grid/employer-grid.component.d.ts +25 -15
  222. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  223. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  224. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  225. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  226. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  227. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  228. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  229. package/lib/components/error/error.component.d.ts +3 -2
  230. package/lib/components/error/error.component.d.ts.map +1 -1
  231. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  232. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  233. package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
  234. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  235. package/lib/components/footer/footer.component.d.ts.map +1 -1
  236. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  237. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  238. package/lib/components/header/header.component.d.ts +17 -5
  239. package/lib/components/header/header.component.d.ts.map +1 -1
  240. package/lib/components/history-page/history-page.component.d.ts +80 -0
  241. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  242. package/lib/components/idme/idme.component.d.ts +19 -0
  243. package/lib/components/idme/idme.component.d.ts.map +1 -0
  244. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
  245. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  246. package/lib/components/job-title/job-title.component.d.ts +22 -23
  247. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  248. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -6
  249. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  250. package/lib/components/menu/menu.component.d.ts +3 -12
  251. package/lib/components/menu/menu.component.d.ts.map +1 -1
  252. package/lib/components/mfa/mfa.component.d.ts +7 -19
  253. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  254. package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
  255. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  256. package/lib/components/money-expect/money-expect.component.d.ts +15 -4
  257. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  258. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  259. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  260. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  261. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  262. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  263. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  264. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  265. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  266. package/lib/components/profile/profile.component.d.ts +82 -49
  267. package/lib/components/profile/profile.component.d.ts.map +1 -1
  268. package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
  269. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  270. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  271. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  272. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  273. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  274. package/lib/components/questionnaire/AppValidators.d.ts +1 -0
  275. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  276. package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
  277. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  278. package/lib/components/questionnaire/common-success/common-success.page.d.ts +7 -1
  279. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  280. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
  281. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  282. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -35
  283. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  284. package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
  285. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  286. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
  287. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  288. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +7 -1
  289. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  290. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  291. package/lib/components/questionnaire/question.service.d.ts +0 -1
  292. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  293. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
  294. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  295. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +11 -3
  296. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  297. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  298. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  299. package/lib/components/search-employer/search-employer.component.d.ts +5 -4
  300. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  301. package/lib/components/sms/sms.component.d.ts +63 -0
  302. package/lib/components/sms/sms.component.d.ts.map +1 -0
  303. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
  304. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  305. package/lib/components/user-login/user-login.component.d.ts +5 -38
  306. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  307. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  308. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  309. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  310. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  311. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  312. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  313. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  314. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  315. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +27 -10
  316. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  317. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +9 -3
  318. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  319. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  320. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  321. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  322. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  323. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  324. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  325. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  326. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  327. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  328. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  329. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  330. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  331. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  332. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  333. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  334. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  335. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  336. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  337. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  338. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  339. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  340. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  341. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  342. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  343. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  344. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  345. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  346. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  347. package/lib/guards/auth.guard.d.ts.map +1 -1
  348. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  349. package/lib/models/ActiveClaimModel.d.ts +8 -0
  350. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  351. package/lib/models/CountyModel.d.ts +8 -0
  352. package/lib/models/CountyModel.d.ts.map +1 -0
  353. package/lib/models/DuaAppDataModel.d.ts +5 -0
  354. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  355. package/lib/models/DuaRequestModel.d.ts +10 -0
  356. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  357. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  358. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  359. package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
  360. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  361. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  362. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  363. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  364. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  365. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  366. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  367. package/lib/models/GrossEarningsModel.d.ts +6 -0
  368. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  369. package/lib/models/HelpConstants.d.ts +5 -0
  370. package/lib/models/HelpConstants.d.ts.map +1 -0
  371. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  372. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  373. package/lib/models/LibConstants.d.ts +40 -1
  374. package/lib/models/LibConstants.d.ts.map +1 -1
  375. package/lib/models/OtpAuthModel.d.ts +0 -1
  376. package/lib/models/OtpAuthModel.d.ts.map +1 -1
  377. package/lib/models/PaymentComponentModel.d.ts +1 -1
  378. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  379. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  380. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  381. package/lib/models/RetroWeeksModel.d.ts +11 -0
  382. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  383. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  384. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  385. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  386. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  387. package/lib/models/UserModel.d.ts +0 -1
  388. package/lib/models/UserModel.d.ts.map +1 -1
  389. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  390. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  391. package/lib/models/WageCalculatorModel.d.ts +15 -0
  392. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  393. package/lib/models/WageInfoModel.d.ts +9 -0
  394. package/lib/models/WageInfoModel.d.ts.map +1 -0
  395. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  396. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  397. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  398. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  399. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  400. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  401. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  402. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  403. package/lib/models/combo-model.d.ts +42 -0
  404. package/lib/models/combo-model.d.ts.map +1 -0
  405. package/lib/models/dashboard-model.d.ts +22 -0
  406. package/lib/models/dashboard-model.d.ts.map +1 -1
  407. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  408. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  409. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  410. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  411. package/lib/models/fileupload/FileObject.d.ts +8 -0
  412. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  413. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  414. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  415. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  416. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  417. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
  418. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  419. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +15 -4
  420. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  421. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
  422. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  423. package/lib/models/questionnaire/ComboModel.d.ts +14 -82
  424. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  425. package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
  426. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  427. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
  428. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  429. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +0 -1
  430. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
  431. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  432. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  433. package/lib/models/questionnaire/StatusModel.d.ts +1 -0
  434. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  435. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  436. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  437. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  438. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  439. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  440. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  441. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  442. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  443. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  444. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  445. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  446. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  447. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  448. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  449. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  450. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  451. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  452. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  453. package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
  454. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  455. package/lib/pages/BasePage.d.ts +3 -6
  456. package/lib/pages/BasePage.d.ts.map +1 -1
  457. package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
  458. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  459. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  460. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  461. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  462. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  463. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  464. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  465. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  466. package/lib/services/appeal/appeal.service.d.ts +16 -0
  467. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  468. package/lib/services/base-service.d.ts +12 -0
  469. package/lib/services/base-service.d.ts.map +1 -1
  470. package/lib/services/birt-service/birt.service.d.ts +17 -0
  471. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  472. package/lib/services/claimant-service/claimant.service.d.ts +5 -6
  473. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  474. package/lib/services/claims/claims.service.d.ts +39 -5
  475. package/lib/services/claims/claims.service.d.ts.map +1 -1
  476. package/lib/services/employer/employer-service.d.ts +16 -0
  477. package/lib/services/employer/employer-service.d.ts.map +1 -0
  478. package/lib/services/event-service/event-service.d.ts +20 -0
  479. package/lib/services/event-service/event-service.d.ts.map +1 -0
  480. package/lib/services/login/login.service.d.ts +5 -3
  481. package/lib/services/login/login.service.d.ts.map +1 -1
  482. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  483. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  484. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  485. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  486. package/lib/services/questionnaire/validation.service.d.ts +3 -0
  487. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  488. package/lib/services/security-service/security.service.d.ts +12 -4
  489. package/lib/services/security-service/security.service.d.ts.map +1 -1
  490. package/lib/services/util/util.service.d.ts +6 -0
  491. package/lib/services/util/util.service.d.ts.map +1 -1
  492. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  493. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  494. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
  495. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  496. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  497. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  498. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  499. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  500. package/lib/validations/AppRegex.d.ts +0 -2
  501. package/lib/validations/AppRegex.d.ts.map +1 -1
  502. package/lib/validations/AppValidators.d.ts +20 -24
  503. package/lib/validations/AppValidators.d.ts.map +1 -1
  504. package/package.json +2 -2
  505. package/public-api.d.ts +46 -4
  506. package/public-api.d.ts.map +1 -1
  507. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -402
  508. package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -285
  509. package/esm2022/lib/components/security-question/security-question.component.mjs +0 -199
  510. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
  511. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
  512. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
  513. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
  514. package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
  515. package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
  516. package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
  517. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
  518. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
  519. package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
  520. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
  521. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
  522. package/lib/components/mfa2/mfa2.component.d.ts +0 -48
  523. package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
  524. package/lib/components/security-question/security-question.component.d.ts +0 -37
  525. package/lib/components/security-question/security-question.component.d.ts.map +0 -1
  526. package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
  527. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
  528. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
  529. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
  530. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
  531. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
  532. package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
  533. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
  534. package/lib/models/LexisNexisResponseModel.d.ts +0 -7
  535. package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
  536. package/lib/models/PartialEmploymentModel.d.ts +0 -6
  537. package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
  538. package/lib/models/SecurityQuestionModel.d.ts +0 -7
  539. package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
  540. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
  541. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
  542. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
  543. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
  544. package/lib/services/ovp/ovp.service.d.ts +0 -17
  545. package/lib/services/ovp/ovp.service.d.ts.map +0 -1
@@ -6,6 +6,7 @@ export class QuestionControlService {
6
6
  constructor(datepipe) {
7
7
  this.datepipe = datepipe;
8
8
  this.sharedData = new Map();
9
+ console.log("Init QuestionControlService");
9
10
  }
10
11
  toFormGroup(questions, pageIndex, params) {
11
12
  //console.log('params',params);
@@ -405,4 +406,4 @@ export class QuestionControlService {
405
406
  }], () => [{ type: i1.DatePipe }], null); })();
406
407
  export class Choices {
407
408
  }
408
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tY29udHJvbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb24tY29udHJvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJdkYsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFtQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRHJDLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2dCLENBQUM7SUFDeEMsV0FBVyxDQUFDLFNBQWlDLEVBQUUsU0FBaUIsRUFBQyxNQUF5QjtRQUUxRiwrQkFBK0I7UUFFN0IsTUFBTSxLQUFLLEdBQWlELEVBQUUsQ0FBQztRQUMvRCxJQUFJLFNBQVMsR0FBWSxLQUFLLENBQUM7UUFFL0IsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQyxJQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFDO1lBQzlCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztRQUVELElBQUksVUFBYyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQixVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDakQsU0FBUyxHQUFHLElBQUksQ0FBQztZQUNqQixnRUFBZ0U7U0FDakU7YUFBTTtZQUNM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RkE5WVUsc0JBQXNCO3VFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCOztpRkFBdEIsc0JBQXNCO2NBRGxDLFVBQVU7O0FBa1pYLE1BQU0sT0FBTyxPQUFPO0NBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuL3F1ZXN0aW9uLWJhc2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Db250cm9sU2VydmljZSB7XHJcblxyXG4gIHNoYXJlZERhdGEgPSBuZXcgTWFwKCk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGVwaXBlOiBEYXRlUGlwZSl7fVxyXG4gIHRvRm9ybUdyb3VwKHF1ZXN0aW9uczogUXVlc3Rpb25CYXNlPHN0cmluZz5bXSwgcGFnZUluZGV4OiBudW1iZXIscGFyYW1zOk1hcDxzdHJpbmcsc3RyaW5nPikge1xyXG4gICAgXHJcbiAgLy9jb25zb2xlLmxvZygncGFyYW1zJyxwYXJhbXMpO1xyXG4gICBcclxuICAgIGNvbnN0IGdyb3VwOiAge1trZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47fSA9IHt9O1xyXG4gICAgbGV0IGRhdGFGb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGxldCBwYWdlcyA9IHF1ZXN0aW9uc1swXS5wYWdlc1twYWdlSW5kZXhdO1xyXG5cclxuICAgIGlmKHBhZ2VzICYmIHBhZ2VzLmlzUGxhY2VIb2xkZXIpe1xyXG4gICAgICByZXR1cm4gbmV3IFVudHlwZWRGb3JtR3JvdXAoZ3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzdHJJbnRvT2JqOiBbXTtcclxuICAgIGlmICh0aGlzLmdldERhdGEocGFnZUluZGV4KSkge1xyXG4gICAgICBzdHJJbnRvT2JqID0gSlNPTi5wYXJzZSh0aGlzLmdldERhdGEocGFnZUluZGV4KSk7XHJcbiAgICAgIGRhdGFGb3VuZCA9IHRydWU7XHJcbiAgICAgIC8vY29uc29sZS5sb2coJ3N0ckludG9PYmogICAnLHN0ckludG9PYmpbJ2NsYWltYW50RW1wTmFtZTEwMiddKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRhdGFGb3VuZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgLy9jb25zb2xlLmxvZygnZGF0YUZvdW5kJywgZGF0YUZvdW5kKTtcclxuICAgIFxyXG4gICAgLy8vY29uc29sZS5sb2coJ3BhZ2VzJyxwYWdlcyk7XHJcblxyXG4gICAgcGFnZXMuZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgbGV0IGNvbnRybFR5cGU6IHN0cmluZyA9IGVsZW1lbnQudHlwZTtcclxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdjb21tZW50Jykge1xyXG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ2Ryb3Bkb3duJykge1xyXG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmKGVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcclxuICAgICAgICAgICAgY29uc3QgY2hvaWNlOnN0cmluZz1lbGVtZW50LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgICAgICAgdmFyIGpzb25PYmplY3Q6IENob2ljZXMgPSBKU09OLnBhcnNlKGNob2ljZSk7ICBcclxuICAgICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0/LnBhdGNoVmFsdWUoZWxlbWVudC5jaG9pY2VzLmZpbHRlcihjID0+IGMudmFsdWUgPT0ganNvbk9iamVjdC52YWx1ZSlbMF0pO1xyXG4gICAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdncm91cFtlbGVtZW50Lm5hbWVdJyxncm91cFtlbGVtZW50Lm5hbWVdLnZhbHVlKTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAndGV4dCcgJiYgZWxlbWVudC5pbnB1dFR5cGUgIT0gJ2RhdGUnKSB7XHJcblxyXG4gICAgICAgIGlmIChlbGVtZW50LmN1c3RvbVRhZyAmJiBlbGVtZW50LmN1c3RvbVRhZyA9PT0gJ2R1ZWFtdCcpIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKFwiMTIxXCIpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZiAoZWxlbWVudC5jdXN0b21UYWcgJiYgZWxlbWVudC5jdXN0b21UYWcgPT09ICdlYW4nKSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChcIjgxLTAwNTg2LTAtMDFcIik7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIHtcclxuXHJcbiAgICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgICB9IFxyXG4gICAgICAgICAgZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XHJcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGVsZW1lbnQuZGVmYXVsdFZhbHVlKTtcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICd0ZXh0JyAmJiBlbGVtZW50LmlucHV0VHlwZSA9PT0gJ2RhdGUnKSB7XHJcblxyXG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAvLyAgY29uc29sZS5sb2coJ0RhdGUgc3RySW50b09ialtlbGVtZW50Lm5hbWVdJywgc3RySW50b09ialtlbGVtZW50Lm5hbWVdKVxyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobmV3IERhdGUoc3RySW50b09ialtlbGVtZW50Lm5hbWVdKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSl7XHJcbiAgICAgICAgICAgIGxldCBmb3JtYXR0ZWREYXRlID0gdGhpcy5nZXREYXRlKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSk7XHJcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGZvcm1hdHRlZERhdGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XHJcbiAgICAgICAgICAgIGxldCBmb3JtYXR0ZWREYXRlID0gdGhpcy5nZXREYXRlKGVsZW1lbnQuZGVmYXVsdFZhbHVlLnRyaW0oKSk7XHJcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGZvcm1hdHRlZERhdGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAncmFkaW9ncm91cCcpIHtcclxuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChlbGVtZW50LmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKXtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAnY2hlY2tib3gnIHx8IGNvbnRybFR5cGUgPT09ICdzaW5nbGVzZWxlY3RjaGVja2JveCcpIHtcclxuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChlbGVtZW50LmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKXtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAnYXV0b2NvbXBsZXRlJykge1xyXG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdzaW1wbGVjaGVja2JveCcpIHtcclxuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihwYXJhbXMuZ2V0KGVsZW1lbnQubmFtZSkpe1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKTtcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAnbXVsdGljaGVja2JveCcpIHtcclxuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihwYXJhbXMuZ2V0KGVsZW1lbnQubmFtZSkpe1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKTtcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAnYnV0dG9uJykge1xyXG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ2Rpc3BsYXl0ZXh0YXNsYWJlbCcpIHtcclxuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAnaGlkZGVuJykge1xyXG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgfWVsc2UgaWYoZWxlbWVudC5kZWZhdWx0VmFsdWUpe1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZWxlbWVudC5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYXJhbXMuZ2V0KGVsZW1lbnQubmFtZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtlbGVtZW50Lm5hbWVdKTtcclxuICAgICAgICB9ZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChlbGVtZW50LmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdkZWNpbWFsJykge1xyXG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgfWVsc2UgaWYoZWxlbWVudC5kZWZhdWx0VmFsdWUpe1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZWxlbWVudC5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAnY3VycmVuY3knKSB7XHJcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtlbGVtZW50Lm5hbWVdKTtcclxuICAgICAgICB9ZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChlbGVtZW50LmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdsYWJlbC13aXRoLWNoZWNrYm94Jykge1xyXG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgfWVsc2UgaWYoZWxlbWVudC5kZWZhdWx0VmFsdWUpe1xyXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZWxlbWVudC5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgIFxyXG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ3BhbmVsJykge1xyXG4gICAgICAgIGVsZW1lbnQuZWxlbWVudHMuZm9yRWFjaChwYW5lbEVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgbGV0IHBhbmVsQ29udHJsVHlwZTogc3RyaW5nID0gcGFuZWxFbGVtZW50LnR5cGU7XHJcbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAnZHJvcGRvd24nKSB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdwYW5lbEVsZW1lbnQubmFtZScscGFuZWxFbGVtZW50Lm5hbWUsJyAgc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0nLHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKTtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZihwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNob2ljZTpzdHJpbmc9cGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgICAgICAgICAgIHZhciBqc29uT2JqZWN0OiBDaG9pY2VzID0gSlNPTi5wYXJzZShjaG9pY2UpOyAgXHJcbiAgICAgICAgICAgICAgICBsZXQgZGVmYXVsdENob2ljZTpDaG9pY2VzPSBuZXcgQ2hvaWNlcygpO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdENob2ljZS50ZXh0PWpzb25PYmplY3QudGV4dDtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRDaG9pY2UudmFsdWU9anNvbk9iamVjdC52YWx1ZTtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGRlZmF1bHRDaG9pY2UpO1xyXG4gICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICd0ZXh0JyAmJiBwYW5lbEVsZW1lbnQuaW5wdXRUeXBlICE9ICdkYXRlJykge1xyXG4gICAgICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2UgIGlmKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpe1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYXJhbXMuZ2V0KHBhbmVsRWxlbWVudC5uYW1lKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICd0ZXh0JyAmJiBwYW5lbEVsZW1lbnQuaW5wdXRUeXBlID09PSAnZGF0ZScpIHtcclxuICAgIFxyXG4gICAgICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZygnRGF0ZSBzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXScsIHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKVxyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobmV3IERhdGUoc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0pKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgZWxzZSBpZihwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcclxuICAgICAgICAgICAgICBsZXQgZm9ybWF0dGVkRGF0ZSA9IHRoaXMuZ2V0RGF0ZShwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlLnRyaW0oKSk7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChmb3JtYXR0ZWREYXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHBhbmVsQ29udHJsVHlwZSA9PT0gJ3JhZGlvZ3JvdXAnKSB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgZWxzZSAgaWYocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSl7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHBhcmFtcy5nZXQocGFuZWxFbGVtZW50Lm5hbWUpKXtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhcmFtcy5nZXQocGFuZWxFbGVtZW50Lm5hbWUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHBhbmVsQ29udHJsVHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBwYW5lbENvbnRybFR5cGUgPT09ICdzaW5nbGVzZWxlY3RjaGVja2JveCcpIHtcclxuICAgICAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBlbHNlICBpZihwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocGFyYW1zLmdldChwYW5lbEVsZW1lbnQubmFtZSkpe1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFyYW1zLmdldChwYW5lbEVsZW1lbnQubmFtZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICdidXR0b24nKSB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAnYXV0b2NvbXBsZXRlJykge1xyXG4gICAgICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICdkaXNwbGF5dGV4dGFzbGFiZWwnKSB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHBhbmVsQ29udHJsVHlwZSA9PT0gJ2hpZGRlbicpIHtcclxuICAgICAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgICAgIH1lbHNlIGlmKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpe1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICdkZWNpbWFsJykge1xyXG4gICAgICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XHJcbiAgICAgICAgICAgIH1lbHNlIGlmKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpe1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICdjdXJyZW5jeScpIHtcclxuICAgICAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgICAgICB9ZWxzZSBpZihwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAnbGFiZWwtd2l0aC1jaGVja2JveCcpIHtcclxuICAgICAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0pO1xyXG4gICAgICAgICAgICB9ZWxzZSBpZihwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcclxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdncm91cCcsZ3JvdXApO1xyXG4gICAgcmV0dXJuIG5ldyBVbnR5cGVkRm9ybUdyb3VwKGdyb3VwKTtcclxuICB9XHJcblxyXG4gIGdldERhdGUoc3RyRGF0ZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgZm9ybWF0ID0gc3RyRGF0ZS5pbmNsdWRlcygnLScpID8gJ01NLWRkLXl5eXknIDogJ01NL2RkL3l5eXknO1xyXG4gICAgbGV0IHNwbGl0ZXIgPSBzdHJEYXRlLmluY2x1ZGVzKCctJykgPyAnLScgOiAnLyc7XHJcbiAgICB2YXIgc3BsaXRBcnJheSA9IHN0ckRhdGUuc3BsaXQoc3BsaXRlcik7XHJcbiAgICBsZXQgZGF0ZSA6IERhdGU7XHJcbiAgICBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGRhdGUuc2V0TW9udGgoTnVtYmVyKHNwbGl0QXJyYXlbMF0pIC0gMSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKE51bWJlcihzcGxpdEFycmF5WzJdKSk7XHJcbiAgICBkYXRlLnNldERhdGUoTnVtYmVyKHNwbGl0QXJyYXlbMV0pKTtcclxuICAgIHJldHVybiB0aGlzLmRhdGVwaXBlLnRyYW5zZm9ybShkYXRlLGZvcm1hdCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHNldERhdGEoaW5kZXgsIGRhdGEpIHtcclxuICAgIHRoaXMuc2hhcmVkRGF0YS5zZXQoaW5kZXgsIGRhdGEpO1xyXG4gIH1cclxuICBnZXREYXRhKGluZGV4KSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaGFyZWREYXRhLmdldChpbmRleCk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkRGF0YTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaG9pY2VzIHtcclxuICB2YWx1ZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG59Il19
409
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tY29udHJvbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb24tY29udHJvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJdkYsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFtQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRHJDLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRXJCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsV0FBVyxDQUFDLFNBQWlDLEVBQUUsU0FBaUIsRUFBQyxNQUF5QjtRQUUxRiwrQkFBK0I7UUFFN0IsTUFBTSxLQUFLLEdBQWlELEVBQUUsQ0FBQztRQUMvRCxJQUFJLFNBQVMsR0FBWSxLQUFLLENBQUM7UUFFL0IsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQyxJQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFDO1lBQzlCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztRQUVELElBQUksVUFBYyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQixVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDakQsU0FBUyxH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UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQzt1RkFoWlUsc0JBQXNCO3VFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCOztpRkFBdEIsc0JBQXNCO2NBRGxDLFVBQVU7O0FBb1pYLE1BQU0sT0FBTyxPQUFPO0NBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuL3F1ZXN0aW9uLWJhc2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Db250cm9sU2VydmljZSB7XG5cbiAgc2hhcmVkRGF0YSA9IG5ldyBNYXAoKTtcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGVwaXBlOiBEYXRlUGlwZSl7XG4gICAgY29uc29sZS5sb2coXCJJbml0IFF1ZXN0aW9uQ29udHJvbFNlcnZpY2VcIik7XG4gIH1cbiAgdG9Gb3JtR3JvdXAocXVlc3Rpb25zOiBRdWVzdGlvbkJhc2U8c3RyaW5nPltdLCBwYWdlSW5kZXg6IG51bWJlcixwYXJhbXM6TWFwPHN0cmluZyxzdHJpbmc+KSB7XG4gICAgXG4gIC8vY29uc29sZS5sb2coJ3BhcmFtcycscGFyYW1zKTtcbiAgIFxuICAgIGNvbnN0IGdyb3VwOiAge1trZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47fSA9IHt9O1xuICAgIGxldCBkYXRhRm91bmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGxldCBwYWdlcyA9IHF1ZXN0aW9uc1swXS5wYWdlc1twYWdlSW5kZXhdO1xuXG4gICAgaWYocGFnZXMgJiYgcGFnZXMuaXNQbGFjZUhvbGRlcil7XG4gICAgICByZXR1cm4gbmV3IFVudHlwZWRGb3JtR3JvdXAoZ3JvdXApO1xuICAgIH1cblxuICAgIGxldCBzdHJJbnRvT2JqOiBbXTtcbiAgICBpZiAodGhpcy5nZXREYXRhKHBhZ2VJbmRleCkpIHtcbiAgICAgIHN0ckludG9PYmogPSBKU09OLnBhcnNlKHRoaXMuZ2V0RGF0YShwYWdlSW5kZXgpKTtcbiAgICAgIGRhdGFGb3VuZCA9IHRydWU7XG4gICAgICAvL2NvbnNvbGUubG9nKCdzdHJJbnRvT2JqICAgJyxzdHJJbnRvT2JqWydjbGFpbWFudEVtcE5hbWUxMDInXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGFGb3VuZCA9IGZhbHNlO1xuICAgIH1cbiAgICAvL2NvbnNvbGUubG9nKCdkYXRhRm91bmQnLCBkYXRhRm91bmQpO1xuICAgIFxuICAgIC8vL2NvbnNvbGUubG9nKCdwYWdlcycscGFnZXMpO1xuXG4gICAgcGFnZXMuZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGxldCBjb250cmxUeXBlOiBzdHJpbmcgPSBlbGVtZW50LnR5cGU7XG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ2NvbW1lbnQnKSB7XG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ2Ryb3Bkb3duJykge1xuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtlbGVtZW50Lm5hbWVdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XG4gICAgICAgICAgICBjb25zdCBjaG9pY2U6c3RyaW5nPWVsZW1lbnQuZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgdmFyIGpzb25PYmplY3Q6IENob2ljZXMgPSBKU09OLnBhcnNlKGNob2ljZSk7ICBcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xuICAgICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXT8ucGF0Y2hWYWx1ZShlbGVtZW50LmNob2ljZXMuZmlsdGVyKGMgPT4gYy52YWx1ZSA9PSBqc29uT2JqZWN0LnZhbHVlKVswXSk7XG4gICAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnZ3JvdXBbZWxlbWVudC5uYW1lXScsZ3JvdXBbZWxlbWVudC5uYW1lXS52YWx1ZSk7XG4gICAgICAgICAgfSBlbHNle1xuICAgICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ3RleHQnICYmIGVsZW1lbnQuaW5wdXRUeXBlICE9ICdkYXRlJykge1xuXG4gICAgICAgIGlmIChlbGVtZW50LmN1c3RvbVRhZyAmJiBlbGVtZW50LmN1c3RvbVRhZyA9PT0gJ2R1ZWFtdCcpIHtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChcIjEyMVwiKTtcbiAgICAgICAgfSBcbiAgICAgICAgZWxzZSBpZiAoZWxlbWVudC5jdXN0b21UYWcgJiYgZWxlbWVudC5jdXN0b21UYWcgPT09ICdlYW4nKSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woXCI4MS0wMDU4Ni0wLTAxXCIpO1xuICAgICAgICB9IFxuICAgICAgICBlbHNlIHtcblxuICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XG4gICAgICAgICAgfSBcbiAgICAgICAgICBlbHNlIGlmKGVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGVsZW1lbnQuZGVmYXVsdFZhbHVlKTtcblxuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ3RleHQnICYmIGVsZW1lbnQuaW5wdXRUeXBlID09PSAnZGF0ZScpIHtcblxuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XG4gICAgICAgIC8vICBjb25zb2xlLmxvZygnRGF0ZSBzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0nLCBzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pXG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobmV3IERhdGUoc3RySW50b09ialtlbGVtZW50Lm5hbWVdKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKXtcbiAgICAgICAgICAgIGxldCBmb3JtYXR0ZWREYXRlID0gdGhpcy5nZXREYXRlKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSk7XG4gICAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChmb3JtYXR0ZWREYXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XG4gICAgICAgICAgICBsZXQgZm9ybWF0dGVkRGF0ZSA9IHRoaXMuZ2V0RGF0ZShlbGVtZW50LmRlZmF1bHRWYWx1ZS50cmltKCkpO1xuICAgICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZm9ybWF0dGVkRGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjb250cmxUeXBlID09PSAncmFkaW9ncm91cCcpIHtcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XG4gICAgICAgIH0gXG4gICAgICAgIGVsc2UgaWYoZWxlbWVudC5kZWZhdWx0VmFsdWUpe1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGVsZW1lbnQuZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSl7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdjaGVja2JveCcgfHwgY29udHJsVHlwZSA9PT0gJ3NpbmdsZXNlbGVjdGNoZWNrYm94Jykge1xuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtlbGVtZW50Lm5hbWVdKTtcbiAgICAgICAgfSBcbiAgICAgICAgZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZWxlbWVudC5kZWZhdWx0VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKXtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYXJhbXMuZ2V0KGVsZW1lbnQubmFtZSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ2F1dG9jb21wbGV0ZScpIHtcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdzaW1wbGVjaGVja2JveCcpIHtcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XG4gICAgICAgIH0gXG4gICAgICAgIGVsc2UgaWYocGFyYW1zLmdldChlbGVtZW50Lm5hbWUpKXtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYXJhbXMuZ2V0KGVsZW1lbnQubmFtZSkpO1xuICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdtdWx0aWNoZWNrYm94Jykge1xuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtlbGVtZW50Lm5hbWVdKTtcbiAgICAgICAgfSBcbiAgICAgICAgZWxzZSBpZihwYXJhbXMuZ2V0KGVsZW1lbnQubmFtZSkpe1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSk7XG4gICAgICAgIH1lbHNlIHtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ2J1dHRvbicpIHtcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY29udHJsVHlwZSA9PT0gJ2Rpc3BsYXl0ZXh0YXNsYWJlbCcpIHtcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pO1xuICAgICAgICB9ZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZWxlbWVudC5kZWZhdWx0VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhcmFtcy5nZXQoZWxlbWVudC5uYW1lKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW2VsZW1lbnQubmFtZV0pO1xuICAgICAgICB9ZWxzZSBpZihlbGVtZW50LmRlZmF1bHRWYWx1ZSl7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZWxlbWVudC5kZWZhdWx0VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjb250cmxUeXBlID09PSAnZGVjaW1hbCcpIHtcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XG4gICAgICAgIH1lbHNlIGlmKGVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChlbGVtZW50LmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdjdXJyZW5jeScpIHtcbiAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbZWxlbWVudC5uYW1lXSk7XG4gICAgICAgIH1lbHNlIGlmKGVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChlbGVtZW50LmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRybFR5cGUgPT09ICdsYWJlbC13aXRoLWNoZWNrYm94Jykge1xuICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XG4gICAgICAgICAgZ3JvdXBbZWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtlbGVtZW50Lm5hbWVdKTtcbiAgICAgICAgfWVsc2UgaWYoZWxlbWVudC5kZWZhdWx0VmFsdWUpe1xuICAgICAgICAgIGdyb3VwW2VsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGVsZW1lbnQuZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBncm91cFtlbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICBcbiAgICAgIGlmIChjb250cmxUeXBlID09PSAncGFuZWwnKSB7XG4gICAgICAgIGVsZW1lbnQuZWxlbWVudHMuZm9yRWFjaChwYW5lbEVsZW1lbnQgPT4ge1xuICAgICAgICAgIGxldCBwYW5lbENvbnRybFR5cGU6IHN0cmluZyA9IHBhbmVsRWxlbWVudC50eXBlO1xuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICdkcm9wZG93bicpIHtcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygncGFuZWxFbGVtZW50Lm5hbWUnLHBhbmVsRWxlbWVudC5uYW1lLCcgIHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdJyxzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSl7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hvaWNlOnN0cmluZz1wYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgICAgIHZhciBqc29uT2JqZWN0OiBDaG9pY2VzID0gSlNPTi5wYXJzZShjaG9pY2UpOyAgXG4gICAgICAgICAgICAgICAgbGV0IGRlZmF1bHRDaG9pY2U6Q2hvaWNlcz0gbmV3IENob2ljZXMoKTtcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q2hvaWNlLnRleHQ9anNvbk9iamVjdC50ZXh0O1xuICAgICAgICAgICAgICAgIGRlZmF1bHRDaG9pY2UudmFsdWU9anNvbk9iamVjdC52YWx1ZTtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChkZWZhdWx0Q2hvaWNlKTtcbiAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAndGV4dCcgJiYgcGFuZWxFbGVtZW50LmlucHV0VHlwZSAhPSAnZGF0ZScpIHtcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgZWxzZSAgaWYocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSl7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYXJhbXMuZ2V0KHBhbmVsRWxlbWVudC5uYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICd0ZXh0JyAmJiBwYW5lbEVsZW1lbnQuaW5wdXRUeXBlID09PSAnZGF0ZScpIHtcbiAgICBcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZygnRGF0ZSBzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXScsIHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKVxuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG5ldyBEYXRlKHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKSk7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgZWxzZSBpZihwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcbiAgICAgICAgICAgICAgbGV0IGZvcm1hdHRlZERhdGUgPSB0aGlzLmdldERhdGUocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZS50cmltKCkpO1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGZvcm1hdHRlZERhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHBhbmVsQ29udHJsVHlwZSA9PT0gJ3JhZGlvZ3JvdXAnKSB7XG4gICAgICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0pO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIGVsc2UgIGlmKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpe1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZihwYXJhbXMuZ2V0KHBhbmVsRWxlbWVudC5uYW1lKSl7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFyYW1zLmdldChwYW5lbEVsZW1lbnQubmFtZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhbmVsQ29udHJsVHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBwYW5lbENvbnRybFR5cGUgPT09ICdzaW5nbGVzZWxlY3RjaGVja2JveCcpIHtcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgZWxzZSAgaWYocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSl7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGFuZWxFbGVtZW50LmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmKHBhcmFtcy5nZXQocGFuZWxFbGVtZW50Lm5hbWUpKXtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYXJhbXMuZ2V0KHBhbmVsRWxlbWVudC5uYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHBhbmVsQ29udHJsVHlwZSA9PT0gJ2J1dHRvbicpIHtcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhbmVsQ29udHJsVHlwZSA9PT0gJ2Rpc3BsYXl0ZXh0YXNsYWJlbCcpIHtcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwYW5lbENvbnRybFR5cGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgICBpZiAoZGF0YUZvdW5kKSB7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc3RySW50b09ialtwYW5lbEVsZW1lbnQubmFtZV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKTtcbiAgICAgICAgICAgIH1lbHNlIGlmKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpe1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAnZGVjaW1hbCcpIHtcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XG4gICAgICAgICAgICB9ZWxzZSBpZihwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhbmVsQ29udHJsVHlwZSA9PT0gJ2N1cnJlbmN5Jykge1xuICAgICAgICAgICAgaWYgKGRhdGFGb3VuZCkge1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHN0ckludG9PYmpbcGFuZWxFbGVtZW50Lm5hbWVdKTtcbiAgICAgICAgICAgIH1lbHNlIGlmKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpe1xuICAgICAgICAgICAgICBncm91cFtwYW5lbEVsZW1lbnQubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBhbmVsRWxlbWVudC5kZWZhdWx0VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocGFuZWxDb250cmxUeXBlID09PSAnbGFiZWwtd2l0aC1jaGVja2JveCcpIHtcbiAgICAgICAgICAgIGlmIChkYXRhRm91bmQpIHtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChzdHJJbnRvT2JqW3BhbmVsRWxlbWVudC5uYW1lXSk7XG4gICAgICAgICAgICB9ZWxzZSBpZihwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKXtcbiAgICAgICAgICAgICAgZ3JvdXBbcGFuZWxFbGVtZW50Lm5hbWVdID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChwYW5lbEVsZW1lbnQuZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGdyb3VwW3BhbmVsRWxlbWVudC5uYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH0pXG5cbiAgICAgIH1cblxuICAgIH0pO1xuICAgIC8vIGNvbnNvbGUubG9nKCdncm91cCcsZ3JvdXApO1xuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cChncm91cCk7XG4gIH1cblxuICBnZXREYXRlKHN0ckRhdGU6IHN0cmluZykge1xuICAgIGxldCBmb3JtYXQgPSBzdHJEYXRlLmluY2x1ZGVzKCctJykgPyAnTU0tZGQteXl5eScgOiAnTU0vZGQveXl5eSc7XG4gICAgbGV0IHNwbGl0ZXIgPSBzdHJEYXRlLmluY2x1ZGVzKCctJykgPyAnLScgOiAnLyc7XG4gICAgdmFyIHNwbGl0QXJyYXkgPSBzdHJEYXRlLnNwbGl0KHNwbGl0ZXIpO1xuICAgIGxldCBkYXRlIDogRGF0ZTtcbiAgICBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBkYXRlLnNldE1vbnRoKE51bWJlcihzcGxpdEFycmF5WzBdKSAtIDEpO1xuICAgIGRhdGUuc2V0RnVsbFllYXIoTnVtYmVyKHNwbGl0QXJyYXlbMl0pKTtcbiAgICBkYXRlLnNldERhdGUoTnVtYmVyKHNwbGl0QXJyYXlbMV0pKTtcbiAgICByZXR1cm4gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0oZGF0ZSxmb3JtYXQpO1xuICB9XG5cblxuXG4gIHNldERhdGEoaW5kZXgsIGRhdGEpIHtcbiAgICB0aGlzLnNoYXJlZERhdGEuc2V0KGluZGV4LCBkYXRhKTtcbiAgfVxuICBnZXREYXRhKGluZGV4KSB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkRGF0YS5nZXQoaW5kZXgpO1xuICB9XG5cbiAgZ2V0QWxsRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZWREYXRhO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDaG9pY2VzIHtcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG59Il19
@@ -6,8 +6,9 @@ export class QuestionService {
6
6
  constructor(questionnaireService) {
7
7
  this.questionnaireService = questionnaireService;
8
8
  this.searchModel = [];
9
- this.searchBs = new BehaviorSubject(null);
9
+ //public searchBs : BehaviorSubject<QuestionnaireQueryModel> = new BehaviorSubject<QuestionnaireQueryModel>(null);
10
10
  this.employeeBs = new BehaviorSubject(null);
11
+ console.log("Init QuestionService");
11
12
  }
12
13
  setSearchModel(searchModel) {
13
14
  this.searchModel = searchModel;
@@ -22,12 +23,9 @@ export class QuestionService {
22
23
  return this.questionnaireService.getFlowData(key);
23
24
  }
24
25
  static { this.ɵfac = function QuestionService_Factory(t) { return new (t || QuestionService)(i0.ɵɵinject(i1.QuestionnaireService)); }; }
25
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QuestionService, factory: QuestionService.ɵfac, providedIn: 'root' }); }
26
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QuestionService, factory: QuestionService.ɵfac }); }
26
27
  }
27
28
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QuestionService, [{
28
- type: Injectable,
29
- args: [{
30
- providedIn: 'root'
31
- }]
29
+ type: Injectable
32
30
  }], () => [{ type: i1.QuestionnaireService }], null); })();
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFJLE1BQU0sTUFBTSxDQUFDOzs7QUFRekMsTUFBTSxPQUFPLGVBQWU7SUFLeEIsWUFBbUIsb0JBQTBDO1FBQTFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFIdEQsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBQzVDLGFBQVEsR0FBOEMsSUFBSSxlQUFlLENBQTBCLElBQUksQ0FBQyxDQUFDO1FBQ3pHLGVBQVUsR0FBZ0QsSUFBSSxlQUFlLENBQTZCLElBQUksQ0FBQyxDQUFDO0lBRXZILENBQUM7SUFHSCxjQUFjLENBQUMsV0FBc0M7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFFakMsQ0FBQztJQUVDLFlBQVksQ0FBQyxNQUErQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBR0Qsa0JBQWtCLENBQUMsTUFBK0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNuRCxDQUFDO2dGQXpCUSxlQUFlO3VFQUFmLGVBQWUsV0FBZixlQUFlLG1CQUZaLE1BQU07O2lGQUVULGVBQWU7Y0FIM0IsVUFBVTtlQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsJztcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25TZXJ2aWNlIHtcblxuICAgIHB1YmxpYyBzZWFyY2hNb2RlbCA6UXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXSA9IFtdO1xuICAgIHB1YmxpYyBzZWFyY2hCcyA6IEJlaGF2aW9yU3ViamVjdDxRdWVzdGlvbm5haXJlUXVlcnlNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsPihudWxsKTtcbiAgICBwdWJsaWMgZW1wbG95ZWVCczogQmVoYXZpb3JTdWJqZWN0PENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsW10+KG51bGwpO1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UpIHtcbiAgICB9XG5cblxuICBzZXRTZWFyY2hNb2RlbChzZWFyY2hNb2RlbDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXSkge1xuICAgIHRoaXMuc2VhcmNoTW9kZWwgPSBzZWFyY2hNb2RlbDtcblxuICB9XG5cbiAgICBnZXRRdWVzdGlvbnMoc2VhcmNoOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5nZXRRdWVzdGlvbm5haXJlKHNlYXJjaClcbiAgICB9XG5cblxuICAgIGdldFNjcmVlblF1ZXN0aW9ucyhzZWFyY2g6IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLmdldFNjcmVlblF1ZXN0aW9ucyhzZWFyY2gpXG4gICAgfVxuXG4gICAgZ2V0Rmxvd0RhdGEoa2V5OnN0cmluZyl7XG4gICAgICByZXR1cm4gdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5nZXRGbG93RGF0YShrZXkpXG4gICAgfVxuXG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFJLE1BQU0sTUFBTSxDQUFDOzs7QUFNekMsTUFBTSxPQUFPLGVBQWU7SUFLeEIsWUFBbUIsb0JBQTBDO1FBQTFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFIdEQsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBQ25ELGtIQUFrSDtRQUMzRyxlQUFVLEdBQWdELElBQUksZUFBZSxDQUE2QixJQUFJLENBQUMsQ0FBQztRQUVySCxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdILGNBQWMsQ0FBQyxXQUFzQztRQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUVqQyxDQUFDO0lBRUMsWUFBWSxDQUFDLE1BQStCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxNQUErQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ25ELENBQUM7Z0ZBMUJRLGVBQWU7dUVBQWYsZUFBZSxXQUFmLGVBQWU7O2lGQUFmLGVBQWU7Y0FEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCxvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwnO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uU2VydmljZSB7XG5cbiAgICBwdWJsaWMgc2VhcmNoTW9kZWwgOlF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsW10gPSBbXTtcbiAgICAvL3B1YmxpYyBzZWFyY2hCcyA6IEJlaGF2aW9yU3ViamVjdDxRdWVzdGlvbm5haXJlUXVlcnlNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsPihudWxsKTtcbiAgICBwdWJsaWMgZW1wbG95ZWVCczogQmVoYXZpb3JTdWJqZWN0PENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsW10+KG51bGwpO1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiSW5pdCBRdWVzdGlvblNlcnZpY2VcIik7XG4gICAgfVxuXG5cbiAgc2V0U2VhcmNoTW9kZWwoc2VhcmNoTW9kZWw6IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsW10pIHtcbiAgICB0aGlzLnNlYXJjaE1vZGVsID0gc2VhcmNoTW9kZWw7XG5cbiAgfVxuXG4gICAgZ2V0UXVlc3Rpb25zKHNlYXJjaDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0UXVlc3Rpb25uYWlyZShzZWFyY2gpXG4gICAgfVxuXG5cbiAgICBnZXRTY3JlZW5RdWVzdGlvbnMoc2VhcmNoOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5nZXRTY3JlZW5RdWVzdGlvbnMoc2VhcmNoKVxuICAgIH1cblxuICAgIGdldEZsb3dEYXRhKGtleTpzdHJpbmcpe1xuICAgICAgcmV0dXJuIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0Rmxvd0RhdGEoa2V5KVxuICAgIH1cblxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
+ import { QuestionService } from './../question.service';
3
4
  import { BasePage } from '../../../pages/BasePage';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "./../question.service";
@@ -59,15 +60,16 @@ function RenderQuestionnairePage_ng_container_5_div_1_Template(rf, ctx) { if (rf
59
60
  i0.ɵɵpipe(3, "async");
60
61
  i0.ɵɵpipe(4, "async");
61
62
  i0.ɵɵpipe(5, "async");
63
+ i0.ɵɵpipe(6, "async");
62
64
  i0.ɵɵelementEnd()();
63
65
  } if (rf & 2) {
64
66
  const ctx_r9 = i0.ɵɵnextContext(2);
65
67
  i0.ɵɵadvance(1);
66
- i0.ɵɵproperty("questions", i0.ɵɵpipeBind1(3, 27, ctx_r9.questions$))("forScreenQuestionnaire", i0.ɵɵpipeBind1(4, 29, ctx_r9.forScreenQuestionnaireBs))("backButtonPage", ctx_r9.backButtonPage)("pageType", ctx_r9.pageType)("nextButtonPage", ctx_r9.nextButtonPage)("formData", ctx_r9.loaderModel ? ctx_r9.loaderModel.data : ctx_r9.formData)("readOnlyFields", ctx_r9.loaderModel ? ctx_r9.loaderModel.disableControlNames : ctx_r9.readOnlyFields)("autoSave", ctx_r9.autoSave)("queryModel", ctx_r9.queryModel)("hideFooter", ctx_r9.hideFooter)("dynamicParam", ctx_r9.dynamicParam)("sizeXs", ctx_r9.sizeXs)("sizeSm", ctx_r9.sizeSm)("sizeMd", ctx_r9.sizeMd)("sizeLg", ctx_r9.sizeLg)("sizeXl", ctx_r9.sizeXl)("offsetXs", ctx_r9.offsetXs)("offsetSm", ctx_r9.offsetSm)("offsetMd", ctx_r9.offsetMd)("offsetLg", ctx_r9.offsetLg)("offsetXl", ctx_r9.offsetXl)("mfaRequired", ctx_r9.mfaRequired)("formReadOnly", ctx_r9.readonly)("multiMode", ctx_r9.multiMode)("questionNumber", ctx_r9.questionNumber)("loaderService", ctx_r9.loaderService)("isEnableBackButton", i0.ɵɵpipeBind1(5, 31, ctx_r9.enableBackButtonBs));
68
+ i0.ɵɵproperty("questions", i0.ɵɵpipeBind1(3, 28, ctx_r9.questions$))("forScreenQuestionnaire", i0.ɵɵpipeBind1(4, 30, ctx_r9.forScreenQuestionnaireBs))("backButtonPage", ctx_r9.backButtonPage)("pageType", ctx_r9.pageType)("nextButtonPage", ctx_r9.nextButtonPage)("formData", ctx_r9.loaderModel ? ctx_r9.loaderModel.data : ctx_r9.formData)("readOnlyFields", ctx_r9.loaderModel ? ctx_r9.loaderModel.disableControlNames : ctx_r9.readOnlyFields)("autoSave", ctx_r9.autoSave)("queryModel", ctx_r9.queryModel)("hideFooter", ctx_r9.hideFooter)("dynamicParam", ctx_r9.dynamicParam)("sizeXs", ctx_r9.sizeXs)("sizeSm", ctx_r9.sizeSm)("sizeMd", ctx_r9.sizeMd)("sizeLg", ctx_r9.sizeLg)("sizeXl", ctx_r9.sizeXl)("offsetXs", ctx_r9.offsetXs)("offsetSm", ctx_r9.offsetSm)("offsetMd", ctx_r9.offsetMd)("offsetLg", ctx_r9.offsetLg)("offsetXl", ctx_r9.offsetXl)("mfaRequired", ctx_r9.mfaRequired)("formReadOnly", ctx_r9.readonly)("multiMode", ctx_r9.multiMode)("questionNumber", ctx_r9.questionNumber)("loaderService", ctx_r9.loaderService)("isEnableBackButton", i0.ɵɵpipeBind1(5, 32, ctx_r9.enableBackButtonBs))("potentialIssueIdBs", i0.ɵɵpipeBind1(6, 34, ctx_r9.potentialIssueIdBs));
67
69
  } }
68
70
  function RenderQuestionnairePage_ng_container_5_Template(rf, ctx) { if (rf & 1) {
69
71
  i0.ɵɵelementContainerStart(0);
70
- i0.ɵɵtemplate(1, RenderQuestionnairePage_ng_container_5_div_1_Template, 6, 33, "div", 3);
72
+ i0.ɵɵtemplate(1, RenderQuestionnairePage_ng_container_5_div_1_Template, 7, 36, "div", 3);
71
73
  i0.ɵɵelementContainerEnd();
72
74
  } if (rf & 2) {
73
75
  const ctx_r2 = i0.ɵɵnextContext();
@@ -75,9 +77,6 @@ function RenderQuestionnairePage_ng_container_5_Template(rf, ctx) { if (rf & 1)
75
77
  i0.ɵɵproperty("ngIf", !ctx_r2.showLoaderTheme && ctx_r2.questions$.getValue());
76
78
  } }
77
79
  export class RenderQuestionnairePage extends BasePage {
78
- get invalid() {
79
- return this.questionnaire.invalid;
80
- }
81
80
  constructor(service, util, logger, questionnaireService, ls, validationService, activatedRoute) {
82
81
  super();
83
82
  this.service = service;
@@ -90,6 +89,7 @@ export class RenderQuestionnairePage extends BasePage {
90
89
  this.questions$ = new BehaviorSubject(null);
91
90
  this.forScreenQuestionnaireBs = new BehaviorSubject(null);
92
91
  this.enableBackButtonBs = new BehaviorSubject(null);
92
+ this.potentialIssueIdBs = new BehaviorSubject(null);
93
93
  this.showLoaderTheme = false;
94
94
  this.calledLoaderService = false;
95
95
  this.blockUi = false;
@@ -134,7 +134,7 @@ export class RenderQuestionnairePage extends BasePage {
134
134
  this.loadQuestionnaire(this.queryModel);
135
135
  }
136
136
  else {
137
- this.service.searchBs.next(this.queryModel);
137
+ //this.service.searchBs.next(this.queryModel);
138
138
  this.loadQuestionnaire(this.queryModel);
139
139
  }
140
140
  }
@@ -147,22 +147,17 @@ export class RenderQuestionnairePage extends BasePage {
147
147
  ? this.service.getScreenQuestions(queryModel)
148
148
  : this.service.getQuestions(queryModel);
149
149
  subscription.subscribe(res => {
150
+ this.logger.debug('Entire response from render questionnaire page = ', res);
150
151
  if (res['responseJson'] && Object.keys(res['responseJson']).length > 0) {
151
152
  this.formData = res['responseJson'];
152
153
  }
153
154
  this.questions$.next([res['questionnaireJson']]);
154
155
  this.forScreenQuestionnaireBs.next(queryModel.isScreenQuestionnaire);
155
156
  this.enableBackButtonBs.next(res['enableBackButton']);
156
- this.logger.debug(' Render Questionnaire Page ', res['questionnaireJson']);
157
+ this.potentialIssueIdBs.next(res['potentialIssueId']);
158
+ this.logger.debug(' Render Questionnaire Page JSON = ', res['questionnaireJson']);
159
+ this.logger.debug(' Render Questionnaire Page Potential Issue Id = ', res['potentialIssueId']);
157
160
  this.showLoaderTheme = false;
158
- localStorage.setItem("flowKey", res['questionnaireId']);
159
- console.log(localStorage.getItem("flowKey"));
160
- if (localStorage.getItem("flowKey") == '345') {
161
- localStorage.setItem('disableFieldsOnSignup', 'true');
162
- }
163
- else {
164
- localStorage.setItem('disableFieldsOnSignup', 'false');
165
- }
166
161
  this.onLoadComplete.emit(true);
167
162
  }, err => {
168
163
  this.showLoaderTheme = false;
@@ -177,15 +172,6 @@ export class RenderQuestionnairePage extends BasePage {
177
172
  submit() {
178
173
  this.questionnaire.complete();
179
174
  }
180
- getDirtyItems() {
181
- return this.questionnaire.getDirtyItems();
182
- }
183
- getDirtyItemsWithValues() {
184
- return this.questionnaire.getDirtyItemsWithValues();
185
- }
186
- paymentDetailsChangeError() {
187
- return this.questionnaire.paymentDetailsChangeError();
188
- }
189
175
  handleError(error) {
190
176
  this.onError.emit(error);
191
177
  }
@@ -195,7 +181,7 @@ export class RenderQuestionnairePage extends BasePage {
195
181
  } if (rf & 2) {
196
182
  let _t;
197
183
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.questionnaire = _t.first);
198
- } }, inputs: { autoSave: "autoSave", mfaRequired: "mfaRequired", backButtonPage: "backButtonPage", nextButtonPage: "nextButtonPage", pageType: "pageType", queryModel: "queryModel", loaderService: "loaderService", data: "data", formData: "formData", dynamicParam: "dynamicParam", hideHeader: "hideHeader", hideFooter: "hideFooter", questionNumber: "questionNumber", sizeXs: "sizeXs", sizeSm: "sizeSm", sizeMd: "sizeMd", sizeLg: "sizeLg", sizeXl: "sizeXl", offsetXs: "offsetXs", offsetSm: "offsetSm", offsetMd: "offsetMd", offsetLg: "offsetLg", offsetXl: "offsetXl", readonly: "readonly", multiMode: "multiMode", readOnlyFields: "readOnlyFields" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete", onError: "onError", onLoadComplete: "onLoadComplete" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 6, vars: 4, consts: [[3, "blocked"], ["name", "crescent"], ["class", "ion-text-center", 4, "ngIf"], [4, "ngIf"], [1, "ion-text-center"], ["name", "dots"], ["visible", "true", "appendTo", "body", "modal", "true", 3, "showHeader"], [3, "questions", "forScreenQuestionnaire", "backButtonPage", "pageType", "nextButtonPage", "data", "autoSave", "queryModel", "hideFooter", "dynamicParam", "formData", "formReadOnly", "multiMode", "questionNumber", "modelCancel", "onComplete", "onError"], [3, "questions", "forScreenQuestionnaire", "backButtonPage", "pageType", "nextButtonPage", "formData", "readOnlyFields", "autoSave", "queryModel", "hideFooter", "dynamicParam", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "mfaRequired", "formReadOnly", "multiMode", "questionNumber", "loaderService", "isEnableBackButton", "modelCancel", "onComplete", "onError"], ["questionnaire", ""]], template: function RenderQuestionnairePage_Template(rf, ctx) { if (rf & 1) {
184
+ } }, inputs: { autoSave: "autoSave", mfaRequired: "mfaRequired", backButtonPage: "backButtonPage", nextButtonPage: "nextButtonPage", pageType: "pageType", queryModel: "queryModel", loaderService: "loaderService", data: "data", formData: "formData", dynamicParam: "dynamicParam", hideHeader: "hideHeader", hideFooter: "hideFooter", questionNumber: "questionNumber", sizeXs: "sizeXs", sizeSm: "sizeSm", sizeMd: "sizeMd", sizeLg: "sizeLg", sizeXl: "sizeXl", offsetXs: "offsetXs", offsetSm: "offsetSm", offsetMd: "offsetMd", offsetLg: "offsetLg", offsetXl: "offsetXl", readonly: "readonly", multiMode: "multiMode", readOnlyFields: "readOnlyFields" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete", onError: "onError", onLoadComplete: "onLoadComplete" }, features: [i0.ɵɵProvidersFeature([QuestionService]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 6, vars: 4, consts: [[3, "blocked"], ["name", "crescent"], ["class", "ion-text-center", 4, "ngIf"], [4, "ngIf"], [1, "ion-text-center"], ["name", "dots"], ["visible", "true", "appendTo", "body", "modal", "true", 3, "showHeader"], [3, "questions", "forScreenQuestionnaire", "backButtonPage", "pageType", "nextButtonPage", "data", "autoSave", "queryModel", "hideFooter", "dynamicParam", "formData", "formReadOnly", "multiMode", "questionNumber", "modelCancel", "onComplete", "onError"], [3, "questions", "forScreenQuestionnaire", "backButtonPage", "pageType", "nextButtonPage", "formData", "readOnlyFields", "autoSave", "queryModel", "hideFooter", "dynamicParam", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "mfaRequired", "formReadOnly", "multiMode", "questionNumber", "loaderService", "isEnableBackButton", "potentialIssueIdBs", "modelCancel", "onComplete", "onError"], ["questionnaire", ""]], template: function RenderQuestionnairePage_Template(rf, ctx) { if (rf & 1) {
199
185
  i0.ɵɵelementStart(0, "p-blockUI", 0);
200
186
  i0.ɵɵelement(1, "ion-spinner", 1);
201
187
  i0.ɵɵtext(2, " Loading...\n");
@@ -209,11 +195,11 @@ export class RenderQuestionnairePage extends BasePage {
209
195
  i0.ɵɵproperty("ngIf", ctx.pageType === "POPUP");
210
196
  i0.ɵɵadvance(1);
211
197
  i0.ɵɵproperty("ngIf", ctx.pageType != "POPUP");
212
- } }, dependencies: [i8.IonSpinner, i9.NgIf, i10.Dialog, i11.BlockUI, i12.DynamicFormComponent, i9.AsyncPipe], styles: [":host ::ng-deep form{counter-reset:section 0}:host ::ng-deep label:before{counter-increment:section 1;content:counter(section) \". \"}:host ::ng-deep .p-col{flex-grow:1;flex-basis:0;padding:0rem}:host ::ng-deep .p-button.p-button-icon-only{width:3rem;padding:0rem}:host ::ng-deep .p-grid{margin-right:1em;margin-left:0;margin-top:0;grid-gap:10px;flex-wrap:nowrap}:host ::ng-deep .field{margin-bottom:1px;margin-top:0}:host ::ng-deep .p-md-offset-1{margin-left:3.333333%}:host ::ng-deep .p-autocomplete-panel{width:400px!important}:host ::ng-deep ion-button{text-transform:none}:host ::ng-deep .flex-container{display:inline-flex;width:-moz-fit-content;width:fit-content}:host ::ng-deep .flex-child:first-child{margin-top:3px}:host ::ng-deep .p-button.p-button-icon-only.p-button-rounded{border-radius:50%;height:2rem}:host ::ng-deep .p-autocomplete-dd .p-autocomplete-input{flex:1 1 auto}:host ::ng-deep p-selectbutton.ng-dirty.ng-invalid>.p-selectbutton>.p-button{border:.5px solid red!important}:host ::ng-deep .p-calendar .p-inputtext{width:100%!important}.p-autocomplete-panel{width:-moz-fit-content!important;width:fit-content!important}ion-button{text-transform:none}h5{font-size:22px!important}.mat-error{color:#b00020!important}\n"], encapsulation: 2 }); }
198
+ } }, dependencies: [i8.IonSpinner, i9.NgIf, i10.Dialog, i11.BlockUI, i12.DynamicFormComponent, i9.AsyncPipe], styles: [":host ::ng-deep form{counter-reset:section 0}:host ::ng-deep label:before{counter-increment:section 1;content:counter(section) \". \"}:host ::ng-deep .p-col{flex-grow:1;flex-basis:0;padding:0rem}:host ::ng-deep .p-button.p-button-icon-only{width:3rem;padding:0rem}:host ::ng-deep .p-grid{margin-right:1em;margin-left:0;margin-top:0;grid-gap:10px;flex-wrap:nowrap}:host ::ng-deep .field{margin-bottom:1px;margin-top:0}:host ::ng-deep .p-md-offset-1{margin-left:3.333333%}:host ::ng-deep .p-autocomplete-panel{width:400px!important}:host ::ng-deep ion-button{text-transform:none}:host ::ng-deep .flex-container{display:inline-flex;width:-moz-fit-content;width:fit-content}:host ::ng-deep .flex-child:first-child{margin-top:3px}:host ::ng-deep .p-button.p-button-icon-only.p-button-rounded{border-radius:50%;height:2rem}:host ::ng-deep .p-autocomplete-dd .p-autocomplete-input{flex:1 1 auto}:host ::ng-deep p-selectbutton.ng-dirty.ng-invalid>.p-selectbutton>.p-button{border:.5px solid red!important}:host ::ng-deep .p-calendar .p-inputtext{width:100%!important}.p-autocomplete-panel{width:auto!important}@media screen and (max-width: 40rem){.p-autocomplete-panel{width:-moz-fit-content!important;width:fit-content!important}}ion-button{text-transform:none}h5{font-size:22px!important}.mat-error{color:#b00020!important}\n"], encapsulation: 2 }); }
213
199
  }
214
200
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RenderQuestionnairePage, [{
215
201
  type: Component,
216
- args: [{ encapsulation: ViewEncapsulation.None, selector: 'app-questionnaire', template: "<p-blockUI [blocked]=\"blockUi\">\r\n <ion-spinner name=\"crescent\"></ion-spinner>\r\n Loading...\r\n</p-blockUI>\r\n<div *ngIf=\"showLoaderTheme\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n</div>\r\n<ng-container *ngIf=\"pageType==='POPUP'\">\r\n\r\n <p-dialog visible=\"true\" appendTo=\"body\" modal=\"true\" [showHeader]=\"false\">\r\n <div *ngIf=\"showLoaderTheme\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf=\"!showLoaderTheme && questions$.getValue()\">\r\n <app-dynamic-form [questions]=\"questions$ | async\"\r\n [forScreenQuestionnaire]=\"forScreenQuestionnaireBs | async\" [backButtonPage]=\"backButtonPage\"\r\n [pageType]=\"pageType\" [nextButtonPage]=\"nextButtonPage\" (modelCancel)=\"onModelCancel($event)\"\r\n (onComplete)=\"complete($event)\" [data]=\"data\" [autoSave]=\"autoSave\" [queryModel]=\"queryModel\"\r\n [hideFooter]=\"hideFooter\" [dynamicParam]=\"dynamicParam\" [formData]=\"formData\"\r\n (onError)=\"handleError($event)\" [formReadOnly]=\"readonly\" [multiMode]=\"multiMode\" \r\n [questionNumber]=\"questionNumber\">\r\n </app-dynamic-form>\r\n </div>\r\n\r\n </p-dialog>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"pageType!='POPUP'\">\r\n <div *ngIf=\"!showLoaderTheme && questions$.getValue()\">\r\n <app-dynamic-form #questionnaire [questions]=\"questions$ | async\" (modelCancel)=\"onModelCancel($event)\"\r\n [forScreenQuestionnaire]=\"forScreenQuestionnaireBs | async\" [backButtonPage]=\"backButtonPage\"\r\n [pageType]=\"pageType\" [nextButtonPage]=\"nextButtonPage\" [formData]=\"loaderModel ? loaderModel.data : formData\"\r\n [readOnlyFields]=\"loaderModel ? loaderModel.disableControlNames : readOnlyFields\" (onComplete)=\"complete($event)\" [autoSave]=\"autoSave\" \r\n [queryModel]=\"queryModel\" [hideFooter]=\"hideFooter\" [dynamicParam]=\"dynamicParam\"\r\n [sizeXs]=\"sizeXs\" [sizeSm]=\"sizeSm\" [sizeMd]=\"sizeMd\" [sizeLg]=\"sizeLg\" [sizeXl]=\"sizeXl\" \r\n [offsetXs]=\"offsetXs\" [offsetSm]=\"offsetSm\" [offsetMd]=\"offsetMd\" [offsetLg]=\"offsetLg\" [offsetXl]=\"offsetXl\"\r\n (onError)=\"handleError($event)\" [mfaRequired]=\"mfaRequired\" [formReadOnly]=\"readonly\" [multiMode]=\"multiMode\" \r\n [questionNumber]=\"questionNumber\" [loaderService]=\"loaderService\" [isEnableBackButton]=\"enableBackButtonBs | async\">\r\n </app-dynamic-form>\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep form{counter-reset:section 0}:host ::ng-deep label:before{counter-increment:section 1;content:counter(section) \". \"}:host ::ng-deep .p-col{flex-grow:1;flex-basis:0;padding:0rem}:host ::ng-deep .p-button.p-button-icon-only{width:3rem;padding:0rem}:host ::ng-deep .p-grid{margin-right:1em;margin-left:0;margin-top:0;grid-gap:10px;flex-wrap:nowrap}:host ::ng-deep .field{margin-bottom:1px;margin-top:0}:host ::ng-deep .p-md-offset-1{margin-left:3.333333%}:host ::ng-deep .p-autocomplete-panel{width:400px!important}:host ::ng-deep ion-button{text-transform:none}:host ::ng-deep .flex-container{display:inline-flex;width:-moz-fit-content;width:fit-content}:host ::ng-deep .flex-child:first-child{margin-top:3px}:host ::ng-deep .p-button.p-button-icon-only.p-button-rounded{border-radius:50%;height:2rem}:host ::ng-deep .p-autocomplete-dd .p-autocomplete-input{flex:1 1 auto}:host ::ng-deep p-selectbutton.ng-dirty.ng-invalid>.p-selectbutton>.p-button{border:.5px solid red!important}:host ::ng-deep .p-calendar .p-inputtext{width:100%!important}.p-autocomplete-panel{width:-moz-fit-content!important;width:fit-content!important}ion-button{text-transform:none}h5{font-size:22px!important}.mat-error{color:#b00020!important}\n"] }]
202
+ args: [{ encapsulation: ViewEncapsulation.None, selector: 'app-questionnaire', providers: [QuestionService], template: "<p-blockUI [blocked]=\"blockUi\">\r\n <ion-spinner name=\"crescent\"></ion-spinner>\r\n Loading...\r\n</p-blockUI>\r\n<div *ngIf=\"showLoaderTheme\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n</div>\r\n<ng-container *ngIf=\"pageType==='POPUP'\">\r\n\r\n <p-dialog visible=\"true\" appendTo=\"body\" modal=\"true\" [showHeader]=\"false\">\r\n <div *ngIf=\"showLoaderTheme\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf=\"!showLoaderTheme && questions$.getValue()\">\r\n <app-dynamic-form [questions]=\"questions$ | async\"\r\n [forScreenQuestionnaire]=\"forScreenQuestionnaireBs | async\" [backButtonPage]=\"backButtonPage\"\r\n [pageType]=\"pageType\" [nextButtonPage]=\"nextButtonPage\" (modelCancel)=\"onModelCancel($event)\"\r\n (onComplete)=\"complete($event)\" [data]=\"data\" [autoSave]=\"autoSave\" [queryModel]=\"queryModel\"\r\n [hideFooter]=\"hideFooter\" [dynamicParam]=\"dynamicParam\" [formData]=\"formData\"\r\n (onError)=\"handleError($event)\" [formReadOnly]=\"readonly\" [multiMode]=\"multiMode\" \r\n [questionNumber]=\"questionNumber\">\r\n </app-dynamic-form>\r\n </div>\r\n\r\n </p-dialog>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"pageType!='POPUP'\">\r\n <div *ngIf=\"!showLoaderTheme && questions$.getValue()\">\r\n <app-dynamic-form #questionnaire [questions]=\"questions$ | async\" (modelCancel)=\"onModelCancel($event)\"\r\n [forScreenQuestionnaire]=\"forScreenQuestionnaireBs | async\" [backButtonPage]=\"backButtonPage\"\r\n [pageType]=\"pageType\" [nextButtonPage]=\"nextButtonPage\" [formData]=\"loaderModel ? loaderModel.data : formData\"\r\n [readOnlyFields]=\"loaderModel ? loaderModel.disableControlNames : readOnlyFields\" (onComplete)=\"complete($event)\" [autoSave]=\"autoSave\" \r\n [queryModel]=\"queryModel\" [hideFooter]=\"hideFooter\" [dynamicParam]=\"dynamicParam\"\r\n [sizeXs]=\"sizeXs\" [sizeSm]=\"sizeSm\" [sizeMd]=\"sizeMd\" [sizeLg]=\"sizeLg\" [sizeXl]=\"sizeXl\" \r\n [offsetXs]=\"offsetXs\" [offsetSm]=\"offsetSm\" [offsetMd]=\"offsetMd\" [offsetLg]=\"offsetLg\" [offsetXl]=\"offsetXl\"\r\n (onError)=\"handleError($event)\" [mfaRequired]=\"mfaRequired\" [formReadOnly]=\"readonly\" [multiMode]=\"multiMode\" \r\n [questionNumber]=\"questionNumber\" [loaderService]=\"loaderService\" [isEnableBackButton]=\"enableBackButtonBs | async\"\r\n [potentialIssueIdBs]=\"potentialIssueIdBs | async\">\r\n </app-dynamic-form>\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep form{counter-reset:section 0}:host ::ng-deep label:before{counter-increment:section 1;content:counter(section) \". \"}:host ::ng-deep .p-col{flex-grow:1;flex-basis:0;padding:0rem}:host ::ng-deep .p-button.p-button-icon-only{width:3rem;padding:0rem}:host ::ng-deep .p-grid{margin-right:1em;margin-left:0;margin-top:0;grid-gap:10px;flex-wrap:nowrap}:host ::ng-deep .field{margin-bottom:1px;margin-top:0}:host ::ng-deep .p-md-offset-1{margin-left:3.333333%}:host ::ng-deep .p-autocomplete-panel{width:400px!important}:host ::ng-deep ion-button{text-transform:none}:host ::ng-deep .flex-container{display:inline-flex;width:-moz-fit-content;width:fit-content}:host ::ng-deep .flex-child:first-child{margin-top:3px}:host ::ng-deep .p-button.p-button-icon-only.p-button-rounded{border-radius:50%;height:2rem}:host ::ng-deep .p-autocomplete-dd .p-autocomplete-input{flex:1 1 auto}:host ::ng-deep p-selectbutton.ng-dirty.ng-invalid>.p-selectbutton>.p-button{border:.5px solid red!important}:host ::ng-deep .p-calendar .p-inputtext{width:100%!important}.p-autocomplete-panel{width:auto!important}@media screen and (max-width: 40rem){.p-autocomplete-panel{width:-moz-fit-content!important;width:fit-content!important}}ion-button{text-transform:none}h5{font-size:22px!important}.mat-error{color:#b00020!important}\n"] }]
217
203
  }], () => [{ type: i1.QuestionService }, { type: i2.UtilService }, { type: i3.LoggerService }, { type: i4.QuestionnaireService }, { type: i5.LoginService }, { type: i6.ValidationService }, { type: i7.ActivatedRoute }], { questionnaire: [{
218
204
  type: ViewChild,
219
205
  args: ['questionnaire']
@@ -278,5 +264,5 @@ export class RenderQuestionnairePage extends BasePage {
278
264
  }], readOnlyFields: [{
279
265
  type: Input
280
266
  }] }); })();
281
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RenderQuestionnairePage, { className: "RenderQuestionnairePage", filePath: "lib\\components\\questionnaire\\render-questionnaire\\render-questionnaire.page.ts", lineNumber: 22 }); })();
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXF1ZXN0aW9ubmFpcmUucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9yZW5kZXItcXVlc3Rpb25uYWlyZS9yZW5kZXItcXVlc3Rpb25uYWlyZS5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQTRCLFNBQVMsRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEssT0FBTyxFQUFFLGVBQWUsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFLdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0lDRm5ELDhCQUFxRDtJQUNqRCxpQ0FBdUM7SUFDM0MsaUJBQU07OztJQUlFLDhCQUFxRDtJQUNqRCxpQ0FBdUM7SUFDM0MsaUJBQU07Ozs7SUFDTiwyQkFBdUQsMEJBQUE7SUFHUyxnTkFBZSxlQUFBLDRCQUFxQixDQUFBLElBQUMsaU1BQy9FLGVBQUEsdUJBQWdCLENBQUEsSUFEK0QsMkxBR2xGLGVBQUEsMEJBQW1CLENBQUEsSUFIK0Q7OztJQUtqRyxpQkFBbUIsRUFBQTs7O0lBUEQsZUFBZ0M7SUFBaEMsb0VBQWdDLGtGQUFBLHlDQUFBLDZCQUFBLHlDQUFBLHFCQUFBLDZCQUFBLGlDQUFBLGlDQUFBLHFDQUFBLDZCQUFBLGlDQUFBLCtCQUFBLHlDQUFBOzs7SUFQOUQsNkJBQXlDO0lBRXJD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ZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uU2VydmljZSB9IGZyb20gJy4vLi4vcXVlc3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQmFzZSB9IGZyb20gJy4vLi4vcXVlc3Rpb24tYmFzZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi8uLi9wYWdlcy9CYXNlUGFnZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS92YWxpZGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2FkZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0xvYWRlck1vZGVsJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLy4uL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJ3JlbmRlci1xdWVzdGlvbm5haXJlLnBhZ2UuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBzZWxlY3RvcjogJ2FwcC1xdWVzdGlvbm5haXJlJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZW5kZXItcXVlc3Rpb25uYWlyZS5wYWdlLnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVuZGVyUXVlc3Rpb25uYWlyZVBhZ2UgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQFZpZXdDaGlsZCgncXVlc3Rpb25uYWlyZScpIHF1ZXN0aW9ubmFpcmUgOiBEeW5hbWljRm9ybUNvbXBvbmVudDsgXHJcbiAgZ2V0IGludmFsaWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5xdWVzdGlvbm5haXJlLmludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBxdWVzdGlvbnMkOiBCZWhhdmlvclN1YmplY3Q8UXVlc3Rpb25CYXNlPGFueT5bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gIGZvclNjcmVlblF1ZXN0aW9ubmFpcmVCczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICBlbmFibGVCYWNrQnV0dG9uQnM6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgXHJcbiAgcHVibGljIHNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBsb2FkZXJNb2RlbCA6IExvYWRlck1vZGVsO1xyXG4gIHB1YmxpYyBjYWxsZWRMb2FkZXJTZXJ2aWNlPWZhbHNlO1xyXG4gIHB1YmxpYyBibG9ja1VpIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGF1dG9TYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtZmFSZXF1aXJlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBiYWNrQnV0dG9uUGFnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG5leHRCdXR0b25QYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGFnZVR5cGU6IHN0cmluZztcclxuICBASW5wdXQoKSBxdWVyeU1vZGVsOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbDtcclxuICBASW5wdXQoKSBsb2FkZXJTZXJ2aWNlOnN0cmluZztcclxuICBAT3V0cHV0KCkgbW9kZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIG9uQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTG9hZENvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICBASW5wdXQoKSBmb3JtRGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIGR5bmFtaWNQYXJhbTogYW55O1xyXG4gIEBJbnB1dCgpIGhpZGVIZWFkZXIgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZUZvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uTnVtYmVyOiBudW1iZXIgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBzaXplWHMgOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2l6ZVNtIDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNpemVNZCA6IG51bWJlcjtcclxuICBASW5wdXQoKSBzaXplTGcgOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2l6ZVhsIDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBvZmZzZXRYcyA6IG51bWJlcjtcclxuICBASW5wdXQoKSBvZmZzZXRTbSA6IG51bWJlcjtcclxuICBASW5wdXQoKSBvZmZzZXRNZCA6IG51bWJlcjtcclxuICBASW5wdXQoKSBvZmZzZXRMZyA6IG51bWJlcjtcclxuICBASW5wdXQoKSBvZmZzZXRYbCA6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHk6IEJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBtdWx0aU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSByZWFkT25seUZpZWxkczogc3RyaW5nW107XHJcbiAgIFxyXG4gIGlkZW50aWZpZXI6IHN0cmluZyA9IFwiXCI7XHJcbiAgc3NuOiBzdHJpbmcgPVwiXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBRdWVzdGlvblNlcnZpY2UsIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHVibGljIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcclxuICAgIHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwdWJsaWMgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlLHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzLnJlYWRPbmx5RmllbGRzPy5jdXJyZW50VmFsdWUpe1xyXG4gICAgICB0aGlzLnJlYWRPbmx5RmllbGRzID0gY2hhbmdlcy5yZWFkT25seUZpZWxkcy5jdXJyZW50VmFsdWU7XHJcbiAgICB9IGVsc2UgaWYoY2hhbmdlcy5yZWFkT25seUZpZWxkcz8ucHJldmlvdXNWYWx1ZSAmJiBjaGFuZ2VzLnJlYWRPbmx5RmllbGRzLmN1cnJlbnRWYWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucmVhZE9ubHlGaWVsZHMgPSBjaGFuZ2VzLnJlYWRPbmx5RmllbGRzLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBsZXRlKGV2ZW50KXtcclxuICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgbGV0IHN0cktleSA9IFtdO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtTWFwLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICBzdHJLZXkgPSBbXSA9IHBhcmFtcy5rZXlzO1xyXG4gICAgICB0aGlzLmlkZW50aWZpZXIgPSBwYXJhbXMuZ2V0KCdpZGVudGlmaWVyJylcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXR1cFFlTG9hZGVyKCk7XHJcbiAgfVxyXG5cclxuICBzZXR1cFFlTG9hZGVyKCkge1xyXG4gICAgaWYgKHRoaXMucXVlcnlNb2RlbCAmJiB0aGlzLnBhZ2VUeXBlID09ICdQT1BVUCcpIHtcclxuICAgICAgdGhpcy5sb2FkUXVlc3Rpb25uYWlyZSh0aGlzLnF1ZXJ5TW9kZWwpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnF1ZXJ5TW9kZWwgJiYgIXRoaXMuYXV0b1NhdmUpIHtcclxuICAgICAgdGhpcy5sb2FkUXVlc3Rpb25uYWlyZSh0aGlzLnF1ZXJ5TW9kZWwpO1xyXG4gICAgfWVsc2Uge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uuc2VhcmNoQnMubmV4dCh0aGlzLnF1ZXJ5TW9kZWwpO1xyXG4gICAgICB0aGlzLmxvYWRRdWVzdGlvbm5haXJlKHRoaXMucXVlcnlNb2RlbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkUXVlc3Rpb25uYWlyZShxdWVyeU1vZGVsOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCkge1xyXG4gICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSB0cnVlO1xyXG5cclxuICAgIGlmKHF1ZXJ5TW9kZWwuaXNTY3JlZW5RdWVzdGlvbm5haXJlKXtcclxuICAgICAgcXVlcnlNb2RlbC51dWlkID0gdGhpcy5pZGVudGlmaWVyO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzdWJzY3JpcHRpb24gPSBxdWVyeU1vZGVsLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSBcclxuICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc2VydmljZS5nZXRTY3JlZW5RdWVzdGlvbnMocXVlcnlNb2RlbCkgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnNlcnZpY2UuZ2V0UXVlc3Rpb25zKHF1ZXJ5TW9kZWwpO1xyXG5cclxuICAgIHN1YnNjcmlwdGlvbi5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgaWYocmVzWydyZXNwb25zZUpzb24nXSAmJiBPYmplY3Qua2V5cyhyZXNbJ3Jlc3BvbnNlSnNvbiddKS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgIHRoaXMuZm9ybURhdGEgPSByZXNbJ3Jlc3BvbnNlSnNvbiddO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnF1ZXN0aW9ucyQubmV4dChbcmVzWydxdWVzdGlvbm5haXJlSnNvbiddXSk7XHJcbiAgICAgICAgdGhpcy5mb3JTY3JlZW5RdWVzdGlvbm5haXJlQnMubmV4dChxdWVyeU1vZGVsLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSk7XHJcbiAgICAgICAgdGhpcy5lbmFibGVCYWNrQnV0dG9uQnMubmV4dChyZXNbJ2VuYWJsZUJhY2tCdXR0b24nXSk7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJyBSZW5kZXIgUXVlc3Rpb25uYWlyZSBQYWdlICAgICAnLCByZXNbJ3F1ZXN0aW9ubmFpcmVKc29uJ10pO1xyXG4gICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiZmxvd0tleVwiLCByZXNbJ3F1ZXN0aW9ubmFpcmVJZCddKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZmxvd0tleVwiKSk7XHJcbiAgICAgICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJmbG93S2V5XCIpID09ICczNDUnKXtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkaXNhYmxlRmllbGRzT25TaWdudXAnLCAndHJ1ZScpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZGlzYWJsZUZpZWxkc09uU2lnbnVwJywgJ2ZhbHNlJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9uTG9hZENvbXBsZXRlLmVtaXQodHJ1ZSk7XHJcbiAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ1JlbmRlciBRdWVzdGlvbm5haXJlIFBhZ2UgRXJyb3InLCBlcnIpO1xyXG4gICAgICAgIHRoaXMub25Mb2FkQ29tcGxldGUuZW1pdChmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb25Nb2RlbENhbmNlbChjYW5jZWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubW9kZWxDYW5jZWwuZW1pdChjYW5jZWwpO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0KCl7XHJcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmUuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldERpcnR5SXRlbXMoKXtcclxuICAgIHJldHVybiB0aGlzLnF1ZXN0aW9ubmFpcmUuZ2V0RGlydHlJdGVtcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGlydHlJdGVtc1dpdGhWYWx1ZXMoKXtcclxuICAgIHJldHVybiB0aGlzLnF1ZXN0aW9ubmFpcmUuZ2V0RGlydHlJdGVtc1dpdGhWYWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIHBheW1lbnREZXRhaWxzQ2hhbmdlRXJyb3IoKXtcclxuICAgIHJldHVybiB0aGlzLnF1ZXN0aW9ubmFpcmUucGF5bWVudERldGFpbHNDaGFuZ2VFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3Ipe1xyXG4gICAgdGhpcy5vbkVycm9yLmVtaXQoZXJyb3IpO1xyXG4gIH1cclxufSIsIjxwLWJsb2NrVUkgW2Jsb2NrZWRdPVwiYmxvY2tVaVwiPlxyXG4gICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICBMb2FkaW5nLi4uXHJcbjwvcC1ibG9ja1VJPlxyXG48ZGl2ICpuZ0lmPVwic2hvd0xvYWRlclRoZW1lXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbjwvZGl2PlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVR5cGU9PT0nUE9QVVAnXCI+XHJcblxyXG4gICAgPHAtZGlhbG9nIHZpc2libGU9XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgbW9kYWw9XCJ0cnVlXCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0xvYWRlclRoZW1lXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dMb2FkZXJUaGVtZSAmJiBxdWVzdGlvbnMkLmdldFZhbHVlKClcIj5cclxuICAgICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0gW3F1ZXN0aW9uc109XCJxdWVzdGlvbnMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgW2ZvclNjcmVlblF1ZXN0aW9ubmFpcmVdPVwiZm9yU2NyZWVuUXVlc3Rpb25uYWlyZUJzIHwgYXN5bmNcIiBbYmFja0J1dHRvblBhZ2VdPVwiYmFja0J1dHRvblBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCIgW25leHRCdXR0b25QYWdlXT1cIm5leHRCdXR0b25QYWdlXCIgKG1vZGVsQ2FuY2VsKT1cIm9uTW9kZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAob25Db21wbGV0ZSk9XCJjb21wbGV0ZSgkZXZlbnQpXCIgW2RhdGFdPVwiZGF0YVwiIFthdXRvU2F2ZV09XCJhdXRvU2F2ZVwiIFtxdWVyeU1vZGVsXT1cInF1ZXJ5TW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgW2hpZGVGb290ZXJdPVwiaGlkZUZvb3RlclwiIFtkeW5hbWljUGFyYW1dPVwiZHluYW1pY1BhcmFtXCIgW2Zvcm1EYXRhXT1cImZvcm1EYXRhXCJcclxuICAgICAgICAgICAgICAgIChvbkVycm9yKT1cImhhbmRsZUVycm9yKCRldmVudClcIiBbZm9ybVJlYWRPbmx5XT1cInJlYWRvbmx5XCIgW211bHRpTW9kZV09XCJtdWx0aU1vZGVcIiBcclxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbk51bWJlcl09XCJxdWVzdGlvbk51bWJlclwiPlxyXG4gICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9wLWRpYWxvZz5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVR5cGUhPSdQT1BVUCdcIj5cclxuICAgIDxkaXYgKm5nSWY9XCIhc2hvd0xvYWRlclRoZW1lICYmIHF1ZXN0aW9ucyQuZ2V0VmFsdWUoKVwiPlxyXG4gICAgICAgIDxhcHAtZHluYW1pYy1mb3JtICNxdWVzdGlvbm5haXJlIFtxdWVzdGlvbnNdPVwicXVlc3Rpb25zJCB8IGFzeW5jXCIgKG1vZGVsQ2FuY2VsKT1cIm9uTW9kZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmb3JTY3JlZW5RdWVzdGlvbm5haXJlXT1cImZvclNjcmVlblF1ZXN0aW9ubmFpcmVCcyB8IGFzeW5jXCIgW2JhY2tCdXR0b25QYWdlXT1cImJhY2tCdXR0b25QYWdlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCIgW25leHRCdXR0b25QYWdlXT1cIm5leHRCdXR0b25QYWdlXCIgW2Zvcm1EYXRhXT1cImxvYWRlck1vZGVsID8gbG9hZGVyTW9kZWwuZGF0YSA6IGZvcm1EYXRhXCJcclxuICAgICAgICAgICAgW3JlYWRPbmx5RmllbGRzXT1cImxvYWRlck1vZGVsID8gbG9hZGVyTW9kZWwuZGlzYWJsZUNvbnRyb2xOYW1lcyA6IHJlYWRPbmx5RmllbGRzXCIgKG9uQ29tcGxldGUpPVwiY29tcGxldGUoJGV2ZW50KVwiIFthdXRvU2F2ZV09XCJhdXRvU2F2ZVwiIFxyXG4gICAgICAgICAgICBbcXVlcnlNb2RlbF09XCJxdWVyeU1vZGVsXCIgW2hpZGVGb290ZXJdPVwiaGlkZUZvb3RlclwiIFtkeW5hbWljUGFyYW1dPVwiZHluYW1pY1BhcmFtXCJcclxuICAgICAgICAgICAgW3NpemVYc109XCJzaXplWHNcIiBbc2l6ZVNtXT1cInNpemVTbVwiIFtzaXplTWRdPVwic2l6ZU1kXCIgW3NpemVMZ109XCJzaXplTGdcIiBbc2l6ZVhsXT1cInNpemVYbFwiIFxyXG4gICAgICAgICAgICBbb2Zmc2V0WHNdPVwib2Zmc2V0WHNcIiBbb2Zmc2V0U21dPVwib2Zmc2V0U21cIiBbb2Zmc2V0TWRdPVwib2Zmc2V0TWRcIiBbb2Zmc2V0TGddPVwib2Zmc2V0TGdcIiBbb2Zmc2V0WGxdPVwib2Zmc2V0WGxcIlxyXG4gICAgICAgICAgICAob25FcnJvcik9XCJoYW5kbGVFcnJvcigkZXZlbnQpXCIgW21mYVJlcXVpcmVkXT1cIm1mYVJlcXVpcmVkXCIgW2Zvcm1SZWFkT25seV09XCJyZWFkb25seVwiIFttdWx0aU1vZGVdPVwibXVsdGlNb2RlXCIgXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbk51bWJlcl09XCJxdWVzdGlvbk51bWJlclwiIFtsb2FkZXJTZXJ2aWNlXT1cImxvYWRlclNlcnZpY2VcIiBbaXNFbmFibGVCYWNrQnV0dG9uXT1cImVuYWJsZUJhY2tCdXR0b25CcyB8IGFzeW5jXCI+XHJcbiAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPiJdfQ==
267
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RenderQuestionnairePage, { className: "RenderQuestionnairePage", filePath: "lib\\components\\questionnaire\\render-questionnaire\\render-questionnaire.page.ts", lineNumber: 23 }); })();
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXF1ZXN0aW9ubmFpcmUucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9yZW5kZXItcXVlc3Rpb25uYWlyZS9yZW5kZXItcXVlc3Rpb25uYWlyZS5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQTRCLFNBQVMsRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEssT0FBTyxFQUFFLGVBQWUsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ0ZuRCw4QkFBcUQ7SUFDakQsaUNBQXVDO0lBQzNDLGlCQUFNOzs7SUFJRSw4QkFBcUQ7SUFDakQsaUNBQXVDO0lBQzNDLGlCQUFNOzs7O0lBQ04sMkJBQXVELDBCQUFBO0lBR1MsZ05BQWUsZUFBQSw0QkFBcUIsQ0FBQSxJQUFDLGlNQUMvRSxlQUFBLHVCQUFnQixDQUFBLElBRCtELDJMQUdsRixlQUFBLDBCQUFtQixDQUFBLElBSCtEOzs7SUFLakcsaUJBQW1CLEVBQUE7OztJQVBELGVBQWdDO0lBQWhDLG9FQUFnQyxrRkFBQSx5Q0FBQSw2QkFBQSx5Q0FBQSxxQkFBQSw2QkFBQSxpQ0FBQSxpQ0FBQSxxQ0FBQSw2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QUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQ0csVUFBVTtrQkFBbkIsTUFBTTtZQUNHLE9BQU87a0JBQWhCLE1BQU07WUFDRyxjQUFjO2tCQUF2QixNQUFNO1lBQ0UsSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFFRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFFRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSzs7a0ZBN0NLLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUXVlc3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi8uLi9xdWVzdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXN0aW9uQmFzZSB9IGZyb20gJy4vLi4vcXVlc3Rpb24tYmFzZSc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsJztcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi8uLi9wYWdlcy9CYXNlUGFnZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExvYWRlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvTG9hZGVyTW9kZWwnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLy4uL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICdyZW5kZXItcXVlc3Rpb25uYWlyZS5wYWdlLmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzZWxlY3RvcjogJ2FwcC1xdWVzdGlvbm5haXJlJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVuZGVyLXF1ZXN0aW9ubmFpcmUucGFnZS5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1F1ZXN0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgUmVuZGVyUXVlc3Rpb25uYWlyZVBhZ2UgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBAVmlld0NoaWxkKCdxdWVzdGlvbm5haXJlJykgcXVlc3Rpb25uYWlyZSA6IER5bmFtaWNGb3JtQ29tcG9uZW50O1xuXG4gIHF1ZXN0aW9ucyQ6IEJlaGF2aW9yU3ViamVjdDxRdWVzdGlvbkJhc2U8YW55PltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIGZvclNjcmVlblF1ZXN0aW9ubmFpcmVCczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgZW5hYmxlQmFja0J1dHRvbkJzOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwb3RlbnRpYWxJc3N1ZUlkQnM6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBwdWJsaWMgc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gIHB1YmxpYyBsb2FkZXJNb2RlbCA6IExvYWRlck1vZGVsO1xuICBwdWJsaWMgY2FsbGVkTG9hZGVyU2VydmljZT1mYWxzZTtcbiAgcHVibGljIGJsb2NrVWkgOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGF1dG9TYXZlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbWZhUmVxdWlyZWQgOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGJhY2tCdXR0b25QYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5leHRCdXR0b25QYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhZ2VUeXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHF1ZXJ5TW9kZWw6IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsO1xuICBASW5wdXQoKSBsb2FkZXJTZXJ2aWNlOnN0cmluZztcbiAgQE91dHB1dCgpIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgb25Db21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvYWRDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgZGF0YTogYW55O1xuICBASW5wdXQoKSBmb3JtRGF0YTogYW55O1xuICBASW5wdXQoKSBkeW5hbWljUGFyYW06IGFueTtcbiAgQElucHV0KCkgaGlkZUhlYWRlciA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaGlkZUZvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBxdWVzdGlvbk51bWJlcjogbnVtYmVyID0gbnVsbDtcblxuICBASW5wdXQoKSBzaXplWHMgOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNpemVTbSA6IG51bWJlcjtcbiAgQElucHV0KCkgc2l6ZU1kIDogbnVtYmVyO1xuICBASW5wdXQoKSBzaXplTGcgOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNpemVYbCA6IG51bWJlcjtcblxuICBASW5wdXQoKSBvZmZzZXRYcyA6IG51bWJlcjtcbiAgQElucHV0KCkgb2Zmc2V0U20gOiBudW1iZXI7XG4gIEBJbnB1dCgpIG9mZnNldE1kIDogbnVtYmVyO1xuICBASW5wdXQoKSBvZmZzZXRMZyA6IG51bWJlcjtcbiAgQElucHV0KCkgb2Zmc2V0WGwgOiBudW1iZXI7XG5cbiAgQElucHV0KCkgcmVhZG9ubHk6IEJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbXVsdGlNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRPbmx5RmllbGRzOiBzdHJpbmdbXTtcbiAgIFxuICBpZGVudGlmaWVyOiBzdHJpbmcgPSBcIlwiO1xuICBzc246IHN0cmluZyA9XCJcIjtcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IFF1ZXN0aW9uU2VydmljZSwgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwdWJsaWMgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlLHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYoY2hhbmdlcy5yZWFkT25seUZpZWxkcz8uY3VycmVudFZhbHVlKXtcbiAgICAgIHRoaXMucmVhZE9ubHlGaWVsZHMgPSBjaGFuZ2VzLnJlYWRPbmx5RmllbGRzLmN1cnJlbnRWYWx1ZTtcbiAgICB9IGVsc2UgaWYoY2hhbmdlcy5yZWFkT25seUZpZWxkcz8ucHJldmlvdXNWYWx1ZSAmJiBjaGFuZ2VzLnJlYWRPbmx5RmllbGRzLmN1cnJlbnRWYWx1ZSA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlYWRPbmx5RmllbGRzID0gY2hhbmdlcy5yZWFkT25seUZpZWxkcy5jdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGUoZXZlbnQpe1xuICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGxldCBzdHJLZXkgPSBbXTtcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnF1ZXJ5UGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBzdHJLZXkgPSBbXSA9IHBhcmFtcy5rZXlzO1xuICAgICAgdGhpcy5pZGVudGlmaWVyID0gcGFyYW1zLmdldCgnaWRlbnRpZmllcicpXG4gICAgfSk7XG4gICAgdGhpcy5zZXR1cFFlTG9hZGVyKCk7XG4gIH1cblxuICBzZXR1cFFlTG9hZGVyKCkge1xuICAgIGlmICh0aGlzLnF1ZXJ5TW9kZWwgJiYgdGhpcy5wYWdlVHlwZSA9PSAnUE9QVVAnKSB7XG4gICAgICB0aGlzLmxvYWRRdWVzdGlvbm5haXJlKHRoaXMucXVlcnlNb2RlbCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnF1ZXJ5TW9kZWwgJiYgIXRoaXMuYXV0b1NhdmUpIHtcbiAgICAgIHRoaXMubG9hZFF1ZXN0aW9ubmFpcmUodGhpcy5xdWVyeU1vZGVsKTtcbiAgICB9ZWxzZSB7XG4gICAgICAvL3RoaXMuc2VydmljZS5zZWFyY2hCcy5uZXh0KHRoaXMucXVlcnlNb2RlbCk7XG4gICAgICB0aGlzLmxvYWRRdWVzdGlvbm5haXJlKHRoaXMucXVlcnlNb2RlbCk7XG4gICAgfVxuICB9XG5cbiAgbG9hZFF1ZXN0aW9ubmFpcmUocXVlcnlNb2RlbDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwpIHtcbiAgICB0aGlzLnNob3dMb2FkZXJUaGVtZSA9IHRydWU7XG5cbiAgICBpZihxdWVyeU1vZGVsLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSl7XG4gICAgICBxdWVyeU1vZGVsLnV1aWQgPSB0aGlzLmlkZW50aWZpZXI7XG4gICAgfVxuXG4gICAgbGV0IHN1YnNjcmlwdGlvbiA9IHF1ZXJ5TW9kZWwuaXNTY3JlZW5RdWVzdGlvbm5haXJlIFxuICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc2VydmljZS5nZXRTY3JlZW5RdWVzdGlvbnMocXVlcnlNb2RlbCkgXG4gICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5zZXJ2aWNlLmdldFF1ZXN0aW9ucyhxdWVyeU1vZGVsKTtcblxuICAgIHN1YnNjcmlwdGlvbi5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRW50aXJlIHJlc3BvbnNlIGZyb20gcmVuZGVyIHF1ZXN0aW9ubmFpcmUgcGFnZSA9ICcsIHJlcyk7XG4gICAgICAgIGlmKHJlc1sncmVzcG9uc2VKc29uJ10gJiYgT2JqZWN0LmtleXMocmVzWydyZXNwb25zZUpzb24nXSkubGVuZ3RoID4gMCl7XG4gICAgICAgICAgdGhpcy5mb3JtRGF0YSA9IHJlc1sncmVzcG9uc2VKc29uJ107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5xdWVzdGlvbnMkLm5leHQoW3Jlc1sncXVlc3Rpb25uYWlyZUpzb24nXV0pO1xuICAgICAgICB0aGlzLmZvclNjcmVlblF1ZXN0aW9ubmFpcmVCcy5uZXh0KHF1ZXJ5TW9kZWwuaXNTY3JlZW5RdWVzdGlvbm5haXJlKTtcbiAgICAgICAgdGhpcy5lbmFibGVCYWNrQnV0dG9uQnMubmV4dChyZXNbJ2VuYWJsZUJhY2tCdXR0b24nXSk7XG4gICAgICAgIHRoaXMucG90ZW50aWFsSXNzdWVJZEJzLm5leHQocmVzWydwb3RlbnRpYWxJc3N1ZUlkJ10pO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnIFJlbmRlciBRdWVzdGlvbm5haXJlIFBhZ2UgSlNPTiA9ICcsIHJlc1sncXVlc3Rpb25uYWlyZUpzb24nXSk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCcgUmVuZGVyIFF1ZXN0aW9ubmFpcmUgUGFnZSBQb3RlbnRpYWwgSXNzdWUgSWQgPSAnLCByZXNbJ3BvdGVudGlhbElzc3VlSWQnXSk7XG4gICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25Mb2FkQ29tcGxldGUuZW1pdCh0cnVlKTtcbiAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ1JlbmRlciBRdWVzdGlvbm5haXJlIFBhZ2UgRXJyb3InLCBlcnIpO1xuICAgICAgICB0aGlzLm9uTG9hZENvbXBsZXRlLmVtaXQoZmFsc2UpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuXG4gIG9uTW9kZWxDYW5jZWwoY2FuY2VsOiBib29sZWFuKSB7XG4gICAgdGhpcy5tb2RlbENhbmNlbC5lbWl0KGNhbmNlbCk7XG4gIH1cblxuICBzdWJtaXQoKXtcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIGhhbmRsZUVycm9yKGVycm9yKXtcbiAgICB0aGlzLm9uRXJyb3IuZW1pdChlcnJvcik7XG4gIH1cbn0iLCI8cC1ibG9ja1VJIFtibG9ja2VkXT1cImJsb2NrVWlcIj5cclxuICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgTG9hZGluZy4uLlxyXG48L3AtYmxvY2tVST5cclxuPGRpdiAqbmdJZj1cInNob3dMb2FkZXJUaGVtZVwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG48L2Rpdj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VUeXBlPT09J1BPUFVQJ1wiPlxyXG5cclxuICAgIDxwLWRpYWxvZyB2aXNpYmxlPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIG1vZGFsPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dMb2FkZXJUaGVtZVwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93TG9hZGVyVGhlbWUgJiYgcXVlc3Rpb25zJC5nZXRWYWx1ZSgpXCI+XHJcbiAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtIFtxdWVzdGlvbnNdPVwicXVlc3Rpb25zJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgICAgIFtmb3JTY3JlZW5RdWVzdGlvbm5haXJlXT1cImZvclNjcmVlblF1ZXN0aW9ubmFpcmVCcyB8IGFzeW5jXCIgW2JhY2tCdXR0b25QYWdlXT1cImJhY2tCdXR0b25QYWdlXCJcclxuICAgICAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiIFtuZXh0QnV0dG9uUGFnZV09XCJuZXh0QnV0dG9uUGFnZVwiIChtb2RlbENhbmNlbCk9XCJvbk1vZGVsQ2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ29tcGxldGUpPVwiY29tcGxldGUoJGV2ZW50KVwiIFtkYXRhXT1cImRhdGFcIiBbYXV0b1NhdmVdPVwiYXV0b1NhdmVcIiBbcXVlcnlNb2RlbF09XCJxdWVyeU1vZGVsXCJcclxuICAgICAgICAgICAgICAgIFtoaWRlRm9vdGVyXT1cImhpZGVGb290ZXJcIiBbZHluYW1pY1BhcmFtXT1cImR5bmFtaWNQYXJhbVwiIFtmb3JtRGF0YV09XCJmb3JtRGF0YVwiXHJcbiAgICAgICAgICAgICAgICAob25FcnJvcik9XCJoYW5kbGVFcnJvcigkZXZlbnQpXCIgW2Zvcm1SZWFkT25seV09XCJyZWFkb25seVwiIFttdWx0aU1vZGVdPVwibXVsdGlNb2RlXCIgXHJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25OdW1iZXJdPVwicXVlc3Rpb25OdW1iZXJcIj5cclxuICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvcC1kaWFsb2c+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VUeXBlIT0nUE9QVVAnXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIXNob3dMb2FkZXJUaGVtZSAmJiBxdWVzdGlvbnMkLmdldFZhbHVlKClcIj5cclxuICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybSAjcXVlc3Rpb25uYWlyZSBbcXVlc3Rpb25zXT1cInF1ZXN0aW9ucyQgfCBhc3luY1wiIChtb2RlbENhbmNlbCk9XCJvbk1vZGVsQ2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZm9yU2NyZWVuUXVlc3Rpb25uYWlyZV09XCJmb3JTY3JlZW5RdWVzdGlvbm5haXJlQnMgfCBhc3luY1wiIFtiYWNrQnV0dG9uUGFnZV09XCJiYWNrQnV0dG9uUGFnZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiIFtuZXh0QnV0dG9uUGFnZV09XCJuZXh0QnV0dG9uUGFnZVwiIFtmb3JtRGF0YV09XCJsb2FkZXJNb2RlbCA/IGxvYWRlck1vZGVsLmRhdGEgOiBmb3JtRGF0YVwiXHJcbiAgICAgICAgICAgIFtyZWFkT25seUZpZWxkc109XCJsb2FkZXJNb2RlbCA/IGxvYWRlck1vZGVsLmRpc2FibGVDb250cm9sTmFtZXMgOiByZWFkT25seUZpZWxkc1wiIChvbkNvbXBsZXRlKT1cImNvbXBsZXRlKCRldmVudClcIiBbYXV0b1NhdmVdPVwiYXV0b1NhdmVcIiBcclxuICAgICAgICAgICAgW3F1ZXJ5TW9kZWxdPVwicXVlcnlNb2RlbFwiIFtoaWRlRm9vdGVyXT1cImhpZGVGb290ZXJcIiBbZHluYW1pY1BhcmFtXT1cImR5bmFtaWNQYXJhbVwiXHJcbiAgICAgICAgICAgIFtzaXplWHNdPVwic2l6ZVhzXCIgW3NpemVTbV09XCJzaXplU21cIiBbc2l6ZU1kXT1cInNpemVNZFwiIFtzaXplTGddPVwic2l6ZUxnXCIgW3NpemVYbF09XCJzaXplWGxcIiBcclxuICAgICAgICAgICAgW29mZnNldFhzXT1cIm9mZnNldFhzXCIgW29mZnNldFNtXT1cIm9mZnNldFNtXCIgW29mZnNldE1kXT1cIm9mZnNldE1kXCIgW29mZnNldExnXT1cIm9mZnNldExnXCIgW29mZnNldFhsXT1cIm9mZnNldFhsXCJcclxuICAgICAgICAgICAgKG9uRXJyb3IpPVwiaGFuZGxlRXJyb3IoJGV2ZW50KVwiIFttZmFSZXF1aXJlZF09XCJtZmFSZXF1aXJlZFwiIFtmb3JtUmVhZE9ubHldPVwicmVhZG9ubHlcIiBbbXVsdGlNb2RlXT1cIm11bHRpTW9kZVwiIFxyXG4gICAgICAgICAgICBbcXVlc3Rpb25OdW1iZXJdPVwicXVlc3Rpb25OdW1iZXJcIiBbbG9hZGVyU2VydmljZV09XCJsb2FkZXJTZXJ2aWNlXCIgW2lzRW5hYmxlQmFja0J1dHRvbl09XCJlbmFibGVCYWNrQnV0dG9uQnMgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIFtwb3RlbnRpYWxJc3N1ZUlkQnNdPVwicG90ZW50aWFsSXNzdWVJZEJzIHwgYXN5bmNcIj5cclxuICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+Il19