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

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 +1324 -2394
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +105 -159
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +53 -59
  4. package/esm2022/lib/components/address/address.component.mjs +152 -287
  5. package/esm2022/lib/components/bank-details/bank-details.component.mjs +219 -79
  6. package/esm2022/lib/components/contact-us/contact-us.component.mjs +43 -17
  7. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +9 -3
  8. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +4 -32
  9. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +15 -30
  10. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  11. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  12. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  13. package/esm2022/lib/components/email-update/email-update.component.mjs +140 -63
  14. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +574 -422
  15. package/esm2022/lib/components/error/error.component.mjs +5 -22
  16. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  17. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +49 -178
  18. package/esm2022/lib/components/footer/footer.component.mjs +101 -112
  19. package/esm2022/lib/components/header/header.component.mjs +174 -440
  20. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +36 -25
  21. package/esm2022/lib/components/info/info.component.mjs +12 -4
  22. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
  23. package/esm2022/lib/components/job-title/job-title.component.mjs +97 -92
  24. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +513 -143
  25. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
  26. package/esm2022/lib/components/link/link.component.mjs +1 -1
  27. package/esm2022/lib/components/menu/menu.component.mjs +100 -68
  28. package/esm2022/lib/components/mfa/mfa.component.mjs +288 -158
  29. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
  30. package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
  31. package/esm2022/lib/components/money-expect/money-expect.component.mjs +54 -158
  32. package/esm2022/lib/components/profile/profile.component.mjs +353 -749
  33. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +38 -108
  34. package/esm2022/lib/components/questionnaire/AppValidators.mjs +47 -296
  35. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +65 -110
  36. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +173 -377
  37. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +95 -76
  38. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1153 -877
  39. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +699 -208
  40. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +22 -28
  41. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +41 -128
  42. package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
  43. package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
  44. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +29 -15
  45. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +237 -497
  46. package/esm2022/lib/components/search-employer/search-employer.component.mjs +30 -155
  47. package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
  48. package/esm2022/lib/components/select/select.component.mjs +10 -5
  49. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  50. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
  51. package/esm2022/lib/components/user-login/user-login.component.mjs +360 -139
  52. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +387 -655
  53. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +61 -125
  54. package/esm2022/lib/guards/auth.guard.mjs +2 -50
  55. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  56. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
  57. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  58. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  59. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  60. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  61. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  62. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  63. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  64. package/esm2022/lib/models/LibConstants.mjs +6 -45
  65. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  66. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  67. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  68. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  69. package/esm2022/lib/models/UserModel.mjs +1 -1
  70. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  71. package/esm2022/lib/models/dependent.model.mjs +1 -1
  72. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  73. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
  74. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  75. package/esm2022/lib/models/questionnaire/ComboModel.mjs +653 -96
  76. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  77. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  78. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
  79. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  80. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
  81. package/esm2022/lib/pages/BasePage.mjs +23 -4
  82. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
  83. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
  84. package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
  85. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  86. package/esm2022/lib/pages/common/login/login.component.mjs +13 -7
  87. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  88. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  89. package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
  90. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  91. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
  92. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  93. package/esm2022/lib/services/base-service.mjs +1 -4
  94. package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
  95. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  96. package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
  97. package/esm2022/lib/services/claims/claims.service.mjs +14 -105
  98. package/esm2022/lib/services/help/help.service.mjs +1 -1
  99. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  100. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  101. package/esm2022/lib/services/login/login.service.mjs +14 -29
  102. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  103. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
  104. package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
  105. package/esm2022/lib/services/security-service/security.service.mjs +6 -23
  106. package/esm2022/lib/services/util/util.service.mjs +5 -61
  107. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
  108. package/esm2022/lib/validations/AppRegex.mjs +3 -1
  109. package/esm2022/lib/validations/AppValidators.mjs +62 -78
  110. package/esm2022/public-api.mjs +5 -47
  111. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +26939 -44815
  112. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  113. package/lib/components/add-employer/add-employer.component.d.ts +53 -137
  114. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  115. package/lib/components/add-participant/add-participant.component.d.ts +5 -11
  116. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  117. package/lib/components/add-payment/add-payment.component.d.ts +3 -9
  118. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  119. package/lib/components/address/address.component.d.ts +15 -42
  120. package/lib/components/address/address.component.d.ts.map +1 -1
  121. package/lib/components/bank-details/bank-details.component.d.ts +23 -1
  122. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  123. package/lib/components/contact-us/contact-us.component.d.ts +4 -1
  124. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  125. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  126. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  127. package/lib/components/email-update/email-update.component.d.ts +12 -1
  128. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  129. package/lib/components/employer-grid/employer-grid.component.d.ts +15 -25
  130. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  131. package/lib/components/error/error.component.d.ts +2 -3
  132. package/lib/components/error/error.component.d.ts.map +1 -1
  133. package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
  134. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  135. package/lib/components/footer/footer.component.d.ts.map +1 -1
  136. package/lib/components/header/header.component.d.ts +5 -17
  137. package/lib/components/header/header.component.d.ts.map +1 -1
  138. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
  139. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  140. package/lib/components/job-title/job-title.component.d.ts +23 -22
  141. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  142. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +6 -5
  143. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  144. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  145. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  146. package/lib/components/menu/menu.component.d.ts +12 -3
  147. package/lib/components/menu/menu.component.d.ts.map +1 -1
  148. package/lib/components/mfa/mfa.component.d.ts +19 -7
  149. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  150. package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
  151. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  152. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  153. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  154. package/lib/components/money-expect/money-expect.component.d.ts +4 -15
  155. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  156. package/lib/components/profile/profile.component.d.ts +49 -82
  157. package/lib/components/profile/profile.component.d.ts.map +1 -1
  158. package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
  159. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  160. package/lib/components/questionnaire/AppValidators.d.ts +0 -1
  161. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  162. package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
  163. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  164. package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -7
  165. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  166. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
  167. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  168. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +35 -33
  169. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  170. package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
  171. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  172. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
  173. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  174. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
  175. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  176. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  177. package/lib/components/questionnaire/question.service.d.ts +1 -0
  178. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  179. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
  180. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  181. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -11
  182. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  183. package/lib/components/search-employer/search-employer.component.d.ts +4 -5
  184. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  185. package/lib/components/security-question/security-question.component.d.ts +37 -0
  186. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  187. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
  188. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  189. package/lib/components/user-login/user-login.component.d.ts +38 -5
  190. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  191. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +10 -27
  192. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  193. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
  194. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  195. package/lib/guards/auth.guard.d.ts.map +1 -1
  196. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  197. package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
  198. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  199. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  200. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  201. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  202. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  203. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  204. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  205. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  206. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  207. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  208. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  209. package/lib/models/LibConstants.d.ts +1 -40
  210. package/lib/models/LibConstants.d.ts.map +1 -1
  211. package/lib/models/OtpAuthModel.d.ts +1 -0
  212. package/lib/models/OtpAuthModel.d.ts.map +1 -1
  213. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  214. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  215. package/lib/models/PaymentComponentModel.d.ts +1 -1
  216. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  217. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  218. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  219. package/lib/models/UserModel.d.ts +1 -0
  220. package/lib/models/UserModel.d.ts.map +1 -1
  221. package/lib/models/dashboard-model.d.ts +0 -22
  222. package/lib/models/dashboard-model.d.ts.map +1 -1
  223. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
  224. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  225. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -15
  226. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  227. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
  228. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  229. package/lib/models/questionnaire/ComboModel.d.ts +82 -14
  230. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  231. package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
  232. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  233. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
  234. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  235. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +1 -0
  236. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
  237. package/lib/models/questionnaire/StatusModel.d.ts +0 -1
  238. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  239. package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
  240. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  241. package/lib/pages/BasePage.d.ts +6 -3
  242. package/lib/pages/BasePage.d.ts.map +1 -1
  243. package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
  244. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  245. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  246. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  247. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  248. package/lib/services/base-service.d.ts +0 -12
  249. package/lib/services/base-service.d.ts.map +1 -1
  250. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  251. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  252. package/lib/services/claimant-service/claimant.service.d.ts +6 -5
  253. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  254. package/lib/services/claims/claims.service.d.ts +5 -39
  255. package/lib/services/claims/claims.service.d.ts.map +1 -1
  256. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  257. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  258. package/lib/services/login/login.service.d.ts +3 -5
  259. package/lib/services/login/login.service.d.ts.map +1 -1
  260. package/lib/services/ovp/ovp.service.d.ts +17 -0
  261. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  262. package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
  263. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  264. package/lib/services/questionnaire/validation.service.d.ts +0 -3
  265. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  266. package/lib/services/security-service/security.service.d.ts +4 -12
  267. package/lib/services/security-service/security.service.d.ts.map +1 -1
  268. package/lib/services/util/util.service.d.ts +0 -6
  269. package/lib/services/util/util.service.d.ts.map +1 -1
  270. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
  271. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  272. package/lib/validations/AppRegex.d.ts +2 -0
  273. package/lib/validations/AppRegex.d.ts.map +1 -1
  274. package/lib/validations/AppValidators.d.ts +24 -20
  275. package/lib/validations/AppValidators.d.ts.map +1 -1
  276. package/package.json +2 -2
  277. package/public-api.d.ts +4 -46
  278. package/public-api.d.ts.map +1 -1
  279. package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
  280. package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
  281. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -289
  282. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
  283. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
  284. package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
  285. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
  286. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
  287. package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
  288. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
  289. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
  290. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
  291. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
  292. package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
  293. package/esm2022/lib/components/idme/idme.component.mjs +0 -84
  294. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
  295. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
  296. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
  297. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
  298. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
  299. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -560
  300. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
  301. package/esm2022/lib/components/sms/sms.component.mjs +0 -336
  302. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
  303. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
  304. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
  305. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
  306. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -828
  307. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
  308. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
  309. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
  310. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
  311. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
  312. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
  313. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -690
  314. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
  315. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
  316. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
  317. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
  318. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
  319. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
  320. package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
  321. package/esm2022/lib/models/CountyModel.mjs +0 -3
  322. package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
  323. package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
  324. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
  325. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
  326. package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
  327. package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
  328. package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
  329. package/esm2022/lib/models/HelpConstants.mjs +0 -5
  330. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
  331. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
  332. package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
  333. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
  334. package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
  335. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
  336. package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
  337. package/esm2022/lib/models/WageInfoModel.mjs +0 -4
  338. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
  339. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
  340. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
  341. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
  342. package/esm2022/lib/models/combo-model.mjs +0 -343
  343. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
  344. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
  345. package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
  346. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
  347. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
  348. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
  349. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
  350. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
  351. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
  352. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
  353. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
  354. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
  355. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
  356. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
  357. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
  358. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
  359. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
  360. package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
  361. package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
  362. package/esm2022/lib/services/employer/employer-service.mjs +0 -35
  363. package/esm2022/lib/services/event-service/event-service.mjs +0 -44
  364. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
  365. package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
  366. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
  367. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
  368. package/lib/components/add-wage/add-wage.component.d.ts +0 -30
  369. package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
  370. package/lib/components/address-popup/address-popup.component.d.ts +0 -16
  371. package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
  372. package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
  373. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
  374. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
  375. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
  376. package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
  377. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
  378. package/lib/components/claim-info/claim-info.component.d.ts +0 -49
  379. package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
  380. package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
  381. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
  382. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
  383. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
  384. package/lib/components/employer-info/employer-info.component.d.ts +0 -50
  385. package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
  386. package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
  387. package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
  388. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
  389. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
  390. package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
  391. package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
  392. package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
  393. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
  394. package/lib/components/history-page/history-page.component.d.ts +0 -80
  395. package/lib/components/history-page/history-page.component.d.ts.map +0 -1
  396. package/lib/components/idme/idme.component.d.ts +0 -19
  397. package/lib/components/idme/idme.component.d.ts.map +0 -1
  398. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
  399. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
  400. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
  401. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
  402. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
  403. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
  404. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
  405. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
  406. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
  407. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
  408. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
  409. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
  410. package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
  411. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
  412. package/lib/components/sms/sms.component.d.ts +0 -63
  413. package/lib/components/sms/sms.component.d.ts.map +0 -1
  414. package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
  415. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
  416. package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
  417. package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
  418. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
  419. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
  420. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
  421. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
  422. package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -101
  423. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
  424. package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
  425. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
  426. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
  427. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
  428. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
  429. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
  430. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
  431. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
  432. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
  433. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
  434. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
  435. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
  436. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -71
  437. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
  438. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
  439. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
  440. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
  441. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
  442. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
  443. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
  444. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
  445. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
  446. package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
  447. package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
  448. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
  449. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
  450. package/lib/models/ActiveClaimModel.d.ts +0 -8
  451. package/lib/models/ActiveClaimModel.d.ts.map +0 -1
  452. package/lib/models/CountyModel.d.ts +0 -8
  453. package/lib/models/CountyModel.d.ts.map +0 -1
  454. package/lib/models/DuaAppDataModel.d.ts +0 -5
  455. package/lib/models/DuaAppDataModel.d.ts.map +0 -1
  456. package/lib/models/DuaRequestModel.d.ts +0 -10
  457. package/lib/models/DuaRequestModel.d.ts.map +0 -1
  458. package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
  459. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
  460. package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
  461. package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
  462. package/lib/models/EmployerPayInfoModel.d.ts +0 -20
  463. package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
  464. package/lib/models/FarmUsageComponentModel.d.ts +0 -10
  465. package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
  466. package/lib/models/GrossEarningsModel.d.ts +0 -6
  467. package/lib/models/GrossEarningsModel.d.ts.map +0 -1
  468. package/lib/models/HelpConstants.d.ts +0 -5
  469. package/lib/models/HelpConstants.d.ts.map +0 -1
  470. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
  471. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
  472. package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
  473. package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
  474. package/lib/models/RetroWeeksModel.d.ts +0 -11
  475. package/lib/models/RetroWeeksModel.d.ts.map +0 -1
  476. package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
  477. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
  478. package/lib/models/SendOtpRequestModel.d.ts +0 -12
  479. package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
  480. package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
  481. package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
  482. package/lib/models/WageCalculatorModel.d.ts +0 -15
  483. package/lib/models/WageCalculatorModel.d.ts.map +0 -1
  484. package/lib/models/WageInfoModel.d.ts +0 -9
  485. package/lib/models/WageInfoModel.d.ts.map +0 -1
  486. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
  487. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
  488. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
  489. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
  490. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
  491. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
  492. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
  493. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
  494. package/lib/models/combo-model.d.ts +0 -42
  495. package/lib/models/combo-model.d.ts.map +0 -1
  496. package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
  497. package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
  498. package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
  499. package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
  500. package/lib/models/fileupload/FileObject.d.ts +0 -8
  501. package/lib/models/fileupload/FileObject.d.ts.map +0 -1
  502. package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
  503. package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
  504. package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
  505. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
  506. package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
  507. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
  508. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
  509. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
  510. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
  511. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
  512. package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
  513. package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
  514. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
  515. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
  516. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
  517. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
  518. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
  519. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
  520. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
  521. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
  522. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
  523. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
  524. package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
  525. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
  526. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
  527. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
  528. package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
  529. package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
  530. package/lib/services/appeal/appeal.service.d.ts +0 -16
  531. package/lib/services/appeal/appeal.service.d.ts.map +0 -1
  532. package/lib/services/birt-service/birt.service.d.ts +0 -17
  533. package/lib/services/birt-service/birt.service.d.ts.map +0 -1
  534. package/lib/services/employer/employer-service.d.ts +0 -16
  535. package/lib/services/employer/employer-service.d.ts.map +0 -1
  536. package/lib/services/event-service/event-service.d.ts +0 -20
  537. package/lib/services/event-service/event-service.d.ts.map +0 -1
  538. package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
  539. package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
  540. package/lib/services/weekly-cert/review.service.d.ts +0 -23
  541. package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
  542. package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
  543. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
  544. package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
  545. package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
@@ -10,70 +10,55 @@ import * as i6 from "@angular/common";
10
10
  import * as i7 from "primeng/api";
11
11
  import * as i8 from "primeng/tooltip";
12
12
  import * as i9 from "primeng/table";
13
- import * as i10 from "@fortawesome/angular-fontawesome";
14
- import * as i11 from "../overlay-info/overlay-info.component";
15
- import * as i12 from "@ngx-translate/core";
16
13
  const _c0 = ["uploadFileFormDirective"];
17
14
  const _c1 = ["fileInput"];
18
- function FileUploaderComponent_section_2_ng_template_2_th_5_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementStart(0, "th", 11);
20
- i0.ɵɵelement(1, "app-overlay-info", 12);
21
- i0.ɵɵpipe(2, "translate");
15
+ function FileUploaderComponent_ng_template_3_div_6_Template(rf, ctx) { if (rf & 1) {
16
+ const _r8 = i0.ɵɵgetCurrentView();
17
+ i0.ɵɵelementStart(0, "div", 8)(1, "input", 9, 10);
18
+ i0.ɵɵlistener("change", function FileUploaderComponent_ng_template_3_div_6_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.addToQueue($event)); });
22
19
  i0.ɵɵelementEnd();
23
- } if (rf & 2) {
24
- i0.ɵɵadvance(1);
25
- i0.ɵɵpropertyInterpolate("overlayText", i0.ɵɵpipeBind1(2, 1, "proof.of.anything.info"));
26
- } }
27
- function FileUploaderComponent_section_2_ng_template_2_div_7_Template(rf, ctx) { if (rf & 1) {
28
- const _r13 = i0.ɵɵgetCurrentView();
29
- i0.ɵɵelementStart(0, "div", 13)(1, "input", 14, 15);
30
- i0.ɵɵlistener("change", function FileUploaderComponent_section_2_ng_template_2_div_7_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r12.addToQueue($event)); });
31
- i0.ɵɵelementEnd();
32
- i0.ɵɵelementStart(3, "ion-button", 16);
33
- i0.ɵɵlistener("click", function FileUploaderComponent_section_2_ng_template_2_div_7_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r13); const _r11 = i0.ɵɵreference(2); return i0.ɵɵresetView(_r11.click()); });
20
+ i0.ɵɵelementStart(3, "ion-button", 11);
21
+ i0.ɵɵlistener("click", function FileUploaderComponent_ng_template_3_div_6_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r8); const _r6 = i0.ɵɵreference(2); return i0.ɵɵresetView(_r6.click()); });
34
22
  i0.ɵɵtext(4, " Choose Files ");
35
23
  i0.ɵɵelementEnd()();
36
24
  } if (rf & 2) {
37
- const ctx_r9 = i0.ɵɵnextContext(3);
25
+ const ctx_r4 = i0.ɵɵnextContext(2);
38
26
  i0.ɵɵadvance(1);
39
- i0.ɵɵproperty("accept", ctx_r9.allowedFileType);
27
+ i0.ɵɵproperty("accept", ctx_r4.allowedFileType);
40
28
  } }
41
- function FileUploaderComponent_section_2_ng_template_2_div_8_Template(rf, ctx) { if (rf & 1) {
42
- const _r17 = i0.ɵɵgetCurrentView();
43
- i0.ɵɵelementStart(0, "div", 13)(1, "input", 17, 15);
44
- i0.ɵɵlistener("change", function FileUploaderComponent_section_2_ng_template_2_div_8_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r16.addToQueue($event)); });
29
+ function FileUploaderComponent_ng_template_3_div_7_Template(rf, ctx) { if (rf & 1) {
30
+ const _r12 = i0.ɵɵgetCurrentView();
31
+ i0.ɵɵelementStart(0, "div", 8)(1, "input", 12, 10);
32
+ i0.ɵɵlistener("change", function FileUploaderComponent_ng_template_3_div_7_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.addToQueue($event)); });
45
33
  i0.ɵɵelementEnd();
46
- i0.ɵɵelementStart(3, "ion-button", 16);
47
- i0.ɵɵlistener("click", function FileUploaderComponent_section_2_ng_template_2_div_8_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r17); const _r15 = i0.ɵɵreference(2); return i0.ɵɵresetView(_r15.click()); });
34
+ i0.ɵɵelementStart(3, "ion-button", 11);
35
+ i0.ɵɵlistener("click", function FileUploaderComponent_ng_template_3_div_7_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r12); const _r10 = i0.ɵɵreference(2); return i0.ɵɵresetView(_r10.click()); });
48
36
  i0.ɵɵtext(4, " Choose File ");
49
37
  i0.ɵɵelementEnd()();
50
38
  } if (rf & 2) {
51
- const ctx_r10 = i0.ɵɵnextContext(3);
39
+ const ctx_r5 = i0.ɵɵnextContext(2);
52
40
  i0.ɵɵadvance(1);
53
- i0.ɵɵproperty("accept", ctx_r10.allowedFileType);
41
+ i0.ɵɵproperty("accept", ctx_r5.allowedFileType);
54
42
  } }
55
- function FileUploaderComponent_section_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
43
+ function FileUploaderComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
56
44
  i0.ɵɵelementStart(0, "tr")(1, "th");
57
45
  i0.ɵɵtext(2, "Name");
58
46
  i0.ɵɵelementEnd();
59
47
  i0.ɵɵelementStart(3, "th");
60
48
  i0.ɵɵtext(4, "Size");
61
49
  i0.ɵɵelementEnd();
62
- i0.ɵɵtemplate(5, FileUploaderComponent_section_2_ng_template_2_th_5_Template, 3, 3, "th", 8);
63
- i0.ɵɵelementStart(6, "th", 9);
64
- i0.ɵɵtemplate(7, FileUploaderComponent_section_2_ng_template_2_div_7_Template, 5, 1, "div", 10)(8, FileUploaderComponent_section_2_ng_template_2_div_8_Template, 5, 1, "div", 10);
50
+ i0.ɵɵelementStart(5, "th", 6);
51
+ i0.ɵɵtemplate(6, FileUploaderComponent_ng_template_3_div_6_Template, 5, 1, "div", 7)(7, FileUploaderComponent_ng_template_3_div_7_Template, 5, 1, "div", 7);
65
52
  i0.ɵɵelementEnd()();
66
53
  } if (rf & 2) {
67
- const ctx_r4 = i0.ɵɵnextContext(2);
68
- i0.ɵɵadvance(5);
69
- i0.ɵɵproperty("ngIf", ctx_r4.proofOfAnything);
70
- i0.ɵɵadvance(2);
71
- i0.ɵɵproperty("ngIf", ctx_r4.multiple && !ctx_r4.proofOfAnything);
54
+ const ctx_r1 = i0.ɵɵnextContext();
55
+ i0.ɵɵadvance(6);
56
+ i0.ɵɵproperty("ngIf", ctx_r1.multiple);
72
57
  i0.ɵɵadvance(1);
73
- i0.ɵɵproperty("ngIf", !ctx_r4.multiple && !ctx_r4.proofOfAnything);
58
+ i0.ɵɵproperty("ngIf", !ctx_r1.multiple);
74
59
  } }
75
- function FileUploaderComponent_section_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
76
- const _r21 = i0.ɵɵgetCurrentView();
60
+ function FileUploaderComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
61
+ const _r16 = i0.ɵɵgetCurrentView();
77
62
  i0.ɵɵelementStart(0, "tr")(1, "td");
78
63
  i0.ɵɵtext(2);
79
64
  i0.ɵɵelementEnd();
@@ -81,29 +66,29 @@ function FileUploaderComponent_section_2_ng_template_3_Template(rf, ctx) { if (r
81
66
  i0.ɵɵtext(4);
82
67
  i0.ɵɵpipe(5, "number");
83
68
  i0.ɵɵelementEnd();
84
- i0.ɵɵelementStart(6, "td", 9)(7, "ion-button", 18);
85
- i0.ɵɵlistener("click", function FileUploaderComponent_section_2_ng_template_3_Template_ion_button_click_7_listener() { const restoredCtx = i0.ɵɵrestoreView(_r21); const queue_r19 = restoredCtx.$implicit; const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.removeFromQueue(queue_r19)); });
86
- i0.ɵɵelement(8, "ion-icon", 19);
69
+ i0.ɵɵelementStart(6, "td", 6)(7, "ion-button", 13);
70
+ i0.ɵɵlistener("click", function FileUploaderComponent_ng_template_4_Template_ion_button_click_7_listener() { const restoredCtx = i0.ɵɵrestoreView(_r16); const queue_r14 = restoredCtx.$implicit; const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.removeFromQueue(queue_r14)); });
71
+ i0.ɵɵelement(8, "ion-icon", 14);
87
72
  i0.ɵɵelementEnd()()();
88
73
  } if (rf & 2) {
89
- const queue_r19 = ctx.$implicit;
74
+ const queue_r14 = ctx.$implicit;
90
75
  i0.ɵɵadvance(2);
91
- i0.ɵɵtextInterpolate(queue_r19 == null ? null : queue_r19.name);
76
+ i0.ɵɵtextInterpolate(queue_r14 == null ? null : queue_r14.name);
92
77
  i0.ɵɵadvance(2);
93
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(5, 2, (queue_r19 == null ? null : queue_r19.size) / 1024 / 1024, ".2"), " MB");
78
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(5, 2, (queue_r14 == null ? null : queue_r14.size) / 1024 / 1024, ".2"), " MB");
94
79
  } }
95
- function FileUploaderComponent_section_2_ng_template_4_tr_0_li_3_Template(rf, ctx) { if (rf & 1) {
80
+ function FileUploaderComponent_ng_template_5_li_3_Template(rf, ctx) { if (rf & 1) {
96
81
  i0.ɵɵelementStart(0, "li");
97
82
  i0.ɵɵtext(1);
98
83
  i0.ɵɵelementEnd();
99
84
  } if (rf & 2) {
100
- const ctx_r23 = i0.ɵɵnextContext(4);
85
+ const ctx_r17 = i0.ɵɵnextContext(2);
101
86
  i0.ɵɵadvance(1);
102
- i0.ɵɵtextInterpolate1("You are allowed to upload file(s) with following extentions: ", ctx_r23.allowedFileType, ".");
87
+ i0.ɵɵtextInterpolate1("You are allowed to upload file(s) with following extentions: ", ctx_r17.allowedFileType, ".");
103
88
  } }
104
- function FileUploaderComponent_section_2_ng_template_4_tr_0_Template(rf, ctx) { if (rf & 1) {
89
+ function FileUploaderComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
105
90
  i0.ɵɵelementStart(0, "tr")(1, "td")(2, "ul");
106
- i0.ɵɵtemplate(3, FileUploaderComponent_section_2_ng_template_4_tr_0_li_3_Template, 2, 1, "li", 2);
91
+ i0.ɵɵtemplate(3, FileUploaderComponent_ng_template_5_li_3_Template, 2, 1, "li", 15);
107
92
  i0.ɵɵelementStart(4, "li");
108
93
  i0.ɵɵtext(5, "Total file(s) size cannot exceed ");
109
94
  i0.ɵɵelementStart(6, "b");
@@ -119,107 +104,15 @@ function FileUploaderComponent_section_2_ng_template_4_tr_0_Template(rf, ctx) {
119
104
  i0.ɵɵtext(13, " file(s).");
120
105
  i0.ɵɵelementEnd()()()();
121
106
  } if (rf & 2) {
122
- const ctx_r22 = i0.ɵɵnextContext(3);
107
+ const ctx_r3 = i0.ɵɵnextContext();
123
108
  i0.ɵɵadvance(1);
124
109
  i0.ɵɵattribute("colspan", 3);
125
110
  i0.ɵɵadvance(2);
126
- i0.ɵɵproperty("ngIf", ctx_r22.allowedFileType);
111
+ i0.ɵɵproperty("ngIf", ctx_r3.allowedFileType);
127
112
  i0.ɵɵadvance(4);
128
- i0.ɵɵtextInterpolate(ctx_r22.maxSizeInMB);
113
+ i0.ɵɵtextInterpolate(ctx_r3.maxSizeInMB);
129
114
  i0.ɵɵadvance(5);
130
- i0.ɵɵtextInterpolate(ctx_r22.noOfFilesToUpload);
131
- } }
132
- function FileUploaderComponent_section_2_ng_template_4_Template(rf, ctx) { if (rf & 1) {
133
- i0.ɵɵtemplate(0, FileUploaderComponent_section_2_ng_template_4_tr_0_Template, 14, 4, "tr", 2);
134
- } if (rf & 2) {
135
- const ctx_r6 = i0.ɵɵnextContext(2);
136
- i0.ɵɵproperty("ngIf", !ctx_r6.proofOfAnything);
137
- } }
138
- function FileUploaderComponent_section_2_ng_template_5_tr_0_td_1_Template(rf, ctx) { if (rf & 1) {
139
- i0.ɵɵelementStart(0, "td")(1, "div")(2, "b");
140
- i0.ɵɵtext(3, "+ Add");
141
- i0.ɵɵelementEnd();
142
- i0.ɵɵtext(4, " files");
143
- i0.ɵɵelementEnd()();
144
- } }
145
- function FileUploaderComponent_section_2_ng_template_5_tr_0_td_2_Template(rf, ctx) { if (rf & 1) {
146
- i0.ɵɵelementStart(0, "td")(1, "div")(2, "b");
147
- i0.ɵɵtext(3, "+ Add");
148
- i0.ɵɵelementEnd();
149
- i0.ɵɵtext(4, " any other files");
150
- i0.ɵɵelementEnd()();
151
- } }
152
- const _c2 = () => ["fal", "plus"];
153
- function FileUploaderComponent_section_2_ng_template_5_tr_0_Template(rf, ctx) { if (rf & 1) {
154
- const _r29 = i0.ɵɵgetCurrentView();
155
- i0.ɵɵelementStart(0, "tr");
156
- i0.ɵɵtemplate(1, FileUploaderComponent_section_2_ng_template_5_tr_0_td_1_Template, 5, 0, "td", 2)(2, FileUploaderComponent_section_2_ng_template_5_tr_0_td_2_Template, 5, 0, "td", 2);
157
- i0.ɵɵelement(3, "td");
158
- i0.ɵɵelementStart(4, "td", 13)(5, "input", 17, 15);
159
- i0.ɵɵlistener("change", function FileUploaderComponent_section_2_ng_template_5_tr_0_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r28.addToQueue($event)); });
160
- i0.ɵɵelementEnd();
161
- i0.ɵɵelementStart(7, "ion-button", 20);
162
- i0.ɵɵlistener("click", function FileUploaderComponent_section_2_ng_template_5_tr_0_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r29); const _r27 = i0.ɵɵreference(6); return i0.ɵɵresetView(_r27.click()); });
163
- i0.ɵɵelement(8, "fa-icon", 21);
164
- i0.ɵɵelementEnd()()();
165
- } if (rf & 2) {
166
- const ctx_r24 = i0.ɵɵnextContext(3);
167
- i0.ɵɵadvance(1);
168
- i0.ɵɵproperty("ngIf", ctx_r24.queue.length == 0);
169
- i0.ɵɵadvance(1);
170
- i0.ɵɵproperty("ngIf", ctx_r24.queue.length > 0);
171
- i0.ɵɵadvance(3);
172
- i0.ɵɵproperty("accept", ctx_r24.allowedFileType);
173
- i0.ɵɵadvance(3);
174
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(4, _c2));
175
- } }
176
- function FileUploaderComponent_section_2_ng_template_5_Template(rf, ctx) { if (rf & 1) {
177
- i0.ɵɵtemplate(0, FileUploaderComponent_section_2_ng_template_5_tr_0_Template, 9, 5, "tr", 2);
178
- } if (rf & 2) {
179
- const ctx_r7 = i0.ɵɵnextContext(2);
180
- i0.ɵɵproperty("ngIf", ctx_r7.proofOfAnything);
181
- } }
182
- function FileUploaderComponent_section_2_Template(rf, ctx) { if (rf & 1) {
183
- i0.ɵɵelementStart(0, "section")(1, "p-table", 3);
184
- i0.ɵɵtemplate(2, FileUploaderComponent_section_2_ng_template_2_Template, 9, 3, "ng-template", 4)(3, FileUploaderComponent_section_2_ng_template_3_Template, 9, 5, "ng-template", 5)(4, FileUploaderComponent_section_2_ng_template_4_Template, 1, 1, "ng-template", 6)(5, FileUploaderComponent_section_2_ng_template_5_Template, 1, 1, "ng-template", 7);
185
- i0.ɵɵelementEnd()();
186
- } if (rf & 2) {
187
- const ctx_r1 = i0.ɵɵnextContext();
188
- i0.ɵɵadvance(1);
189
- i0.ɵɵproperty("value", ctx_r1.queue)("loading", ctx_r1.showProgress);
190
- } }
191
- function FileUploaderComponent_section_3_Template(rf, ctx) { if (rf & 1) {
192
- const _r33 = i0.ɵɵgetCurrentView();
193
- i0.ɵɵelementStart(0, "section")(1, "ion-row")(2, "ion-col");
194
- i0.ɵɵelement(3, "div", 22);
195
- i0.ɵɵelementEnd();
196
- i0.ɵɵelementStart(4, "ion-col")(5, "div", 13)(6, "input", 17, 15);
197
- i0.ɵɵlistener("change", function FileUploaderComponent_section_3_Template_input_change_6_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.addToQueue($event)); });
198
- i0.ɵɵelementEnd();
199
- i0.ɵɵelementStart(8, "ion-button", 23);
200
- i0.ɵɵlistener("click", function FileUploaderComponent_section_3_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r33); const _r31 = i0.ɵɵreference(7); return i0.ɵɵresetView(_r31.click()); });
201
- i0.ɵɵtext(9, " Import ");
202
- i0.ɵɵelementEnd()()()()();
203
- } if (rf & 2) {
204
- const ctx_r2 = i0.ɵɵnextContext();
205
- i0.ɵɵadvance(3);
206
- i0.ɵɵproperty("innerHTML", ctx_r2.imageHtml, i0.ɵɵsanitizeHtml);
207
- i0.ɵɵadvance(3);
208
- i0.ɵɵproperty("accept", ctx_r2.allowedFileType);
209
- } }
210
- function FileUploaderComponent_section_4_Template(rf, ctx) { if (rf & 1) {
211
- const _r37 = i0.ɵɵgetCurrentView();
212
- i0.ɵɵelementStart(0, "section")(1, "div", 24)(2, "input", 17, 15);
213
- i0.ɵɵlistener("change", function FileUploaderComponent_section_4_Template_input_change_2_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.addToQueue($event)); });
214
- i0.ɵɵelementEnd();
215
- i0.ɵɵelementStart(4, "ion-button", 25);
216
- i0.ɵɵlistener("click", function FileUploaderComponent_section_4_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r37); const _r35 = i0.ɵɵreference(3); return i0.ɵɵresetView(_r35.click()); });
217
- i0.ɵɵtext(5, " Upload Zip Codes ");
218
- i0.ɵɵelementEnd()()();
219
- } if (rf & 2) {
220
- const ctx_r3 = i0.ɵɵnextContext();
221
- i0.ɵɵadvance(2);
222
- i0.ɵɵproperty("accept", ctx_r3.allowedFileType);
115
+ i0.ɵɵtextInterpolate(ctx_r3.noOfFilesToUpload);
223
116
  } }
224
117
  export class FileUploaderComponent {
225
118
  constructor(formBuilder, util, fs, toastController, cs) {
@@ -228,7 +121,6 @@ export class FileUploaderComponent {
228
121
  this.fs = fs;
229
122
  this.toastController = toastController;
230
123
  this.cs = cs;
231
- this.imageBase64 = null;
232
124
  this.DEFAULT_SINGLE_FILE_LIMIT = 1;
233
125
  this.DEFAULT_FILE_SIZE_IN_MB = 1;
234
126
  this.FILE_UPLOAD_ACTION_NAME = 'file_upload';
@@ -238,7 +130,6 @@ export class FileUploaderComponent {
238
130
  this.queue = [];
239
131
  this.mapOfFiles = new Map();
240
132
  this.multiple = false;
241
- this.proofOfAnything = false;
242
133
  this.showSeparateAttachButton = false;
243
134
  this.noOfFilesToUpload = this.DEFAULT_SINGLE_FILE_LIMIT;
244
135
  this.maxSizeInMB = this.DEFAULT_FILE_SIZE_IN_MB;
@@ -306,18 +197,6 @@ export class FileUploaderComponent {
306
197
  }
307
198
  this.onChange(Array.from(this.mapOfFiles.values()));
308
199
  this.success('File(s) uploaded successfully.');
309
- //Specifically for Signature-Upload (Will be move to a new method)
310
- const file = (this.mapOfFiles.entries().next().value)[0];
311
- if (file && (file.type === 'image/png' || file.type === 'image/jpeg'
312
- || file.type === 'image/gif')) {
313
- const reader = new FileReader();
314
- reader.onload = (e) => {
315
- this.imageBase64 = e.target.result;
316
- this.imageHtml = `<img src="${this.imageBase64}" alt="Uploaded Image" width="125" height="75">`;
317
- };
318
- reader.readAsDataURL(file);
319
- }
320
- //
321
200
  this.showProgress = false;
322
201
  this.upload.emit(Array.from(this.mapOfFiles.values()));
323
202
  this.files.emit(this.mapOfFiles);
@@ -390,23 +269,19 @@ export class FileUploaderComponent {
390
269
  let _t;
391
270
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.uploadFileFormDirective = _t.first);
392
271
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t);
393
- } }, inputs: { allowedFileType: "allowedFileType", multiple: "multiple", proofOfAnything: "proofOfAnything", context: "context", showSeparateAttachButton: "showSeparateAttachButton", noOfFilesToUpload: "noOfFilesToUpload", maxSizeInMB: "maxSizeInMB" }, outputs: { upload: "upload", files: "files" }, features: [i0.ɵɵProvidersFeature([{
272
+ } }, inputs: { allowedFileType: "allowedFileType", multiple: "multiple", showSeparateAttachButton: "showSeparateAttachButton", noOfFilesToUpload: "noOfFilesToUpload", maxSizeInMB: "maxSizeInMB" }, outputs: { upload: "upload", files: "files" }, features: [i0.ɵɵProvidersFeature([{
394
273
  provide: NG_VALUE_ACCESSOR,
395
274
  useExisting: FileUploaderComponent,
396
275
  multi: true
397
- }]), i0.ɵɵNgOnChangesFeature], decls: 5, vars: 4, consts: [[3, "formGroup"], ["uploadFileFormDirective", "ngForm"], [4, "ngIf"], ["responsiveLayout", "scroll", 3, "value", "loading"], ["pTemplate", "header"], ["pTemplate", "body"], ["pTemplate", "emptymessage"], ["pTemplate", "footer"], ["style", "text-align:right", 4, "ngIf"], [1, "ion-text-right"], ["class", "file-input-container", 4, "ngIf"], [2, "text-align", "right"], [2, "margin-top", "2px", "margin-left", "6px", 3, "overlayText"], [1, "file-input-container"], ["type", "file", "formControlName", "uploadFileCtrl", "multiple", "multiple", 3, "accept", "change"], ["fileInput", ""], ["shape", "round", "size", "small", "type", "submit", "fill", "outline", 3, "click"], ["type", "file", "formControlName", "uploadFileCtrl", 3, "accept", "change"], ["shape", "round", "size", "small", "pTooltip", "Remove", "tooltipPosition", "bottom", 1, "ion-padding-left", 3, "click"], ["name", "trash-outline"], ["aria-label", "Add Files", "fill", "outline", "size", "small", 1, "action-button", 3, "click"], [1, "action-icon", 3, "icon"], [2, "width", "385px", "height", "100px", "border", "1px solid gray", "justify-content", "center", "align-items", "center", 3, "innerHTML"], ["shape", "square", "size", "small", "type", "submit", "fill", "outline", 3, "click"], [1, "upload-input-container"], ["shape", "square", "size", "default", "type", "submit", "fill", "outline", 3, "click"]], template: function FileUploaderComponent_Template(rf, ctx) { if (rf & 1) {
398
- i0.ɵɵelementStart(0, "form", 0, 1);
399
- i0.ɵɵtemplate(2, FileUploaderComponent_section_2_Template, 6, 2, "section", 2)(3, FileUploaderComponent_section_3_Template, 10, 2, "section", 2)(4, FileUploaderComponent_section_4_Template, 6, 1, "section", 2);
400
- i0.ɵɵelementEnd();
276
+ }]), i0.ɵɵNgOnChangesFeature], decls: 6, vars: 3, consts: [[3, "formGroup"], ["uploadFileFormDirective", "ngForm"], ["responsiveLayout", "scroll", 3, "value", "loading"], ["pTemplate", "header"], ["pTemplate", "body"], ["pTemplate", "emptymessage"], [1, "ion-text-right"], ["class", "file-input-container", 4, "ngIf"], [1, "file-input-container"], ["type", "file", "formControlName", "uploadFileCtrl", "multiple", "multiple", 3, "accept", "change"], ["fileInput", ""], ["shape", "round", "size", "small", "type", "submit", "fill", "outline", 3, "click"], ["type", "file", "formControlName", "uploadFileCtrl", 3, "accept", "change"], ["shape", "round", "size", "small", "pTooltip", "Remove", "tooltipPosition", "bottom", 1, "ion-padding-left", 3, "click"], ["name", "trash-outline"], [4, "ngIf"]], template: function FileUploaderComponent_Template(rf, ctx) { if (rf & 1) {
277
+ i0.ɵɵelementStart(0, "form", 0, 1)(2, "p-table", 2);
278
+ i0.ɵɵtemplate(3, FileUploaderComponent_ng_template_3_Template, 8, 2, "ng-template", 3)(4, FileUploaderComponent_ng_template_4_Template, 9, 5, "ng-template", 4)(5, FileUploaderComponent_ng_template_5_Template, 14, 4, "ng-template", 5);
279
+ i0.ɵɵelementEnd()();
401
280
  } if (rf & 2) {
402
281
  i0.ɵɵproperty("formGroup", ctx.uploadFileForm);
403
282
  i0.ɵɵadvance(2);
404
- i0.ɵɵproperty("ngIf", ctx.context != "signature" && ctx.context != "uploadZipCodes");
405
- i0.ɵɵadvance(1);
406
- i0.ɵɵproperty("ngIf", ctx.context == "signature");
407
- i0.ɵɵadvance(1);
408
- i0.ɵɵproperty("ngIf", ctx.context == "uploadZipCodes");
409
- } }, dependencies: [i4.IonButton, i4.IonCol, i4.IonIcon, i4.IonRow, i6.NgIf, i7.PrimeTemplate, i8.Tooltip, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormControlName, i9.Table, i10.FaIconComponent, i11.OverlayInfoComponent, i6.DecimalPipe, i12.TranslatePipe], styles: [".file-input-container[_ngcontent-%COMP%]{text-align:right}.file-input-container[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{display:none}.file-input-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{border:1px solid #ccc;padding:6px 12px;cursor:pointer}.upload-input-container[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{display:none}.upload-input-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{border:1px solid #ccc;cursor:pointer}[_nghost-%COMP%] .p-datatable .p-datatable-thead>tr>th{background:#fff!important;background-color:#fff!important}ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{list-style:none}ul[_ngcontent-%COMP%]{list-style-type:square}li[_ngcontent-%COMP%]{color:var(--ion-color-grey)}"] }); }
283
+ i0.ɵɵproperty("value", ctx.queue)("loading", ctx.showProgress);
284
+ } }, dependencies: [i4.IonButton, i4.IonIcon, i6.NgIf, i7.PrimeTemplate, i8.Tooltip, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormControlName, i9.Table, i6.DecimalPipe], styles: [".file-input-container[_ngcontent-%COMP%]{text-align:right}.file-input-container[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{display:none}.file-input-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{border:1px solid #ccc;padding:6px 12px;cursor:pointer}[_nghost-%COMP%] .p-datatable .p-datatable-thead>tr>th{background:#fff!important;background-color:#fff!important}ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{list-style:none}ul[_ngcontent-%COMP%]{list-style-type:square}li[_ngcontent-%COMP%]{color:var(--ion-color-grey)}"] }); }
410
285
  }
411
286
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileUploaderComponent, [{
412
287
  type: Component,
@@ -414,7 +289,7 @@ export class FileUploaderComponent {
414
289
  provide: NG_VALUE_ACCESSOR,
415
290
  useExisting: FileUploaderComponent,
416
291
  multi: true
417
- }], template: "<form [formGroup]=\"uploadFileForm\" #uploadFileFormDirective=\"ngForm\">\r\n <section *ngIf=\"this.context != 'signature' && this.context !='uploadZipCodes'\">\r\n <p-table [value]=\"queue\" responsiveLayout=\"scroll\" [loading]=\"showProgress\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th>Name</th>\r\n <th>Size</th>\r\n <th style=\"text-align:right\" *ngIf=\"proofOfAnything\">\r\n <app-overlay-info overlayText=\"{{'proof.of.anything.info'| translate}}\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </th>\r\n <th class=\"ion-text-right\">\r\n <div class=\"file-input-container\" *ngIf=\"multiple && !proofOfAnything\">\r\n <input type=\"file\" #fileInput formControlName=\"uploadFileCtrl\" [accept]=\"allowedFileType\"\r\n multiple=\"multiple\" (change)=\"addToQueue($event)\" />\r\n <ion-button shape=\"round\" size=\"small\" type=\"submit\" fill=\"outline\" (click)=\"fileInput.click()\">\r\n Choose Files\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"file-input-container\" *ngIf=\"!multiple && !proofOfAnything\">\r\n <input type=\"file\" #fileInput formControlName=\"uploadFileCtrl\" [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button shape=\"round\" size=\"small\" type=\"submit\" fill=\"outline\" (click)=\"fileInput.click()\">\r\n Choose File\r\n </ion-button>\r\n </div>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-queue>\r\n <tr>\r\n <td>{{ queue?.name }}</td>\r\n <td>{{ queue?.size/1024/1024 | number:'.2' }} MB</td>\r\n <td class=\"ion-text-right\">\r\n <ion-button shape=\"round\" size=\"small\" pTooltip=\"Remove\" (click)=\"removeFromQueue(queue)\"\r\n tooltipPosition=\"bottom\" class=\"ion-padding-left\">\r\n <ion-icon name=\"trash-outline\"></ion-icon>\r\n </ion-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr *ngIf=\"!proofOfAnything\">\r\n <td [attr.colspan]=\"3\">\r\n <ul>\r\n <li *ngIf=\"allowedFileType\">You are allowed to upload file(s) with following extentions: {{allowedFileType}}.</li>\r\n <li>Total file(s) size cannot exceed <b>{{maxSizeInMB}}</b> MB.</li>\r\n <li>You can upload maximum <b>{{noOfFilesToUpload}}</b> file(s).</li>\r\n </ul>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"footer\"> \r\n <tr *ngIf=\"proofOfAnything\">\r\n <td *ngIf=\"queue.length == 0\">\r\n <div><b>+ Add</b> files</div>\r\n </td>\r\n <td *ngIf=\"queue.length > 0\">\r\n <div><b>+ Add</b> any other files</div>\r\n </td>\r\n <td></td>\r\n <td class=\"file-input-container\">\r\n <input type=\"file\" #fileInput formControlName=\"uploadFileCtrl\" [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button aria-label=\"Add Files\" (click)=\"fileInput.click()\" fill=\"outline\" size=\"small\" class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</section>\r\n<section *ngIf=\"this.context == 'signature'\">\r\n <ion-row>\r\n <ion-col>\r\n <div [innerHTML]=\"imageHtml\" style=\"width: 385px; height: 100px; border: 1px solid gray; justify-content: center; align-items: center;\"></div>\r\n </ion-col>\r\n <ion-col>\r\n <div class=\"file-input-container\">\r\n <input type=\"file\" #fileInput formControlName=\"uploadFileCtrl\" [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button shape=\"square\" size=\"small\" type=\"submit\" fill=\"outline\" (click)=\"fileInput.click()\">\r\n Import\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n</section>\r\n<section *ngIf=\"this.context == 'uploadZipCodes'\">\r\n <div class=\"upload-input-container\">\r\n <input type=\"file\" #fileInput formControlName=\"uploadFileCtrl\" [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button shape=\"square\" size=\"default\" type=\"submit\" fill=\"outline\" (click)=\"fileInput.click()\">\r\n Upload Zip Codes\r\n </ion-button>\r\n </div>\r\n</section>\r\n</form>", styles: [".file-input-container{text-align:right}.file-input-container input[type=file]{display:none}.file-input-container label{border:1px solid #ccc;padding:6px 12px;cursor:pointer}.upload-input-container input[type=file]{display:none}.upload-input-container label{border:1px solid #ccc;cursor:pointer}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{background:#fff!important;background-color:#fff!important}ol,ul{list-style:none}ul{list-style-type:square}li{color:var(--ion-color-grey)}\n"] }]
292
+ }], template: "<form [formGroup]=\"uploadFileForm\" #uploadFileFormDirective=\"ngForm\">\r\n <p-table [value]=\"queue\" responsiveLayout=\"scroll\" [loading]=\"showProgress\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th>Name</th>\r\n <th>Size</th>\r\n <th class=\"ion-text-right\">\r\n <div class=\"file-input-container\" *ngIf=\"multiple\">\r\n <input type=\"file\" #fileInput formControlName=\"uploadFileCtrl\" [accept]=\"allowedFileType\"\r\n multiple=\"multiple\" (change)=\"addToQueue($event)\" />\r\n <ion-button shape=\"round\" size=\"small\" type=\"submit\" fill=\"outline\" (click)=\"fileInput.click()\">\r\n Choose Files\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"file-input-container\" *ngIf=\"!multiple\">\r\n <input type=\"file\" #fileInput formControlName=\"uploadFileCtrl\" [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button shape=\"round\" size=\"small\" type=\"submit\" fill=\"outline\" (click)=\"fileInput.click()\">\r\n Choose File\r\n </ion-button>\r\n </div>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-queue>\r\n <tr>\r\n <td>{{ queue?.name }}</td>\r\n <td>{{ queue?.size/1024/1024 | number:'.2' }} MB</td>\r\n <td class=\"ion-text-right\">\r\n <ion-button shape=\"round\" size=\"small\" pTooltip=\"Remove\" (click)=\"removeFromQueue(queue)\"\r\n tooltipPosition=\"bottom\" class=\"ion-padding-left\">\r\n <ion-icon name=\"trash-outline\"></ion-icon>\r\n </ion-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"3\" >\r\n <ul>\r\n <li *ngIf=\"allowedFileType\">You are allowed to upload file(s) with following extentions: {{allowedFileType}}.</li>\r\n <li>Total file(s) size cannot exceed <b>{{maxSizeInMB}}</b> MB.</li>\r\n <li>You can upload maximum <b>{{noOfFilesToUpload}}</b> file(s).</li>\r\n </ul>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</form>", styles: [".file-input-container{text-align:right}.file-input-container input[type=file]{display:none}.file-input-container label{border:1px solid #ccc;padding:6px 12px;cursor:pointer}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{background:#fff!important;background-color:#fff!important}ol,ul{list-style:none}ul{list-style-type:square}li{color:var(--ion-color-grey)}\n"] }]
418
293
  }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.UtilService }, { type: i3.DmsService }, { type: i4.ToastController }, { type: i5.CaptchaService }], { uploadFileFormDirective: [{
419
294
  type: ViewChild,
420
295
  args: ['uploadFileFormDirective', { static: false }]
@@ -429,10 +304,6 @@ export class FileUploaderComponent {
429
304
  type: Input
430
305
  }], multiple: [{
431
306
  type: Input
432
- }], proofOfAnything: [{
433
- type: Input
434
- }], context: [{
435
- type: Input
436
307
  }], showSeparateAttachButton: [{
437
308
  type: Input
438
309
  }], noOfFilesToUpload: [{
@@ -441,4 +312,4 @@ export class FileUploaderComponent {
441
312
  type: Input
442
313
  }] }); })();
443
314
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FileUploaderComponent, { className: "FileUploaderComponent", filePath: "lib\\components\\file-uploader\\file-uploader.component.ts", lineNumber: 20 }); })();
444
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQTRCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQXNFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztJQ00zSCw4QkFBcUQ7SUFDbkQsdUNBQzhEOztJQUNoRSxpQkFBSzs7SUFGZSxlQUFxRDtJQUFyRCx1RkFBcUQ7Ozs7SUFJdkUsK0JBQXVFLG9CQUFBO0lBRS9DLG9NQUFVLGVBQUEsMEJBQWtCLENBQUEsSUFBQztJQURuRCxpQkFDc0Q7SUFDdEQsc0NBQWdHO0lBQTVCLDRMQUFTLGVBQUEsWUFBaUIsQ0FBQSxJQUFDO0lBQzdGLDhCQUNGO0lBQUEsaUJBQWEsRUFBQTs7O0lBSmtELGVBQTBCO0lBQTFCLCtDQUEwQjs7OztJQU8zRiwrQkFBd0Usb0JBQUE7SUFFcEUsb01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDO0lBRC9CLGlCQUNrQztJQUNsQyxzQ0FBZ0c7SUFBNUIsNExBQVMsZUFBQSxZQUFpQixDQUFBLElBQUM7SUFDN0YsNkJBQ0Y7SUFBQSxpQkFBYSxFQUFBOzs7SUFKa0QsZUFBMEI7SUFBMUIsZ0RBQTBCOzs7SUFqQi9GLDBCQUFJLFNB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USxrRUFBQSxpRUFBQTtZQTBCVixpQkFBTzs7WUFsR0QsOENBQTRCO1lBQ3RCLGVBQW9FO1lBQXBFLG9GQUFvRTtZQXdFdEUsZUFBaUM7WUFBakMsaURBQWlDO1lBZ0JqQyxlQUFzQztZQUF0QyxzREFBc0M7OztpRkR0RW5DLHFCQUFxQjtjQVZqQyxTQUFTOzJCQUNFLG1CQUFtQixhQUdsQixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsdUJBQXVCO3dCQUNsQyxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDO2lLQWVLLHVCQUF1QjtrQkFEN0IsU0FBUzttQkFBQyx5QkFBeUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFJdkQsTUFBTTtrQkFETCxNQUFNO1lBSVAsS0FBSztrQkFESixNQUFNO1lBR29CLFNBQVM7a0JBQW5DLFlBQVk7bUJBQUMsV0FBVztZQU96QixlQUFlO2tCQURkLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixlQUFlO2tCQURkLEtBQUs7WUFJTixPQUFPO2tCQUROLEtBQUs7WUFJTix3QkFBd0I7a0JBRHZCLEtBQUs7WUFJTixpQkFBaUI7a0JBRGhCLEtBQUs7WUFJTixXQUFXO2tCQURWLEtBQUs7O2tGQTdDSyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZHJlbiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBDYXB0Y2hhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcbmltcG9ydCB7IERtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kbXMtc2VydmljZS9kbXMuc2VydmljZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmlsZS11cGxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IEZpbGVVcGxvYWRlckNvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuXG4gIGltYWdlQmFzZTY0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIERFRkFVTFRfU0lOR0xFX0ZJTEVfTElNSVQgPSAxO1xuXG4gIHByaXZhdGUgREVGQVVMVF9GSUxFX1NJWkVfSU5fTUIgPSAxO1xuXG4gIHByaXZhdGUgRklMRV9VUExPQURfQUNUSU9OX05BTUUgPSAnZmlsZV91cGxvYWQnO1xuXG4gIHB1YmxpYyBzaG93UHJvZ3Jlc3MgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd1cGxvYWRGaWxlRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgdXBsb2FkRmlsZUZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcblxuICBAT3V0cHV0KClcbiAgdXBsb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgZmlsZXM6IEV2ZW50RW1pdHRlcjxNYXA8RmlsZSwgc3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZHJlbignZmlsZUlucHV0JykgZmlsZUlucHV0O1xuXG4gIHF1ZXVlOiBGaWxlW10gPSBbXTtcblxuICBtYXBPZkZpbGVzOiBNYXA8RmlsZSwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcblxuICBASW5wdXQoKVxuICBhbGxvd2VkRmlsZVR5cGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHByb29mT2ZBbnl0aGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaG93U2VwYXJhdGVBdHRhY2hCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBub09mRmlsZXNUb1VwbG9hZDogbnVtYmVyID0gdGhpcy5ERUZBVUxUX1NJTkdMRV9GSUxFX0xJTUlUO1xuXG4gIEBJbnB1dCgpXG4gIG1heFNpemVJbk1COiBudW1iZXIgPSB0aGlzLkRFRkFVTFRfRklMRV9TSVpFX0lOX01CO1xuXG4gIFxuICBwdWJsaWMgdXBsb2FkRmlsZUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIGltYWdlSHRtbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlLCBwcml2YXRlIGZzOiBEbXNTZXJ2aWNlLCBcbiAgICBwdWJsaWMgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsIHByaXZhdGUgY3M6IENhcHRjaGFTZXJ2aWNlKSB7XG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ3VwbG9hZEZpbGVDdHJsJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdXBsb2FkRmlsZUN0cmwoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBsb2FkRmlsZUZvcm0uY29udHJvbHNbJ3VwbG9hZEZpbGVDdHJsJ107XG4gIH1cblxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xuXG4gIH07XG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7XG5cbiAgfTtcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cbiAgfVxuXG4gIGFkZFRvUXVldWUoZXZlbnQpIHtcbiAgICBsZXQgY3VyckZpbGVVcGxkU2l6ZTogbnVtYmVyID0gMDtcbiAgICBsZXQgcHJlRmlsZVVwbGRTaXplOiBudW1iZXIgPSAwO1xuICAgIGxldCBtYXhTaXplUmVhY2hlZDogQm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBjdXJVcGxkRmlsZUxlbjogbnVtYmVyID0gZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDtcbiAgICBsZXQgcHJlVXBsZEZpbGVMZW46IG51bWJlciA9IHRoaXMucXVldWUubGVuZ3RoO1xuXG4gICAgaWYgKChjdXJVcGxkRmlsZUxlbiArIHByZVVwbGRGaWxlTGVuKSA+IHRoaXMubm9PZkZpbGVzVG9VcGxvYWQpIHtcbiAgICAgIHRoaXMuZXJyb3IoXCJZb3UgY2FuIG5vdCB1cGxvYWQgbW9yZSB0aGFuIFwiICsgdGhpcy5ub09mRmlsZXNUb1VwbG9hZCArIFwiIGZpbGUocykuXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5xdWV1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgcHJlRmlsZVVwbGRTaXplID0gdGhpcy5nZXRTaXplSW5NQih0aGlzLnF1ZXVlW2ldLnNpemUpICsgcHJlRmlsZVVwbGRTaXplO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjdXJyRmlsZVVwbGRTaXplID0gY3VyckZpbGVVcGxkU2l6ZSArIHRoaXMuZ2V0U2l6ZUluTUIoZXZlbnQudGFyZ2V0LmZpbGVzW2ldLnNpemUpXG4gICAgfVxuXG4gICAgbWF4U2l6ZVJlYWNoZWQgPSAocHJlRmlsZVVwbGRTaXplICsgY3VyckZpbGVVcGxkU2l6ZSA+IHRoaXMubWF4U2l6ZUluTUIpO1xuXG4gICAgaWYgKG1heFNpemVSZWFjaGVkKSB7XG4gICAgICB0aGlzLmVycm9yKCdDb21iaW5lZCBmaWxlKHMpIHNpemUgY2FuIG5vdCBiZSBtb3JlIHRoYW4gJyArIHRoaXMubWF4U2l6ZUluTUIgKyAnIE1CLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdHJ1ZTtcbiAgICB0aGlzLmNzLmdlbmVyYXRlQ2FwdGNoYVRva2VuKHRoaXMuRklMRV9VUExPQURfQUNUSU9OX05BTUUpXG4gICAgICAuc3Vic2NyaWJlKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuY3Muc2V0SW52aXNpYmVsQ2FwdGNoYSh0b2tlbik7XG4gICAgICAgIGlmICghbWF4U2l6ZVJlYWNoZWQpIHtcbiAgICAgICAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZmlsZXNcIiwgZXZlbnQudGFyZ2V0LmZpbGVzW2ldLCBldmVudC50YXJnZXQuZmlsZXNbaV0ubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxldCBmaWxlcyA9IFsuLi5ldmVudC50YXJnZXQuZmlsZXNdO1xuICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgICAgIHRoaXMuZnNcbiAgICAgICAgICAgIC51cGxvYWRGaWxlKGZvcm1EYXRhKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnF1ZXVlLnB1c2goZmlsZXNbaV0pO1xuICAgICAgICAgICAgICAgICAgdGhpcy5tYXBPZkZpbGVzLnNldChmaWxlc1tpXSwgcmVzW2ldLmZpbGVJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoQXJyYXkuZnJvbSh0aGlzLm1hcE9mRmlsZXMudmFsdWVzKCkpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MoJ0ZpbGUocykgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5LicpO1xuXHRcdCAgICAgICAgICAgICAgICAvL1NwZWNpZmljYWxseSBmb3IgU2lnbmF0dXJlLVVwbG9hZCAoV2lsbCBiZSBtb3ZlIHRvIGEgbmV3IG1ldGhvZClcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlID0gKHRoaXMubWFwT2ZGaWxlcy5lbnRyaWVzKCkubmV4dCgpLnZhbHVlKVswXTtcbiAgICAgICAgICAgICAgICBpZiAoZmlsZSAmJiAoZmlsZS50eXBlID09PSAnaW1hZ2UvcG5nJyB8fCBmaWxlLnR5cGUgPT09ICdpbWFnZS9qcGVnJyBcbiAgICAgICAgICAgICAgICAgIHx8IGZpbGUudHlwZSA9PT0gJ2ltYWdlL2dpZicpKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFnZUJhc2U2NCA9IGUudGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFnZUh0bWwgPSBgPGltZyBzcmM9XCIke3RoaXMuaW1hZ2VCYXNlNjR9XCIgYWx0PVwiVXBsb2FkZWQgSW1hZ2VcIiB3aWR0aD1cIjEyNVwiIGhlaWdodD1cIjc1XCI+YDtcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkLmVtaXQoQXJyYXkuZnJvbSh0aGlzLm1hcE9mRmlsZXMudmFsdWVzKCkpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVzLmVtaXQodGhpcy5tYXBPZkZpbGVzKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IoXCJGaWxlIHVwbG9hZCBmYWlsZWQuIFBsZWFzZSB0cnkgYWdhaW4uXCIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IHRydWU7XG4gICAgICAgIHRoaXMuZXJyb3IoXCJGaWxlIHVwbG9hZCBmYWlsZWQuIFBsZWFzZSB0cnkgYWdhaW4uXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgfSk7XG4gIH1cblxuICByZW1vdmVGcm9tUXVldWUoZmlsZVRvUmVtb3ZlKSB7XG4gICAgbGV0IGluZGV4O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5xdWV1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMucXVldWVbaV0ubmFtZSA9PT0gZmlsZVRvUmVtb3ZlLm5hbWUpIHtcbiAgICAgICAgaW5kZXggPSBpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNob3dQcm9ncmVzcyA9IHRydWU7XG4gICAgbGV0IGZpbGVJZCA9IHRoaXMubWFwT2ZGaWxlcy5nZXQoZmlsZVRvUmVtb3ZlKTtcbiAgICB0aGlzLmNzLmdlbmVyYXRlQ2FwdGNoYVRva2VuKHRoaXMuRklMRV9VUExPQURfQUNUSU9OX05BTUUpXG4gICAgICAuc3Vic2NyaWJlKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuY3Muc2V0SW52aXNpYmVsQ2FwdGNoYSh0b2tlbik7XG4gICAgICAgIHRoaXMuZnMuZGVsZXRlRmlsZShmaWxlSWQpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5xdWV1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy5tYXBPZkZpbGVzLmRlbGV0ZShmaWxlVG9SZW1vdmUpO1xuICAgICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoQXJyYXkuZnJvbSh0aGlzLm1hcE9mRmlsZXMudmFsdWVzKCkpKTtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkLmVtaXQoQXJyYXkuZnJvbSh0aGlzLm1hcE9mRmlsZXMudmFsdWVzKCkpKVxuICAgICAgICAgICAgdGhpcy5maWxlcy5lbWl0KHRoaXMubWFwT2ZGaWxlcyk7XG4gICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmVycm9yKFwiRXJyb3Igd2hpbGUgZGVsZXRpbmcgZmlsZS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgIH0pXG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yKFwiRXJyb3Igd2hpbGUgZGVsZXRpbmcgZmlsZS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIik7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICB9KTtcblxuICB9XG5cbiAgZ2V0U2l6ZUluTUIobnVtOiBudW1iZXIpIHtcbiAgICByZXR1cm4gbnVtIC8gMTAyNCAvIDEwMjRcbiAgfVxuXG4gIGFzeW5jIHByZXNlbnRUb2FzdChtc2csIGNvbG9yKSB7XG4gICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgbWVzc2FnZTogbXNnLFxuICAgICAgZHVyYXRpb246IDUwMDAsXG4gICAgICBjb2xvcjogY29sb3IsXG4gICAgICBwb3NpdGlvbjogJ2JvdHRvbSdcbiAgICB9KTtcbiAgICB0b2FzdC5wcmVzZW50KCk7XG4gIH1cblxuICBzdWNjZXNzKG1zZykge1xuICAgIHRoaXMucHJlc2VudFRvYXN0KG1zZywgJ3ByaW1hcnknKTtcbiAgfVxuXG4gIGVycm9yKG1zZykge1xuICAgIHRoaXMucHJlc2VudFRvYXN0KG1zZywgJ2RhbmdlcicpO1xuICB9XG5cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwidXBsb2FkRmlsZUZvcm1cIiAjdXBsb2FkRmlsZUZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj5cclxuICA8c2VjdGlvbiAqbmdJZj1cInRoaXMuY29udGV4dCAhPSAnc2lnbmF0dXJlJyAmJiB0aGlzLmNvbnRleHQgIT0ndXBsb2FkWmlwQ29kZXMnXCI+XHJcbiAgPHAtdGFibGUgW3ZhbHVlXT1cInF1ZXVlXCIgcmVzcG9uc2l2ZUxheW91dD1cInNjcm9sbFwiIFtsb2FkaW5nXT1cInNob3dQcm9ncmVzc1wiPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoPk5hbWU8L3RoPlxyXG4gICAgICAgIDx0aD5TaXplPC90aD5cclxuICAgICAgICA8dGggc3R5bGU9XCJ0ZXh0LWFsaWduOnJpZ2h0XCIgKm5nSWY9XCJwcm9vZk9mQW55dGhpbmdcIj5cclxuICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIG92ZXJsYXlUZXh0PVwie3sncHJvb2Yub2YuYW55dGhpbmcuaW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICAgIDx0aCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pbnB1dC1jb250YWluZXJcIiAqbmdJZj1cIm11bHRpcGxlICYmICFwcm9vZk9mQW55dGhpbmdcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ1cGxvYWRGaWxlQ3RybFwiIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgICAgICBtdWx0aXBsZT1cIm11bHRpcGxlXCIgKGNoYW5nZSk9XCJhZGRUb1F1ZXVlKCRldmVudClcIiAvPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc2l6ZT1cInNtYWxsXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgQ2hvb3NlIEZpbGVzXHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWlucHV0LWNvbnRhaW5lclwiICpuZ0lmPVwiIW11bHRpcGxlICYmICFwcm9vZk9mQW55dGhpbmdcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ1cGxvYWRGaWxlQ3RybFwiIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgICAgICAoY2hhbmdlKT1cImFkZFRvUXVldWUoJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBzaXplPVwic21hbGxcIiB0eXBlPVwic3VibWl0XCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cclxuICAgICAgICAgICAgICBDaG9vc2UgRmlsZVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXF1ZXVlPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRkPnt7IHF1ZXVlPy5uYW1lIH19PC90ZD5cclxuICAgICAgICA8dGQ+e3sgcXVldWU/LnNpemUvMTAyNC8xMDI0IHwgbnVtYmVyOicuMicgfX0gTUI8L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc2l6ZT1cInNtYWxsXCIgcFRvb2x0aXA9XCJSZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlRnJvbVF1ZXVlKHF1ZXVlKVwiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwiaW9uLXBhZGRpbmctbGVmdFwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInRyYXNoLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImVtcHR5bWVzc2FnZVwiPlxyXG4gICAgICA8dHIgKm5nSWY9XCIhcHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiM1wiPlxyXG4gICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgPGxpICpuZ0lmPVwiYWxsb3dlZEZpbGVUeXBlXCI+WW91IGFyZSBhbGxvd2VkIHRvIHVwbG9hZCBmaWxlKHMpIHdpdGggZm9sbG93aW5nIGV4dGVudGlvbnM6IHt7YWxsb3dlZEZpbGVUeXBlfX0uPC9saT5cclxuICAgICAgICAgICAgICA8bGk+VG90YWwgZmlsZShzKSBzaXplIGNhbm5vdCBleGNlZWQgPGI+e3ttYXhTaXplSW5NQn19PC9iPiBNQi48L2xpPlxyXG4gICAgICAgICAgICAgIDxsaT5Zb3UgY2FuIHVwbG9hZCBtYXhpbXVtIDxiPnt7bm9PZkZpbGVzVG9VcGxvYWR9fTwvYj4gZmlsZShzKS48L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPiBcclxuICAgICAgPHRyICpuZ0lmPVwicHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgPHRkICpuZ0lmPVwicXVldWUubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgIDxkaXY+PGI+KyBBZGQ8L2I+IGZpbGVzPC9kaXY+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgKm5nSWY9XCJxdWV1ZS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICA8ZGl2PjxiPisgQWRkPC9iPiBhbnkgb3RoZXIgZmlsZXM8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZD48L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cImZpbGUtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXBsb2FkRmlsZUN0cmxcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJhZGRUb1F1ZXVlKCRldmVudClcIiAvPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQWRkIEZpbGVzXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdwbHVzJ11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9wLXRhYmxlPlxyXG48L3NlY3Rpb24+XHJcbjxzZWN0aW9uICpuZ0lmPVwidGhpcy5jb250ZXh0ID09ICdzaWduYXR1cmUnXCI+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbD5cclxuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImltYWdlSHRtbFwiIHN0eWxlPVwid2lkdGg6IDM4NXB4OyBoZWlnaHQ6IDEwMHB4OyBib3JkZXI6IDFweCBzb2xpZCBncmF5OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj48L2Rpdj5cclxuICAgIDwvaW9uLWNvbD5cclxuICAgIDxpb24tY29sPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IGZvcm1Db250cm9sTmFtZT1cInVwbG9hZEZpbGVDdHJsXCIgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJhZGRUb1F1ZXVlKCRldmVudClcIiAvPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwic3F1YXJlXCIgc2l6ZT1cInNtYWxsXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XHJcbiAgICAgICAgICBJbXBvcnRcclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuPC9zZWN0aW9uPlxyXG48c2VjdGlvbiAqbmdJZj1cInRoaXMuY29udGV4dCA9PSAndXBsb2FkWmlwQ29kZXMnXCI+XHJcbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1pbnB1dC1jb250YWluZXJcIj5cclxuICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXBsb2FkRmlsZUN0cmxcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgIChjaGFuZ2UpPVwiYWRkVG9RdWV1ZSgkZXZlbnQpXCIgLz5cclxuICAgIDxpb24tYnV0dG9uIHNoYXBlPVwic3F1YXJlXCIgc2l6ZT1cImRlZmF1bHRcIiB0eXBlPVwic3VibWl0XCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cclxuICAgICAgVXBsb2FkIFppcCBDb2Rlc1xyXG4gICAgPC9pb24tYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjwvZm9ybT4iXX0=
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQTRCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQXNFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNNekgsOEJBQW1ELG1CQUFBO0lBRTNCLHdMQUFVLGVBQUEseUJBQWtCLENBQUEsSUFBQztJQURuRCxpQkFDc0Q7SUFDdEQsc0NBQWdHO0lBQTVCLGdMQUFTLGVBQUEsV0FBaUIsQ0FBQSxJQUFDO0lBQzdGLDhCQUNGO0lBQUEsaUJBQWEsRUFBQTs7O0lBSmtELGVBQTBCO0lBQTFCLCtDQUEwQjs7OztJQU8zRiw4QkFBb0Qsb0JBQUE7SUFFaEQsMExBQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDO0lBRC9CLGlCQUNrQztJQUNsQyxzQ0FBZ0c7SUFBNUIsa0xBQVMsZUFBQSxZQUFpQixDQUFBLElBQUM7SUFDN0YsNkJBQ0Y7SUFBQSxpQkFBYSxFQUFBOzs7SUFKa0QsZUFBMEI7SUFBMUIsK0NBQTBCOzs7SUFiL0YsMEJBQUksU0FBQTtJQUNFLG9CQUFJO0lBQUEsaUJBQUs7SUFDYiwwQkFBSTtJQUFBLG9CQUFJO0lBQUEsaUJBQUs7SUFDYiw2QkFBMkI7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LHFCQUFxQjtvQkFDbEMsS0FBSyxFQUFFLElBQUk7aUJBQ1osQ0FBQztZQ2pCSixrQ0FBcUUsaUJBQUE7WUFFakUsc0ZBc0JjLHlFQUFBLDBFQUFBO1lBd0JoQixpQkFBVSxFQUFBOztZQWhETiw4Q0FBNEI7WUFDdkIsZUFBZTtZQUFmLGlDQUFlLDZCQUFBOzs7aUZEa0JiLHFCQUFxQjtjQVZqQyxTQUFTOzJCQUNFLG1CQUFtQixhQUdsQixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsdUJBQXVCO3dCQUNsQyxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDO2lLQWFLLHVCQUF1QjtrQkFEN0IsU0FBUzttQkFBQyx5QkFBeUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFJdkQsTUFBTTtrQkFETCxNQUFNO1lBSVAsS0FBSztrQkFESixNQUFNO1lBR29CLFNBQVM7a0JBQW5DLFlBQVk7bUJBQUMsV0FBVztZQU96QixlQUFlO2tCQURkLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTix3QkFBd0I7a0JBRHZCLEtBQUs7WUFJTixpQkFBaUI7a0JBRGhCLEtBQUs7WUFJTixXQUFXO2tCQURWLEtBQUs7O2tGQXJDSyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZHJlbiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBDYXB0Y2hhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcbmltcG9ydCB7IERtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kbXMtc2VydmljZS9kbXMuc2VydmljZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmlsZS11cGxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IEZpbGVVcGxvYWRlckNvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuXG4gIHByaXZhdGUgREVGQVVMVF9TSU5HTEVfRklMRV9MSU1JVCA9IDE7XG5cbiAgcHJpdmF0ZSBERUZBVUxUX0ZJTEVfU0laRV9JTl9NQiA9IDE7XG5cbiAgcHJpdmF0ZSBGSUxFX1VQTE9BRF9BQ1RJT05fTkFNRSA9ICdmaWxlX3VwbG9hZCc7XG5cbiAgcHVibGljIHNob3dQcm9ncmVzcyA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyB1cGxvYWRGaWxlRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xuXG4gIEBPdXRwdXQoKVxuICB1cGxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWxlczogRXZlbnRFbWl0dGVyPE1hcDxGaWxlLCBzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkcmVuKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ7XG5cbiAgcXVldWU6IEZpbGVbXSA9IFtdO1xuXG4gIG1hcE9mRmlsZXM6IE1hcDxGaWxlLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93ZWRGaWxlVHlwZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2hvd1NlcGFyYXRlQXR0YWNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbm9PZkZpbGVzVG9VcGxvYWQ6IG51bWJlciA9IHRoaXMuREVGQVVMVF9TSU5HTEVfRklMRV9MSU1JVDtcblxuICBASW5wdXQoKVxuICBtYXhTaXplSW5NQjogbnVtYmVyID0gdGhpcy5ERUZBVUxUX0ZJTEVfU0laRV9JTl9NQjtcblxuICBcbiAgcHVibGljIHVwbG9hZEZpbGVGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlLCBwcml2YXRlIGZzOiBEbXNTZXJ2aWNlLCBcbiAgICBwdWJsaWMgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsIHByaXZhdGUgY3M6IENhcHRjaGFTZXJ2aWNlKSB7XG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ3VwbG9hZEZpbGVDdHJsJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdXBsb2FkRmlsZUN0cmwoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBsb2FkRmlsZUZvcm0uY29udHJvbHNbJ3VwbG9hZEZpbGVDdHJsJ107XG4gIH1cblxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xuXG4gIH07XG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7XG5cbiAgfTtcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cbiAgfVxuXG4gIGFkZFRvUXVldWUoZXZlbnQpIHtcbiAgICBsZXQgY3VyckZpbGVVcGxkU2l6ZTogbnVtYmVyID0gMDtcbiAgICBsZXQgcHJlRmlsZVVwbGRTaXplOiBudW1iZXIgPSAwO1xuICAgIGxldCBtYXhTaXplUmVhY2hlZDogQm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBjdXJVcGxkRmlsZUxlbjogbnVtYmVyID0gZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDtcbiAgICBsZXQgcHJlVXBsZEZpbGVMZW46IG51bWJlciA9IHRoaXMucXVldWUubGVuZ3RoO1xuXG4gICAgaWYgKChjdXJVcGxkRmlsZUxlbiArIHByZVVwbGRGaWxlTGVuKSA+IHRoaXMubm9PZkZpbGVzVG9VcGxvYWQpIHtcbiAgICAgIHRoaXMuZXJyb3IoXCJZb3UgY2FuIG5vdCB1cGxvYWQgbW9yZSB0aGFuIFwiICsgdGhpcy5ub09mRmlsZXNUb1VwbG9hZCArIFwiIGZpbGUocykuXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5xdWV1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgcHJlRmlsZVVwbGRTaXplID0gdGhpcy5nZXRTaXplSW5NQih0aGlzLnF1ZXVlW2ldLnNpemUpICsgcHJlRmlsZVVwbGRTaXplO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjdXJyRmlsZVVwbGRTaXplID0gY3VyckZpbGVVcGxkU2l6ZSArIHRoaXMuZ2V0U2l6ZUluTUIoZXZlbnQudGFyZ2V0LmZpbGVzW2ldLnNpemUpXG4gICAgfVxuXG4gICAgbWF4U2l6ZVJlYWNoZWQgPSAocHJlRmlsZVVwbGRTaXplICsgY3VyckZpbGVVcGxkU2l6ZSA+IHRoaXMubWF4U2l6ZUluTUIpO1xuXG4gICAgaWYgKG1heFNpemVSZWFjaGVkKSB7XG4gICAgICB0aGlzLmVycm9yKCdDb21iaW5lZCBmaWxlKHMpIHNpemUgY2FuIG5vdCBiZSBtb3JlIHRoYW4gJyArIHRoaXMubWF4U2l6ZUluTUIgKyAnIE1CLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdHJ1ZTtcbiAgICB0aGlzLmNzLmdlbmVyYXRlQ2FwdGNoYVRva2VuKHRoaXMuRklMRV9VUExPQURfQUNUSU9OX05BTUUpXG4gICAgICAuc3Vic2NyaWJlKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuY3Muc2V0SW52aXNpYmVsQ2FwdGNoYSh0b2tlbik7XG4gICAgICAgIGlmICghbWF4U2l6ZVJlYWNoZWQpIHtcbiAgICAgICAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZmlsZXNcIiwgZXZlbnQudGFyZ2V0LmZpbGVzW2ldLCBldmVudC50YXJnZXQuZmlsZXNbaV0ubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxldCBmaWxlcyA9IFsuLi5ldmVudC50YXJnZXQuZmlsZXNdO1xuICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgICAgIHRoaXMuZnNcbiAgICAgICAgICAgIC51cGxvYWRGaWxlKGZvcm1EYXRhKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnF1ZXVlLnB1c2goZmlsZXNbaV0pO1xuICAgICAgICAgICAgICAgICAgdGhpcy5tYXBPZkZpbGVzLnNldChmaWxlc1tpXSwgcmVzW2ldLmZpbGVJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoQXJyYXkuZnJvbSh0aGlzLm1hcE9mRmlsZXMudmFsdWVzKCkpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MoJ0ZpbGUocykgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5LicpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWQuZW1pdChBcnJheS5mcm9tKHRoaXMubWFwT2ZGaWxlcy52YWx1ZXMoKSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMuZW1pdCh0aGlzLm1hcE9mRmlsZXMpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvcihcIkZpbGUgdXBsb2FkIGZhaWxlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lcnJvcihcIkZpbGUgdXBsb2FkIGZhaWxlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIik7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZUZyb21RdWV1ZShmaWxlVG9SZW1vdmUpIHtcbiAgICBsZXQgaW5kZXg7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5xdWV1ZVtpXS5uYW1lID09PSBmaWxlVG9SZW1vdmUubmFtZSkge1xuICAgICAgICBpbmRleCA9IGk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdHJ1ZTtcbiAgICBsZXQgZmlsZUlkID0gdGhpcy5tYXBPZkZpbGVzLmdldChmaWxlVG9SZW1vdmUpO1xuICAgIHRoaXMuY3MuZ2VuZXJhdGVDYXB0Y2hhVG9rZW4odGhpcy5GSUxFX1VQTE9BRF9BQ1RJT05fTkFNRSlcbiAgICAgIC5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5jcy5zZXRJbnZpc2liZWxDYXB0Y2hhKHRva2VuKTtcbiAgICAgICAgdGhpcy5mcy5kZWxldGVGaWxlKGZpbGVJZClcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnF1ZXVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLm1hcE9mRmlsZXMuZGVsZXRlKGZpbGVUb1JlbW92ZSk7XG4gICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShBcnJheS5mcm9tKHRoaXMubWFwT2ZGaWxlcy52YWx1ZXMoKSkpO1xuICAgICAgICAgICAgdGhpcy51cGxvYWQuZW1pdChBcnJheS5mcm9tKHRoaXMubWFwT2ZGaWxlcy52YWx1ZXMoKSkpXG4gICAgICAgICAgICB0aGlzLmZpbGVzLmVtaXQodGhpcy5tYXBPZkZpbGVzKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWxldGluZyBmaWxlLiBQbGVhc2UgdHJ5IGFnYWluLlwiKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgfSlcbiAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWxldGluZyBmaWxlLiBQbGVhc2UgdHJ5IGFnYWluLlwiKTtcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgIH0pO1xuXG4gIH1cblxuICBnZXRTaXplSW5NQihudW06IG51bWJlcikge1xuICAgIHJldHVybiBudW0gLyAxMDI0IC8gMTAyNFxuICB9XG5cbiAgYXN5bmMgcHJlc2VudFRvYXN0KG1zZywgY29sb3IpIHtcbiAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBtZXNzYWdlOiBtc2csXG4gICAgICBkdXJhdGlvbjogNTAwMCxcbiAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgIHBvc2l0aW9uOiAnYm90dG9tJ1xuICAgIH0pO1xuICAgIHRvYXN0LnByZXNlbnQoKTtcbiAgfVxuXG4gIHN1Y2Nlc3MobXNnKSB7XG4gICAgdGhpcy5wcmVzZW50VG9hc3QobXNnLCAncHJpbWFyeScpO1xuICB9XG5cbiAgZXJyb3IobXNnKSB7XG4gICAgdGhpcy5wcmVzZW50VG9hc3QobXNnLCAnZGFuZ2VyJyk7XG4gIH1cblxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJ1cGxvYWRGaWxlRm9ybVwiICN1cGxvYWRGaWxlRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gIDxwLXRhYmxlIFt2YWx1ZV09XCJxdWV1ZVwiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbbG9hZGluZ109XCJzaG93UHJvZ3Jlc3NcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0aD5OYW1lPC90aD5cclxuICAgICAgICA8dGg+U2l6ZTwvdGg+XHJcbiAgICAgICAgPHRoIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWlucHV0LWNvbnRhaW5lclwiICpuZ0lmPVwibXVsdGlwbGVcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ1cGxvYWRGaWxlQ3RybFwiIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgICAgICBtdWx0aXBsZT1cIm11bHRpcGxlXCIgKGNoYW5nZSk9XCJhZGRUb1F1ZXVlKCRldmVudClcIiAvPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc2l6ZT1cInNtYWxsXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgQ2hvb3NlIEZpbGVzXHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWlucHV0LWNvbnRhaW5lclwiICpuZ0lmPVwiIW11bHRpcGxlXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXBsb2FkRmlsZUN0cmxcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJhZGRUb1F1ZXVlKCRldmVudClcIiAvPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc2l6ZT1cInNtYWxsXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgQ2hvb3NlIEZpbGVcclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1xdWV1ZT5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0ZD57eyBxdWV1ZT8ubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgPHRkPnt7IHF1ZXVlPy5zaXplLzEwMjQvMTAyNCB8IG51bWJlcjonLjInIH19IE1CPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHNpemU9XCJzbWFsbFwiIHBUb29sdGlwPVwiUmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUZyb21RdWV1ZShxdWV1ZSlcIlxyXG4gICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBjbGFzcz1cImlvbi1wYWRkaW5nLWxlZnRcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cIjNcIiA+XHJcbiAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJhbGxvd2VkRmlsZVR5cGVcIj5Zb3UgYXJlIGFsbG93ZWQgdG8gdXBsb2FkIGZpbGUocykgd2l0aCBmb2xsb3dpbmcgZXh0ZW50aW9uczoge3thbGxvd2VkRmlsZVR5cGV9fS48L2xpPlxyXG4gICAgICAgICAgICAgIDxsaT5Ub3RhbCBmaWxlKHMpIHNpemUgY2Fubm90IGV4Y2VlZCA8Yj57e21heFNpemVJbk1CfX08L2I+IE1CLjwvbGk+XHJcbiAgICAgICAgICAgICAgPGxpPllvdSBjYW4gdXBsb2FkIG1heGltdW0gPGI+e3tub09mRmlsZXNUb1VwbG9hZH19PC9iPiBmaWxlKHMpLjwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9wLXRhYmxlPlxyXG48L2Zvcm0+Il19