@osovitny/anatoly 3.17.76 → 3.17.78

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 (201) hide show
  1. package/esm2022/lib/anatoly.module.mjs +2 -3
  2. package/esm2022/lib/billing/billing.module.mjs +70 -0
  3. package/esm2022/lib/billing/exports.mjs +19 -0
  4. package/esm2022/lib/billing/models/paypal-models.mjs +16 -0
  5. package/esm2022/lib/billing/payments/components/braintree/braintree.component.mjs +155 -0
  6. package/esm2022/lib/billing/payments/components/exports.mjs +22 -0
  7. package/esm2022/lib/billing/payments/components/index.mjs +25 -0
  8. package/esm2022/lib/billing/payments/components/paypal/paypal-button.component.mjs +157 -0
  9. package/esm2022/lib/billing/payments/components/paypal/paypal.component.mjs +316 -0
  10. package/esm2022/lib/billing/payments/components/stripe/stripe.component.mjs +109 -0
  11. package/esm2022/lib/billing/payments/services/payments.service.mjs +173 -0
  12. package/esm2022/lib/billing/services/paypal-script.service.mjs +84 -0
  13. package/esm2022/lib/core/browser.mjs +3 -3
  14. package/esm2022/lib/core/consts/app-settings.mjs +3 -3
  15. package/esm2022/lib/core/consts/core-settings.mjs +3 -3
  16. package/esm2022/lib/core/consts/formats.mjs +3 -3
  17. package/esm2022/lib/core/consts/ga.mjs +26 -0
  18. package/esm2022/lib/core/converts/convert.mjs +3 -3
  19. package/esm2022/lib/core/converts/dateConvert.mjs +3 -3
  20. package/esm2022/lib/core/converts/tz/tzParseTimezone.mjs +3 -3
  21. package/esm2022/lib/core/converts/tz/tzTokenizeDate.mjs +3 -3
  22. package/esm2022/lib/core/converts/xmlFormatter.mjs +3 -3
  23. package/esm2022/lib/core/core.module.mjs +10 -3
  24. package/esm2022/lib/core/dom.mjs +7 -7
  25. package/esm2022/lib/core/enums/billing.mjs +51 -0
  26. package/esm2022/lib/core/enums/enums.mjs +21 -0
  27. package/esm2022/lib/core/exports.mjs +63 -0
  28. package/esm2022/lib/core/go/base-go.service.mjs +4 -4
  29. package/esm2022/lib/core/guards/once-import.guard.mjs +4 -4
  30. package/esm2022/lib/core/guards/starter.guard.mjs +3 -3
  31. package/esm2022/lib/core/guid.mjs +3 -3
  32. package/esm2022/lib/core/interceptors/httpInterceptor.mjs +4 -4
  33. package/esm2022/lib/core/is.mjs +3 -3
  34. package/esm2022/lib/core/localization/localization.module.mjs +3 -3
  35. package/esm2022/lib/core/localization/localization.service.mjs +3 -3
  36. package/esm2022/lib/core/localization/localize.pipe.mjs +3 -3
  37. package/esm2022/lib/core/localization/settings.module.mjs +3 -3
  38. package/esm2022/lib/core/localization/utils.mjs +3 -3
  39. package/esm2022/lib/core/logging/globalErrorHandler.mjs +3 -3
  40. package/esm2022/lib/core/logging/logging.service.mjs +3 -3
  41. package/esm2022/lib/core/models/qs.mjs +17 -0
  42. package/esm2022/lib/core/notifications/alerts.mjs +3 -3
  43. package/esm2022/lib/core/notifications/interfaces/notification.mjs +3 -3
  44. package/esm2022/lib/core/notifications/services/notification-service.mjs +3 -3
  45. package/esm2022/lib/core/performance/stopwatch.mjs +4 -4
  46. package/esm2022/lib/core/services/appcontext.service.mjs +3 -3
  47. package/esm2022/lib/core/services/dm.service.mjs +3 -3
  48. package/esm2022/lib/core/services/google-analytics.service.mjs +3 -3
  49. package/esm2022/lib/core/services/idle.service.mjs +3 -3
  50. package/esm2022/lib/core/services/loading.service.mjs +3 -3
  51. package/esm2022/lib/core/services/script.service.mjs +77 -0
  52. package/esm2022/lib/core/services/starter.service.mjs +1 -1
  53. package/esm2022/lib/core/services/web-storage.service.mjs +4 -4
  54. package/esm2022/lib/core/subs.mjs +3 -3
  55. package/esm2022/lib/core/utils/qsutils.mjs +3 -3
  56. package/esm2022/lib/core/utils/utils.mjs +3 -3
  57. package/esm2022/lib/data/base/api.service.mjs +2 -3
  58. package/esm2022/lib/data/base/grid/grid-edit.service.mjs +2 -3
  59. package/esm2022/lib/data/base/grid/grid-read.service.mjs +2 -3
  60. package/esm2022/lib/data/data.module.mjs +10 -3
  61. package/esm2022/lib/data/exports.mjs +22 -0
  62. package/esm2022/lib/data/services/billing/payments-api.service.mjs +67 -0
  63. package/esm2022/lib/data/services/core-api.service.mjs +5 -5
  64. package/esm2022/lib/data/services/emails-api.service.mjs +5 -5
  65. package/esm2022/lib/external/fa.module.mjs +45 -0
  66. package/esm2022/lib/external/kendo.module.mjs +90 -0
  67. package/esm2022/lib/iam/b2c/b2c.mjs +3 -3
  68. package/esm2022/lib/iam/b2c/consts.mjs +3 -3
  69. package/esm2022/lib/iam/b2c/index.mjs +3 -3
  70. package/esm2022/lib/iam/configs.mjs +3 -3
  71. package/esm2022/lib/iam/consts.mjs +3 -3
  72. package/esm2022/lib/iam/exports.mjs +22 -0
  73. package/esm2022/lib/iam/guards/admin.guard.mjs +3 -3
  74. package/esm2022/lib/iam/guards/authentication.guard.mjs +1 -1
  75. package/esm2022/lib/iam/guards/index.mjs +2 -2
  76. package/esm2022/lib/iam/iam-pages.module.mjs +3 -3
  77. package/esm2022/lib/iam/iam-pages.routes.mjs +3 -3
  78. package/esm2022/lib/iam/iam.module.mjs +3 -3
  79. package/esm2022/lib/iam/pages/signin.page.mjs +3 -3
  80. package/esm2022/lib/iam/pages/signout.page.mjs +3 -3
  81. package/esm2022/lib/iam/pages/signup.page.mjs +3 -3
  82. package/esm2022/lib/iam/redirect.mjs +3 -3
  83. package/esm2022/lib/iam/services/auth.service.mjs +2 -2
  84. package/esm2022/lib/iam/storage.mjs +3 -3
  85. package/esm2022/lib/iam/utils.mjs +3 -3
  86. package/esm2022/lib/ui/components/base/components/component.mjs +4 -4
  87. package/esm2022/lib/ui/components/base/components/edit.component.mjs +4 -4
  88. package/esm2022/lib/ui/components/base/components/enum-edit.component.mjs +4 -4
  89. package/esm2022/lib/ui/components/base/dialog.mjs +3 -3
  90. package/esm2022/lib/ui/components/base/list.mjs +3 -3
  91. package/esm2022/lib/ui/components/base/pages/edit.page.mjs +3 -3
  92. package/esm2022/lib/ui/components/base/pages/page.mjs +3 -3
  93. package/esm2022/lib/ui/components/base/pages/paged.page.mjs +3 -3
  94. package/esm2022/lib/ui/components/billing/buyaccess-button.component.mjs +3 -3
  95. package/esm2022/lib/ui/components/billing/subscribe-plan-button.component.mjs +3 -3
  96. package/esm2022/lib/ui/components/card/card-body.component.mjs +3 -4
  97. package/esm2022/lib/ui/components/card/card-footer.component.mjs +3 -4
  98. package/esm2022/lib/ui/components/card/card-header.component.mjs +3 -4
  99. package/esm2022/lib/ui/components/card/card.component.mjs +3 -4
  100. package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +3 -3
  101. package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +3 -3
  102. package/esm2022/lib/ui/components/datapager/datapager.component.mjs +3 -3
  103. package/esm2022/lib/ui/components/dropdownlists/country/country.dropdownlist.mjs +3 -3
  104. package/esm2022/lib/ui/components/dropdownlists/timezone/timezone.dropdownlist.mjs +3 -3
  105. package/esm2022/lib/ui/components/exports.mjs +50 -0
  106. package/esm2022/lib/ui/components/html-editor/base-html-editor.component.mjs +1 -1
  107. package/esm2022/lib/ui/components/html-editor/forms-html-editor.component.mjs +3 -3
  108. package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +3 -3
  109. package/esm2022/lib/ui/components/html-editor/html-editor.defaultoptions.mjs +3 -3
  110. package/esm2022/lib/ui/components/identity/signin-button.component.mjs +3 -3
  111. package/esm2022/lib/ui/components/identity/signout-button.component.mjs +3 -3
  112. package/esm2022/lib/ui/components/identity/signup-button.component.mjs +3 -3
  113. package/esm2022/lib/ui/components/index.mjs +44 -37
  114. package/esm2022/lib/ui/components/nodata/nodata.component.mjs +3 -3
  115. package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +3 -3
  116. package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +3 -3
  117. package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +3 -3
  118. package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +3 -3
  119. package/esm2022/lib/ui/dialogs/exports.mjs +17 -0
  120. package/esm2022/lib/ui/dialogs/index.mjs +7 -4
  121. package/esm2022/lib/ui/directives/exports.mjs +18 -0
  122. package/esm2022/lib/ui/directives/hover.directive.mjs +3 -3
  123. package/esm2022/lib/ui/directives/index.mjs +8 -5
  124. package/esm2022/lib/ui/directives/native-element.directive.mjs +3 -3
  125. package/esm2022/lib/ui/exports.mjs +22 -0
  126. package/esm2022/lib/ui/forms/components/address/address.component.mjs +6 -6
  127. package/esm2022/lib/ui/forms/components/company/company.component.mjs +4 -4
  128. package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +3 -3
  129. package/esm2022/lib/ui/forms/exports.mjs +21 -0
  130. package/esm2022/lib/ui/forms/index.mjs +9 -8
  131. package/esm2022/lib/ui/pipes/exports.mjs +19 -0
  132. package/esm2022/lib/ui/pipes/filesize.pipe.mjs +3 -3
  133. package/esm2022/lib/ui/pipes/index.mjs +9 -6
  134. package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +3 -3
  135. package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +3 -3
  136. package/esm2022/lib/ui/ui.module.mjs +51 -137
  137. package/esm2022/lib/ui/validation/exports.mjs +19 -0
  138. package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +3 -3
  139. package/esm2022/lib/ui/validation/index.mjs +8 -6
  140. package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +3 -3
  141. package/esm2022/lib/ui/validation/validation-summary.component.mjs +3 -3
  142. package/esm2022/public-api.mjs +9 -14
  143. package/fesm2022/osovitny-anatoly.mjs +1653 -873
  144. package/fesm2022/osovitny-anatoly.mjs.map +1 -1
  145. package/lib/billing/billing.module.d.ts +13 -0
  146. package/lib/billing/exports.d.ts +3 -0
  147. package/lib/{payments/PayPal → billing}/models/paypal-models.d.ts +1 -4
  148. package/lib/billing/payments/components/braintree/braintree.component.d.ts +25 -0
  149. package/lib/billing/payments/components/exports.d.ts +4 -0
  150. package/lib/billing/payments/components/index.d.ts +2 -0
  151. package/lib/billing/payments/components/paypal/paypal-button.component.d.ts +18 -0
  152. package/lib/{payments/PayPal/components → billing/payments/components/paypal}/paypal.component.d.ts +3 -3
  153. package/lib/billing/payments/components/stripe/stripe.component.d.ts +21 -0
  154. package/lib/billing/payments/services/payments.service.d.ts +50 -0
  155. package/lib/{payments/PayPal → billing}/services/paypal-script.service.d.ts +3 -4
  156. package/lib/core/consts/ga.d.ts +11 -0
  157. package/lib/core/enums/billing.d.ts +29 -0
  158. package/lib/core/enums/enums.d.ts +4 -0
  159. package/lib/core/{index.d.ts → exports.d.ts} +3 -0
  160. package/lib/core/interceptors/httpInterceptor.d.ts +1 -1
  161. package/lib/core/models/qs.d.ts +4 -0
  162. package/lib/{payments → core}/services/script.service.d.ts +3 -1
  163. package/lib/data/services/billing/payments-api.service.d.ts +13 -0
  164. package/lib/ui/components/base/components/component.d.ts +1 -1
  165. package/lib/ui/components/exports.d.ts +30 -0
  166. package/lib/ui/components/index.d.ts +2 -30
  167. package/lib/ui/dialogs/exports.d.ts +1 -0
  168. package/lib/ui/dialogs/index.d.ts +2 -1
  169. package/lib/ui/directives/exports.d.ts +2 -0
  170. package/lib/ui/directives/index.d.ts +2 -2
  171. package/lib/ui/exports.d.ts +6 -0
  172. package/lib/ui/forms/components/address/address.component.d.ts +2 -2
  173. package/lib/ui/forms/components/company/company.component.d.ts +1 -1
  174. package/lib/ui/forms/exports.d.ts +3 -0
  175. package/lib/ui/forms/index.d.ts +2 -3
  176. package/lib/ui/pipes/exports.d.ts +3 -0
  177. package/lib/ui/pipes/index.d.ts +2 -3
  178. package/lib/ui/ui.module.d.ts +21 -21
  179. package/lib/ui/validation/exports.d.ts +3 -0
  180. package/lib/ui/validation/index.d.ts +2 -3
  181. package/package.json +4 -2
  182. package/public-api.d.ts +6 -11
  183. package/esm2022/lib/core/index.mjs +0 -59
  184. package/esm2022/lib/data/index.mjs +0 -23
  185. package/esm2022/lib/data/urls.mjs +0 -22
  186. package/esm2022/lib/iam/index.mjs +0 -22
  187. package/esm2022/lib/payments/PayPal/components/paypal.component.mjs +0 -317
  188. package/esm2022/lib/payments/PayPal/models/paypal-models.mjs +0 -17
  189. package/esm2022/lib/payments/PayPal/services/paypal-script.service.mjs +0 -98
  190. package/esm2022/lib/payments/index.mjs +0 -22
  191. package/esm2022/lib/payments/payments.module.mjs +0 -54
  192. package/esm2022/lib/payments/services/script.service.mjs +0 -63
  193. package/esm2022/lib/ui/external/fa.module.mjs +0 -46
  194. package/esm2022/lib/ui/external/kendo.module.mjs +0 -91
  195. package/lib/data/urls.d.ts +0 -4
  196. package/lib/payments/index.d.ts +0 -4
  197. package/lib/payments/payments.module.d.ts +0 -8
  198. /package/lib/data/{index.d.ts → exports.d.ts} +0 -0
  199. /package/lib/{ui/external → external}/fa.module.d.ts +0 -0
  200. /package/lib/{ui/external → external}/kendo.module.d.ts +0 -0
  201. /package/lib/iam/{index.d.ts → exports.d.ts} +0 -0
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  6 Dec 2018
@@ -54,4 +54,4 @@ export class AnatolyIAMPagesModule {
54
54
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyIAMPagesModule, { declarations: [i1.SignInPage, i2.SignUpPage, i3.SignOutPage], imports: [CommonModule,
55
55
  RouterModule,
56
56
  HttpClientModule, i4.RouterModule] }); })();
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLXBhZ2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9pYW0vaWFtLXBhZ2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLFFBQVE7QUFDUixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFlNUQsTUFBTSxPQUFPLHFCQUFxQjtzRkFBckIscUJBQXFCO21FQUFyQixxQkFBcUI7dUVBWDlCLFlBQVk7WUFDWixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGVBQWU7O2lGQVFOLHFCQUFxQjtjQWJqQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRSxFQUNSO2dCQUNELFlBQVksRUFBRTtvQkFDWixHQUFHLEtBQUs7aUJBQ1Q7YUFDRjs7d0ZBQ1kscUJBQXFCLDRFQVg5QixZQUFZO1FBQ1osWUFBWTtRQUNaLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA2IERlYyAyMDE4XHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL1JvdXRlc1xyXG5pbXBvcnQgeyBJQU1Sb3V0ZXJNb2R1bGUsIFBBR0VTIH0gZnJvbSBcIi4vaWFtLXBhZ2VzLnJvdXRlc1wiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgSUFNUm91dGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIC4uLlBBR0VTXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUlBTVBhZ2VzTW9kdWxlIHtcclxufVxyXG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLXBhZ2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9pYW0vaWFtLXBhZ2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLFFBQVE7QUFDUixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFlNUQsTUFBTSxPQUFPLHFCQUFxQjtzRkFBckIscUJBQXFCO21FQUFyQixxQkFBcUI7dUVBWDlCLFlBQVk7WUFDWixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGVBQWU7O2lGQVFOLHFCQUFxQjtjQWJqQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRSxFQUNSO2dCQUNELFlBQVksRUFBRTtvQkFDWixHQUFHLEtBQUs7aUJBQ1Q7YUFDRjs7d0ZBQ1kscUJBQXFCLDRFQVg5QixZQUFZO1FBQ1osWUFBWTtRQUNaLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA2IERlYyAyMDE4XHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL1JvdXRlc1xyXG5pbXBvcnQgeyBJQU1Sb3V0ZXJNb2R1bGUsIFBBR0VTIH0gZnJvbSBcIi4vaWFtLXBhZ2VzLnJvdXRlc1wiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgSUFNUm91dGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIC4uLlBBR0VTXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUlBTVBhZ2VzTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  2 May 2023
@@ -42,4 +42,4 @@ export const PAGES = [
42
42
  SignUpPage,
43
43
  SignOutPage
44
44
  ];
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLXBhZ2VzLnJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9pYW0vaWFtLXBhZ2VzLnJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU87QUFDUCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsU0FBUyxFQUFFLFVBQVU7S0FDdEI7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsU0FBUyxFQUFFLFVBQVU7S0FDdEI7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsU0FBUyxFQUFFLFdBQVc7S0FDdkI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuXHRDcmVhdGVkOlxyXG5cdFx0MiBNYXkgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuXHRDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vUGFnZXNcclxuaW1wb3J0IHsgU2lnbkluUGFnZSB9IGZyb20gXCIuL3BhZ2VzL3NpZ25pbi5wYWdlXCI7XHJcbmltcG9ydCB7IFNpZ25PdXRQYWdlIH0gZnJvbSBcIi4vcGFnZXMvc2lnbm91dC5wYWdlXCI7XHJcbmltcG9ydCB7IFNpZ25VcFBhZ2UgfSBmcm9tIFwiLi9wYWdlcy9zaWdudXAucGFnZVwiO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAge1xyXG4gICAgcGF0aDogXCJzaWduaW5cIixcclxuICAgIGNvbXBvbmVudDogU2lnbkluUGFnZVxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGF0aDogXCJzaWdudXBcIixcclxuICAgIGNvbXBvbmVudDogU2lnblVwUGFnZVxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGF0aDogXCJzaWdub3V0XCIsXHJcbiAgICBjb21wb25lbnQ6IFNpZ25PdXRQYWdlXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IElBTVJvdXRlck1vZHVsZSA9IFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpO1xyXG5leHBvcnQgY29uc3QgUEFHRVMgPSBbXHJcbiAgU2lnbkluUGFnZSxcclxuICBTaWduVXBQYWdlLFxyXG4gIFNpZ25PdXRQYWdlXHJcbl07XHJcbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLXBhZ2VzLnJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9pYW0vaWFtLXBhZ2VzLnJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU87QUFDUCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsU0FBUyxFQUFFLFVBQVU7S0FDdEI7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsU0FBUyxFQUFFLFVBQVU7S0FDdEI7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsU0FBUyxFQUFFLFdBQVc7S0FDdkI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuXHRDcmVhdGVkOlxyXG5cdFx0MiBNYXkgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuXHRDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vUGFnZXNcclxuaW1wb3J0IHsgU2lnbkluUGFnZSB9IGZyb20gXCIuL3BhZ2VzL3NpZ25pbi5wYWdlXCI7XHJcbmltcG9ydCB7IFNpZ25PdXRQYWdlIH0gZnJvbSBcIi4vcGFnZXMvc2lnbm91dC5wYWdlXCI7XHJcbmltcG9ydCB7IFNpZ25VcFBhZ2UgfSBmcm9tIFwiLi9wYWdlcy9zaWdudXAucGFnZVwiO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAge1xyXG4gICAgcGF0aDogXCJzaWduaW5cIixcclxuICAgIGNvbXBvbmVudDogU2lnbkluUGFnZVxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGF0aDogXCJzaWdudXBcIixcclxuICAgIGNvbXBvbmVudDogU2lnblVwUGFnZVxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGF0aDogXCJzaWdub3V0XCIsXHJcbiAgICBjb21wb25lbnQ6IFNpZ25PdXRQYWdlXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IElBTVJvdXRlck1vZHVsZSA9IFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpO1xyXG5leHBvcnQgY29uc3QgUEFHRVMgPSBbXHJcbiAgU2lnbkluUGFnZSxcclxuICBTaWduVXBQYWdlLFxyXG4gIFNpZ25PdXRQYWdlXHJcbl07XHJcbiJdfQ==
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  6 Dec 2018
@@ -81,4 +81,4 @@ export class AnatolyIAMModule {
81
81
  RouterModule,
82
82
  HttpClientModule,
83
83
  MsalModule] }); })();
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9pYW0vaWFtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoSyxLQUFLO0FBQ0wsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUV0RCxNQUFNLGFBQWEsR0FBRztJQUNwQjtRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLGVBQWU7UUFDekIsS0FBSyxFQUFFLElBQUk7S0FDWjtJQUNEO1FBQ0UsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxVQUFVLEVBQUUsNEJBQTRCO0tBQ3pDO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFVBQVUsRUFBRSxzQkFBc0I7S0FDbkM7SUFDRDtRQUNFLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFVBQVUsRUFBRSxtQkFBbUI7S0FDaEM7SUFDRCxXQUFXO0lBQ1gsb0JBQW9CO0lBRXBCLEtBQUs7SUFDTCxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLFVBQVU7Q0FDWCxDQUFDO0FBZUYsTUFBTSxPQUFPLGdCQUFnQjtpRkFBaEIsZ0JBQWdCO21FQUFoQixnQkFBZ0I7d0VBSmhCO1lBQ1QsR0FBRyxhQUFhO1NBQ2pCLFlBVEMsWUFBWTtZQUNaLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsVUFBVTs7aUZBUUQsZ0JBQWdCO2NBYjVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsVUFBVTtpQkFDWDtnQkFDRCxPQUFPLEVBQUUsRUFDUjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsR0FBRyxhQUFhO2lCQUNqQjthQUNGOzt3RkFDWSxnQkFBZ0IsY0FYekIsWUFBWTtRQUNaLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA2IERlYyAyMDE4XHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNc2FsQnJvYWRjYXN0U2VydmljZSwgTXNhbEludGVyY2VwdG9yLCBNc2FsTW9kdWxlLCBNc2FsU2VydmljZSwgTVNBTF9HVUFSRF9DT05GSUcsIE1TQUxfSU5TVEFOQ0UsIE1TQUxfSU5URVJDRVBUT1JfQ09ORklHIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBNU0FMR3VhcmRDb25maWdGYWN0b3J5LCBNU0FMSW5zdGFuY2VGYWN0b3J5LCBNU0FMSW50ZXJjZXB0b3JDb25maWdGYWN0b3J5IH0gZnJvbSAnLi9jb25maWdzJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25HdWFyZCwgQWRtaW5HdWFyZCB9IGZyb20gJy4vZ3VhcmRzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcblxyXG5jb25zdCBNU0FMUHJvdmlkZXJzID0gW1xyXG4gIHtcclxuICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgdXNlQ2xhc3M6IE1zYWxJbnRlcmNlcHRvcixcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm92aWRlOiBNU0FMX0lOVEVSQ0VQVE9SX0NPTkZJRyxcclxuICAgIHVzZUZhY3Rvcnk6IE1TQUxJbnRlcmNlcHRvckNvbmZpZ0ZhY3RvcnlcclxuICB9LFxyXG4gIHtcclxuICAgIHByb3ZpZGU6IE1TQUxfR1VBUkRfQ09ORklHLFxyXG4gICAgdXNlRmFjdG9yeTogTVNBTEd1YXJkQ29uZmlnRmFjdG9yeVxyXG4gIH0sXHJcbiAge1xyXG4gICAgcHJvdmlkZTogTVNBTF9JTlNUQU5DRSxcclxuICAgIHVzZUZhY3Rvcnk6IE1TQUxJbnN0YW5jZUZhY3RvcnlcclxuICB9LFxyXG4gIE1zYWxTZXJ2aWNlLFxyXG4gIE1zYWxCcm9hZGNhc3RTZXJ2aWNlLFxyXG5cclxuICAvL0FwcFxyXG4gIEF1dGhTZXJ2aWNlLFxyXG4gIEF1dGhlbnRpY2F0aW9uR3VhcmQsXHJcbiAgQWRtaW5HdWFyZFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgTXNhbE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICAuLi5NU0FMUHJvdmlkZXJzXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUlBTU1vZHVsZSB7XHJcbn1cclxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9pYW0vaWFtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoSyxLQUFLO0FBQ0wsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUV0RCxNQUFNLGFBQWEsR0FBRztJQUNwQjtRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLGVBQWU7UUFDekIsS0FBSyxFQUFFLElBQUk7S0FDWjtJQUNEO1FBQ0UsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxVQUFVLEVBQUUsNEJBQTRCO0tBQ3pDO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFVBQVUsRUFBRSxzQkFBc0I7S0FDbkM7SUFDRDtRQUNFLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFVBQVUsRUFBRSxtQkFBbUI7S0FDaEM7SUFDRCxXQUFXO0lBQ1gsb0JBQW9CO0lBRXBCLEtBQUs7SUFDTCxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLFVBQVU7Q0FDWCxDQUFDO0FBZUYsTUFBTSxPQUFPLGdCQUFnQjtpRkFBaEIsZ0JBQWdCO21FQUFoQixnQkFBZ0I7d0VBSmhCO1lBQ1QsR0FBRyxhQUFhO1NBQ2pCLFlBVEMsWUFBWTtZQUNaLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsVUFBVTs7aUZBUUQsZ0JBQWdCO2NBYjVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsVUFBVTtpQkFDWDtnQkFDRCxPQUFPLEVBQUUsRUFDUjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsR0FBRyxhQUFhO2lCQUNqQjthQUNGOzt3RkFDWSxnQkFBZ0IsY0FYekIsWUFBWTtRQUNaLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA2IERlYyAyMDE4XHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNc2FsQnJvYWRjYXN0U2VydmljZSwgTXNhbEludGVyY2VwdG9yLCBNc2FsTW9kdWxlLCBNc2FsU2VydmljZSwgTVNBTF9HVUFSRF9DT05GSUcsIE1TQUxfSU5TVEFOQ0UsIE1TQUxfSU5URVJDRVBUT1JfQ09ORklHIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBNU0FMR3VhcmRDb25maWdGYWN0b3J5LCBNU0FMSW5zdGFuY2VGYWN0b3J5LCBNU0FMSW50ZXJjZXB0b3JDb25maWdGYWN0b3J5IH0gZnJvbSAnLi9jb25maWdzJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25HdWFyZCwgQWRtaW5HdWFyZCB9IGZyb20gJy4vZ3VhcmRzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcblxyXG5jb25zdCBNU0FMUHJvdmlkZXJzID0gW1xyXG4gIHtcclxuICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgdXNlQ2xhc3M6IE1zYWxJbnRlcmNlcHRvcixcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm92aWRlOiBNU0FMX0lOVEVSQ0VQVE9SX0NPTkZJRyxcclxuICAgIHVzZUZhY3Rvcnk6IE1TQUxJbnRlcmNlcHRvckNvbmZpZ0ZhY3RvcnlcclxuICB9LFxyXG4gIHtcclxuICAgIHByb3ZpZGU6IE1TQUxfR1VBUkRfQ09ORklHLFxyXG4gICAgdXNlRmFjdG9yeTogTVNBTEd1YXJkQ29uZmlnRmFjdG9yeVxyXG4gIH0sXHJcbiAge1xyXG4gICAgcHJvdmlkZTogTVNBTF9JTlNUQU5DRSxcclxuICAgIHVzZUZhY3Rvcnk6IE1TQUxJbnN0YW5jZUZhY3RvcnlcclxuICB9LFxyXG4gIE1zYWxTZXJ2aWNlLFxyXG4gIE1zYWxCcm9hZGNhc3RTZXJ2aWNlLFxyXG5cclxuICAvL0FwcFxyXG4gIEF1dGhTZXJ2aWNlLFxyXG4gIEF1dGhlbnRpY2F0aW9uR3VhcmQsXHJcbiAgQWRtaW5HdWFyZFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgTXNhbE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICAuLi5NU0FMUHJvdmlkZXJzXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUlBTU1vZHVsZSB7XHJcbn1cclxuIl19
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  20 Sep 2023
@@ -37,4 +37,4 @@ export class SignInPage extends PageBase {
37
37
  args: [{ selector: 'iam-signin-page', template: "" }]
38
38
  }], () => [{ type: i1.AuthService }], null); })();
39
39
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SignInPage, { className: "SignInPage", filePath: "lib\\iam\\pages\\signin.page.ts", lineNumber: 31 }); })();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL3BhZ2VzL3NpZ25pbi5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBTS9ELE1BQU0sT0FBTyxVQUFXLFNBQVEsUUFBUTtJQUN0QyxZQUFvQixJQUFpQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQWE7SUFFckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7MkVBUFUsVUFBVTtvRUFBVixVQUFVOztpRkFBVixVQUFVO2NBSnRCLFNBQVM7MkJBQ0UsaUJBQWlCOztrRkFHaEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMCBTZXAgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdlQmFzZSB9IGZyb20gJy4uLy4uL3VpL2NvbXBvbmVudHMvYmFzZS9wYWdlcy9wYWdlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWFtLXNpZ25pbi1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbmluLnBhZ2UuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ25JblBhZ2UgZXh0ZW5kcyBQYWdlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoLmxvZ2luKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL3BhZ2VzL3NpZ25pbi5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBTS9ELE1BQU0sT0FBTyxVQUFXLFNBQVEsUUFBUTtJQUN0QyxZQUFvQixJQUFpQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQWE7SUFFckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7MkVBUFUsVUFBVTtvRUFBVixVQUFVOztpRkFBVixVQUFVO2NBSnRCLFNBQVM7MkJBQ0UsaUJBQWlCOztrRkFHaEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMCBTZXAgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdlQmFzZSB9IGZyb20gJy4uLy4uL3VpL2NvbXBvbmVudHMvYmFzZS9wYWdlcy9wYWdlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWFtLXNpZ25pbi1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbmluLnBhZ2UuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ25JblBhZ2UgZXh0ZW5kcyBQYWdlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoLmxvZ2luKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  20 Sep 2023
@@ -37,4 +37,4 @@ export class SignOutPage extends PageBase {
37
37
  args: [{ selector: 'iam-signout-page', template: "" }]
38
38
  }], () => [{ type: i1.AuthService }], null); })();
39
39
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SignOutPage, { className: "SignOutPage", filePath: "lib\\iam\\pages\\signout.page.ts", lineNumber: 31 }); })();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbm91dC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2lhbS9wYWdlcy9zaWdub3V0LnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFNL0QsTUFBTSxPQUFPLFdBQVksU0FBUSxRQUFRO0lBQ3ZDLFlBQW9CLElBQWlCO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUVyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckIsQ0FBQzs0RUFQVSxXQUFXO29FQUFYLFdBQVc7O2lGQUFYLFdBQVc7Y0FKdkIsU0FBUzsyQkFDRSxrQkFBa0I7O2tGQUdqQixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcblx0Q3JlYXRlZDpcclxuXHRcdDIwIFNlcCAyMDIzXHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG5cdENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFBhZ2VCYXNlIH0gZnJvbSAnLi4vLi4vdWkvY29tcG9uZW50cy9iYXNlL3BhZ2VzL3BhZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpYW0tc2lnbm91dC1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbm91dC5wYWdlLmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWduT3V0UGFnZSBleHRlbmRzIFBhZ2VCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGg6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmF1dGgubG9nb3V0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbm91dC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2lhbS9wYWdlcy9zaWdub3V0LnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFNL0QsTUFBTSxPQUFPLFdBQVksU0FBUSxRQUFRO0lBQ3ZDLFlBQW9CLElBQWlCO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUVyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckIsQ0FBQzs0RUFQVSxXQUFXO29FQUFYLFdBQVc7O2lGQUFYLFdBQVc7Y0FKdkIsU0FBUzsyQkFDRSxrQkFBa0I7O2tGQUdqQixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcblx0Q3JlYXRlZDpcclxuXHRcdDIwIFNlcCAyMDIzXHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG5cdENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFBhZ2VCYXNlIH0gZnJvbSAnLi4vLi4vdWkvY29tcG9uZW50cy9iYXNlL3BhZ2VzL3BhZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpYW0tc2lnbm91dC1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbm91dC5wYWdlLmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWduT3V0UGFnZSBleHRlbmRzIFBhZ2VCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGg6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmF1dGgubG9nb3V0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  20 Sep 2023
@@ -37,4 +37,4 @@ export class SignUpPage extends PageBase {
37
37
  args: [{ selector: 'iam-signup-page', template: "" }]
38
38
  }], () => [{ type: i1.AuthService }], null); })();
39
39
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SignUpPage, { className: "SignUpPage", filePath: "lib\\iam\\pages\\signup.page.ts", lineNumber: 31 }); })();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL3BhZ2VzL3NpZ251cC5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBTS9ELE1BQU0sT0FBTyxVQUFXLFNBQVEsUUFBUTtJQUN0QyxZQUFvQixJQUFpQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQWE7SUFFckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3JCLENBQUM7MkVBUFUsVUFBVTtvRUFBVixVQUFVOztpRkFBVixVQUFVO2NBSnRCLFNBQVM7MkJBQ0UsaUJBQWlCOztrRkFHaEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG5cdENyZWF0ZWQ6XHJcblx0XHQyMCBTZXAgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuXHRDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdlQmFzZSB9IGZyb20gJy4uLy4uL3VpL2NvbXBvbmVudHMvYmFzZS9wYWdlcy9wYWdlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWFtLXNpZ251cC1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbnVwLnBhZ2UuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ25VcFBhZ2UgZXh0ZW5kcyBQYWdlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoLnNpZ25VcCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL3BhZ2VzL3NpZ251cC5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBTS9ELE1BQU0sT0FBTyxVQUFXLFNBQVEsUUFBUTtJQUN0QyxZQUFvQixJQUFpQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQWE7SUFFckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3JCLENBQUM7MkVBUFUsVUFBVTtvRUFBVixVQUFVOztpRkFBVixVQUFVO2NBSnRCLFNBQVM7MkJBQ0UsaUJBQWlCOztrRkFHaEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG5cdENyZWF0ZWQ6XHJcblx0XHQyMCBTZXAgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuXHRDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdlQmFzZSB9IGZyb20gJy4uLy4uL3VpL2NvbXBvbmVudHMvYmFzZS9wYWdlcy9wYWdlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWFtLXNpZ251cC1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbnVwLnBhZ2UuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ25VcFBhZ2UgZXh0ZW5kcyBQYWdlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoLnNpZ25VcCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  20 Sep 2023
@@ -26,4 +26,4 @@ export class MSALRedirect {
26
26
  }
27
27
  }
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL3JlZGlyZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsTUFBTSxPQUFPLFlBQVk7SUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBZ0I7UUFDM0MsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG5cdENyZWF0ZWQ6XHJcblx0XHQyMCBTZXAgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuXHRDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmltcG9ydCB7IE1TQUxTdG9yYWdlIH0gZnJvbSAnLi9zdG9yYWdlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNU0FMUmVkaXJlY3Qge1xyXG4gIHB1YmxpYyBzdGF0aWMgaGFuZGxlKHJvdXRlciwgY2FsbGVkQnk6IHN0cmluZykge1xyXG4gICAgbGV0IHJlZGlyZWN0VG8gPSBNU0FMU3RvcmFnZS5nZXRSZWRpcmVjdFN0YXRlKGNhbGxlZEJ5KTtcclxuICAgIGlmIChyZWRpcmVjdFRvKSB7XHJcbiAgICAgIE1TQUxTdG9yYWdlLmNsZWFyUmVkaXJlY3RTdGF0ZShjYWxsZWRCeSk7XHJcbiAgICAgIHJvdXRlci5uYXZpZ2F0ZShbcmVkaXJlY3RUb10pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL3JlZGlyZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsTUFBTSxPQUFPLFlBQVk7SUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBZ0I7UUFDM0MsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG5cdENyZWF0ZWQ6XHJcblx0XHQyMCBTZXAgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuXHRDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmltcG9ydCB7IE1TQUxTdG9yYWdlIH0gZnJvbSAnLi9zdG9yYWdlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNU0FMUmVkaXJlY3Qge1xyXG4gIHB1YmxpYyBzdGF0aWMgaGFuZGxlKHJvdXRlciwgY2FsbGVkQnk6IHN0cmluZykge1xyXG4gICAgbGV0IHJlZGlyZWN0VG8gPSBNU0FMU3RvcmFnZS5nZXRSZWRpcmVjdFN0YXRlKGNhbGxlZEJ5KTtcclxuICAgIGlmIChyZWRpcmVjdFRvKSB7XHJcbiAgICAgIE1TQUxTdG9yYWdlLmNsZWFyUmVkaXJlY3RTdGF0ZShjYWxsZWRCeSk7XHJcbiAgICAgIHJvdXRlci5uYXZpZ2F0ZShbcmVkaXJlY3RUb10pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -7,7 +7,7 @@ import { ApiServiceBase } from '../../data/base/api.service';
7
7
  import { MSALRedirect } from '../redirect';
8
8
  import { MSALUtils } from '../utils';
9
9
  import { MSALB2C, PolicyType } from '../b2c';
10
- import { QSUtils } from '../../core';
10
+ import { QSUtils } from '../../core/exports';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@angular/common/http";
13
13
  import * as i2 from "@angular/router";
@@ -433,4 +433,4 @@ export class AuthService extends ApiServiceBase {
433
433
  type: Inject,
434
434
  args: [MSAL_GUARD_CONFIG]
435
435
  }] }, { type: i4.MsalService }, { type: i4.MsalBroadcastService }], null); })();
436
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2lhbS9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBYyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQTZELE1BQU0scUJBQXFCLENBQUM7QUFDbkgsT0FBTyxFQUFtRCxTQUFTLEVBQWlCLDRCQUE0QixFQUM5RyxpQkFBaUIsRUFBRSxlQUFlLEVBQWdCLFdBQVcsRUFDOUQsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixLQUFLO0FBQ0wsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7QUFVckMsTUFBTSxPQUFPLFdBQVksU0FBUSxjQUFjO0lBVTdDLFlBQ1ksSUFBZ0IsRUFDbEIsTUFBYyxFQUNkLFVBQTZCLEVBRzdCLGVBQXVDLEVBQ3ZDLFdBQXdCLEVBQ3hCLG9CQUEwQztRQUNsRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFSRixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUc3QixvQkFB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QkksTUFBTTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgNiBEZWMgMjAxOFxyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgb2YsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNU0FMX0dVQVJEX0NPTkZJRywgTXNhbEJyb2FkY2FzdFNlcnZpY2UsIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24sIE1zYWxTZXJ2aWNlIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XHJcbmltcG9ydCB7IEFjY291bnRJbmZvLCBBdXRoZW50aWNhdGlvblJlc3VsdCwgRXZlbnRNZXNzYWdlLCBFdmVudFR5cGUsIElkVG9rZW5DbGFpbXMsIEludGVyYWN0aW9uUmVxdWlyZWRBdXRoRXJyb3IsXHJcbiAgSW50ZXJhY3Rpb25TdGF0dXMsIEludGVyYWN0aW9uVHlwZSwgUG9wdXBSZXF1ZXN0LCBQcm9tcHRWYWx1ZSwgUmVkaXJlY3RSZXF1ZXN0LCBTaWxlbnRSZXF1ZXN0LCBTc29TaWxlbnRSZXF1ZXN0XHJcbn0gZnJvbSAnQGF6dXJlL21zYWwtYnJvd3Nlcic7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlQmFzZSB9IGZyb20gJy4uLy4uL2RhdGEvYmFzZS9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNU0FMUmVkaXJlY3QgfSBmcm9tICcuLi9yZWRpcmVjdCc7XHJcbmltcG9ydCB7IE1TQUxVdGlscyB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgTVNBTEIyQywgUG9saWN5VHlwZSB9IGZyb20gJy4uL2IyYyc7XHJcbmltcG9ydCB7IFFTVXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlJztcclxuXHJcbnR5cGUgSWRUb2tlbkNsYWltc1dpdGhQb2xpY3lJZCA9IElkVG9rZW5DbGFpbXMgJiB7XHJcbiAgYWNyPzogc3RyaW5nLFxyXG4gIHRmcD86IHN0cmluZyxcclxufTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIGV4dGVuZHMgQXBpU2VydmljZUJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbXNhbERlc3Ryb3lpbmckID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vQjJDIFBvbGljaWVzXHJcbiAgcHJpdmF0ZSBzaWduVXBTaWduSW5Qb2xpY3lcclxuICBwcml2YXRlIHNpZ25VcFBvbGljeTtcclxuICBwcml2YXRlIGVkaXRQcm9maWxlUG9saWN5O1xyXG4gIHByaXZhdGUgcmVzZXRQYXNzd29yZFBvbGljeTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLFxyXG5cclxuICAgIEBJbmplY3QoTVNBTF9HVUFSRF9DT05GSUcpXHJcbiAgICBwcml2YXRlIG1zYWxHdWFyZENvbmZpZzogTXNhbEd1YXJkQ29uZmlndXJhdGlvbixcclxuICAgIHByaXZhdGUgbXNhbFNlcnZpY2U6IE1zYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtc2FsQnJvYWRjYXN0U2VydmljZTogTXNhbEJyb2FkY2FzdFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMubXNhbERlc3Ryb3lpbmckLm5leHQodW5kZWZpbmVkKTtcclxuICAgIHRoaXMubXNhbERlc3Ryb3lpbmckLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKSB7XHJcbiAgICB0aGlzLnNldERlZmF1bHRzKCk7XHJcblxyXG4gICAgdGhpcy5tc2FsU2VydmljZS5pbml0aWFsaXplKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XHJcblxyXG4gICAgICBjb25zb2xlLmxvZyhgbXNhbC5hcHA6IGluaXRNU0FMIHN0YXJ0ZWRgKTtcclxuICAgICAgdGhpcy5pbml0TVNBTCgpO1xyXG4gICAgICBjb25zb2xlLmxvZyhgbXNhbC5hcHA6IGluaXRNU0FMIGZpbmlzaGVkYCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdHMoKSB7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL0F6dXJlQUQvbWljcm9zb2Z0LWF1dGhlbnRpY2F0aW9uLWxpYnJhcnktZm9yLWpzL2Jsb2IvZGV2L3NhbXBsZXMvbXNhbC1hbmd1bGFyLXYzLXNhbXBsZXMvYW5ndWxhci1iMmMtc2FtcGxlLWFwcC9zcmMvYXBwL2FwcC5jb21wb25lbnQudHNcclxuXHJcbiAgICBUb2tlbiBWYWxpZGF0aW9uOlxyXG4gICAgICBodHRwczovL2p3dC5pb1xyXG5cclxuICAgIFRva2VuIHR5cGVzOlxyXG4gICAgICBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvYWN0aXZlLWRpcmVjdG9yeS1iMmMvdG9rZW5zLW92ZXJ2aWV3XHJcbiAgICAgIElEIHRva2VuIC0gQSBKV1QgdGhhdCBjb250YWlucyBjbGFpbXMgdGhhdCB5b3UgY2FuIHVzZSB0byBpZGVudGlmeSB1c2VycyBpbiB5b3VyIGFwcGxpY2F0aW9uXHJcbiAgICAgIEFjY2VzcyB0b2tlbiAtIEEgSldUIHRoYXQgY29udGFpbnMgY2xhaW1zIHRoYXQgeW91IGNhbiB1c2UgdG8gaWRlbnRpZnkgdGhlIGdyYW50ZWQgcGVybWlzc2lvbnMgdG8geW91ciBBUElzLlxyXG4gICAgICAgICAgICAgICAgICAgICBBY2Nlc3MgdG9rZW5zIGFyZSBzaWduZWQsIGJ1dCB0aGV5IGFyZW4ndCBlbmNyeXB0ZWRcclxuICAgICAgUmVmcmVzaCB0b2tlbiAtIFJlZnJlc2ggdG9rZW5zIGFyZSB1c2VkIHRvIGFjcXVpcmUgbmV3IElEIHRva2VucyBhbmQgYWNjZXNzIHRva2VucyBpbiBhbiBPQXV0aCAyLjAgZmxvdy5cclxuICAqL1xyXG4gIHByaXZhdGUgaW5pdE1TQUwoKSB7XHJcbiAgICAvL0IyQ1xyXG4gICAgdGhpcy5zaWduVXBTaWduSW5Qb2xpY3kgPSBNU0FMQjJDLmdldFBvbGljeUJ5VHlwZShQb2xpY3lUeXBlLnNpZ25VcFNpZ25Jbik7XHJcbiAgICB0aGlzLnNpZ25VcFBvbGljeSA9IE1TQUxCMkMuZ2V0UG9saWN5QnlUeXBlKFBvbGljeVR5cGUuc2lnblVwKTtcclxuICAgIHRoaXMuZWRpdFByb2ZpbGVQb2xpY3kgPSBNU0FMQjJDLmdldFBvbGljeUJ5VHlwZShQb2xpY3lUeXBlLmVkaXRQcm9maWxlKTtcclxuICAgIHRoaXMucmVzZXRQYXNzd29yZFBvbGljeSA9IE1TQUxCMkMuZ2V0UG9saWN5QnlUeXBlKFBvbGljeVR5cGUucmVzZXRQYXNzd29yZCk7XHJcblxyXG4gICAgdGhpcy5tc2FsU2VydmljZS5oYW5kbGVSZWRpcmVjdE9ic2VydmFibGUoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzdWx0OiBBdXRoZW50aWNhdGlvblJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBtc2FsLmFwcDogaGFuZGxlUmVkaXJlY3RPYnNlcnZhYmxlYCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UuZW5hYmxlQWNjb3VudFN0b3JhZ2VFdmVudHMoKTtcclxuICAgIHRoaXMubXNhbEJyb2FkY2FzdFNlcnZpY2UubXNhbFN1YmplY3QkLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChtc2c6IEV2ZW50TWVzc2FnZSkgPT5cclxuICAgICAgICAgIG1zZy5ldmVudFR5cGUgPT09IEV2ZW50VHlwZS5JTklUSUFMSVpFX0VORCB8fFxyXG5cclxuICAgICAgICAgIC8vQUNDT1VOVF9BRERFRCBhbmQgQUNDT1VOVF9SRU1PVkVEIGV2ZW50cyBlbWl0dGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW4gb3Igb3V0IG9mIGFub3RoZXIgdGFiIG9yIHdpbmRvd1xyXG4gICAgICAgICAgbXNnLmV2ZW50VHlwZSA9PT0gRXZlbnRUeXBlLkFDQ09VTlRfQURERUQgfHxcclxuICAgICAgICAgIG1zZy5ldmVudFR5cGUgPT09IEV2ZW50VHlwZS5BQ0NPVU5UX1JFTU9WRUQgfHxcclxuXHJcbiAgICAgICAgICAvL0xvZ2luIEZhaWx1cmVcclxuICAgICAgICAgIG1zZy5ldmVudFR5cGUgPT09IEV2ZW50VHlwZS5MT0dJTl9GQUlMVVJFIHx8XHJcbiAgICAgICAgICBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuQUNRVUlSRV9UT0tFTl9GQUlMVVJFIHx8XHJcblxyXG4gICAgICAgICAgLy9Mb2dPdXRcclxuICAgICAgICAgIG1zZy5ldmVudFR5cGUgPT09IEV2ZW50VHlwZS5MT0dPVVRfU1VDQ0VTUyB8fFxyXG5cclxuICAgICAgICAgIC8vTG9nSW5cclxuICAgICAgICAgIG1zZy5ldmVudFR5cGUgPT09IEV2ZW50VHlwZS5MT0dJTl9TVUNDRVNTIHx8XHJcbiAgICAgICAgICBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuQUNRVUlSRV9UT0tFTl9TVUNDRVNTIHx8XHJcbiAgICAgICAgICBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuU1NPX1NJTEVOVF9TVUNDRVNTXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5tc2FsRGVzdHJveWluZyQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgobXNnOiBFdmVudE1lc3NhZ2UpID0+IHtcclxuICAgICAgICBzd2l0Y2ggKG1zZy5ldmVudFR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgRXZlbnRUeXBlLklOSVRJQUxJWkVfRU5EOlxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgbXNhbC5hcHA6IElOSVRJQUxJWkVfRU5EIGZpcmVkYCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgRXZlbnRUeXBlLkFDQ09VTlRfQURERUQ6XHJcbiAgICAgICAgICBjYXNlIEV2ZW50VHlwZS5BQ0NPVU5UX1JFTU9WRUQ6XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLmdldEFsbEFjY291bnRzKCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lID0gXCIvXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgY2FzZSBFdmVudFR5cGUuTE9HSU5fRkFJTFVSRTpcclxuICAgICAgICAgIGNhc2UgRXZlbnRUeXBlLkFDUVVJUkVfVE9LRU5fRkFJTFVSRTpcclxuICAgICAgICAgICAgaWYgKCFNU0FMVXRpbHMuaXNCMkMoKSkge1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9DaGVjayBmb3IgZm9yZ290IHBhc3N3b3JkIGVycm9yLiBMZWFybiBtb3JlIGFib3V0IEFBRCBlcnJvciBjb2RlcyBhdFxyXG4gICAgICAgICAgICAvL2h0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2FjdGl2ZS1kaXJlY3RvcnkvZGV2ZWxvcC9yZWZlcmVuY2UtYWFkc3RzLWVycm9yLWNvZGVzXHJcbiAgICAgICAgICAgIGlmIChtc2cuZXJyb3IgJiYgbXNnLmVycm9yLm1lc3NhZ2UuaW5kZXhPZignQUFEQjJDOTAxMTgnKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHJlc2V0UGFzc3dvcmRGbG93UmVxdWVzdDogUmVkaXJlY3RSZXF1ZXN0IHwgUG9wdXBSZXF1ZXN0ICA9IHtcclxuICAgICAgICAgICAgICAgICAgYXV0aG9yaXR5OiB0aGlzLnJlc2V0UGFzc3dvcmRQb2xpY3kuYXV0aG9yaXR5LFxyXG4gICAgICAgICAgICAgICAgICBzY29wZXM6IFtdLFxyXG4gICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMubG9naW4ocmVzZXRQYXNzd29yZEZsb3dSZXF1ZXN0KTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgY2FzZSBFdmVudFR5cGUuTE9HT1VUX1NVQ0NFU1M6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgRXZlbnRUeXBlLkxPR0lOX1NVQ0NFU1M6XHJcbiAgICAgICAgICBjYXNlIEV2ZW50VHlwZS5BQ1FVSVJFX1RPS0VOX1NVQ0NFU1M6XHJcbiAgICAgICAgICBjYXNlIEV2ZW50VHlwZS5TU09fU0lMRU5UX1NVQ0NFU1M6XHJcbiAgICAgICAgICAgIGxldCBwYXlsb2FkID0gbXNnLnBheWxvYWQgYXMgQXV0aGVudGljYXRpb25SZXN1bHQ7XHJcbiAgICAgICAgICAgIGlmICghcGF5bG9hZCkge1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKCFNU0FMVXRpbHMuaXNCMkMoKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2Uuc2V0QWN0aXZlQWNjb3VudChwYXlsb2FkLmFjY291bnQpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9CMkNcclxuICAgICAgICAgICAgbGV0IHRva2VuID0gcGF5bG9hZC5pZFRva2VuQ2xhaW1zIGFzIElkVG9rZW5DbGFpbXNXaXRoUG9saWN5SWRcclxuXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiBzaWduVXBTaWduSW5cclxuICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGlmICh0b2tlbi5hY3IgPT09IHRoaXMuc2lnblVwU2lnbkluUG9saWN5Lm5hbWUgfHwgdG9rZW4udGZwID09PSB0aGlzLnNpZ25VcFNpZ25JblBvbGljeS5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5zZXRBY3RpdmVBY2NvdW50KHBheWxvYWQuYWNjb3VudCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiBzaWduVXBQb2xpY3lcclxuICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGlmICh0b2tlbi5hY3IgPT09IHRoaXMuc2lnblVwUG9saWN5Lm5hbWUgfHwgdG9rZW4udGZwID09PSB0aGlzLnNpZ25VcFBvbGljeS5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5zZXRBY3RpdmVBY2NvdW50KHBheWxvYWQuYWNjb3VudCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiBlZGl0UHJvZmlsZVxyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiBGb3IgdGhlIHB1cnBvc2Ugb2Ygc2V0dGluZyBhbiBhY3RpdmUgYWNjb3VudCBmb3IgVUkgdXBkYXRlLCB3ZSB3YW50IHRvIGNvbnNpZGVyIG9ubHkgdGhlIGF1dGggcmVzcG9uc2UgcmVzdWx0aW5nXHJcbiAgICAgICAgICAgICAqIGZyb20gU1VTSSBmbG93LiBcImFjclwiIGNsYWltIGluIHRoZSBpZCB0b2tlbiB0ZWxscyB1cyB0aGUgcG9saWN5IChOT1RFOiBuZXdlciBwb2xpY2llcyBtYXkgdXNlIHRoZSBcInRmcFwiIGNsYWltIGluc3RlYWQpLlxyXG4gICAgICAgICAgICAgKiBUbyBsZWFybiBtb3JlIGFib3V0IEIyQyB0b2tlbnMsIHZpc2l0IGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2FjdGl2ZS1kaXJlY3RvcnktYjJjL3Rva2Vucy1vdmVydmlld1xyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgaWYgKHRva2VuLmFjciA9PT0gdGhpcy5lZGl0UHJvZmlsZVBvbGljeS5uYW1lIHx8IHRva2VuLnRmcCA9PT0gdGhpcy5lZGl0UHJvZmlsZVBvbGljeS5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgIGNvbnN0IHNpZ25JbkFjY291bnQgPSB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLmdldEFsbEFjY291bnRzKCkuZmluZCgoYWNjb3VudDogQWNjb3VudEluZm8pID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudC5pZFRva2VuQ2xhaW1zPy5vaWQgPT09IHRva2VuLm9pZCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnQuaWRUb2tlbkNsYWltcz8uc3ViID09PSB0b2tlbi5zdWIgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoKGFjY291bnQuaWRUb2tlbkNsYWltcyBhcyBJZFRva2VuQ2xhaW1zV2l0aFBvbGljeUlkKS5hY3IgPT09IHRoaXMuc2lnblVwU2lnbkluUG9saWN5Lm5hbWUgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjY291bnQuaWRUb2tlbkNsYWltcyBhcyBJZFRva2VuQ2xhaW1zV2l0aFBvbGljeUlkKS50ZnAgPT09IHRoaXMuc2lnblVwU2lnbkluUG9saWN5Lm5hbWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLmZvcmNlUmVhdXRoZW50aWNhdGUoc2lnbkluQWNjb3VudCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiByZXNldFBhc3N3b3JkXHJcbiAgICAgICAgICAgICAqXHJcbiAgICAgICAgICAgICAqIEJlbG93IHdlIGFyZSBjaGVja2luZyBpZiB0aGUgdXNlciBpcyByZXR1cm5pbmcgZnJvbSB0aGUgcmVzZXQgcGFzc3dvcmQgZmxvdy5cclxuICAgICAgICAgICAgICogSWYgc28sIHdlIHdpbGwgYXNrIHRoZSB1c2VyIHRvIHJlYXV0aGVudGljYXRlIHdpdGggdGhlaXIgbmV3IHBhc3N3b3JkLlxyXG4gICAgICAgICAgICAgKiBJZiB5b3UgZG8gbm90IHdhbnQgdGhpcyBiZWhhdmlvciBhbmQgcHJlZmVyIHlvdXIgdXNlcnMgdG8gc3RheSBzaWduZWQgaW4gaW5zdGVhZCxcclxuICAgICAgICAgICAgICogeW91IGNhbiByZXBsYWNlIHRoZSBjb2RlIGJlbG93IHdpdGggdGhlIHNhbWUgcGF0dGVybiB1c2VkIGZvciBoYW5kbGluZyB0aGUgcmV0dXJuIGZyb21cclxuICAgICAgICAgICAgICogcHJvZmlsZSBlZGl0IGZsb3dcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGlmICh0b2tlbi5hY3IgPT09IHRoaXMucmVzZXRQYXNzd29yZFBvbGljeS5uYW1lIHx8IHRva2VuLnRmcCA9PT0gdGhpcy5yZXNldFBhc3N3b3JkUG9saWN5Lm5hbWUpIHtcclxuICAgICAgICAgICAgICB0aGlzLmZvcmNlUmVhdXRoZW50aWNhdGUoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbXNnO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLm1zYWxCcm9hZGNhc3RTZXJ2aWNlLmluUHJvZ3Jlc3MkLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChzdGF0dXM6IEludGVyYWN0aW9uU3RhdHVzKSA9PlxyXG4gICAgICAgICAgc3RhdHVzID09PSBJbnRlcmFjdGlvblN0YXR1cy5TdGFydHVwIHx8XHJcbiAgICAgICAgICBzdGF0dXMgPT09IEludGVyYWN0aW9uU3RhdHVzLk5vbmVcclxuICAgICAgICApLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm1zYWxEZXN0cm95aW5nJClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IEludGVyYWN0aW9uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcclxuICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICogSW5pdGlhbCBzdGF0dXMgYmVmb3JlIGludGVyYWN0aW9uIG9jY3Vyc1xyXG4gICAgICAgICAgICovXHJcbiAgICAgICAgICBjYXNlIEludGVyYWN0aW9uU3RhdHVzLlN0YXJ0dXA6XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBtc2FsLmFwcDogSW50ZXJhY3Rpb25TdGF0dXMuU3RhcnR1cGApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAvKipcclxuICAgICAgICAgICogU3RhdHVzIHNldCB3aGVuIGludGVyYWN0aW9uIGlzIGNvbXBsZXRlXHJcbiAgICAgICAgICAqL1xyXG4gICAgICAgICAgY2FzZSBJbnRlcmFjdGlvblN0YXR1cy5Ob25lOlxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgbXNhbC5hcHA6IEludGVyYWN0aW9uU3RhdHVzLk5vbmVgKTtcclxuXHJcbiAgICAgICAgICAgIE1TQUxSZWRpcmVjdC5oYW5kbGUodGhpcy5yb3V0ZXIsICdtc2FsQnJvYWRjYXN0U2VydmljZS5pblByb2dyZXNzJCBJbnRlcmFjdGlvblN0YXR1cy5Ob25lJyk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNoZWNrQW5kU2V0QWN0aXZlQWNjb3VudCgpO1xyXG4gICAgICAgICAgICB0aGlzLmFwcENvbnRleHQudXBkYXRlQ3VycmVudCgpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0FuZFNldEFjdGl2ZUFjY291bnQoKSB7XHJcbiAgICBsZXQgYWN0aXZlQWNjb3VudCA9IHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UuZ2V0QWN0aXZlQWNjb3VudCgpO1xyXG4gICAgbGV0IGFjY291bnRzID0gdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5nZXRBbGxBY2NvdW50cygpO1xyXG5cclxuICAgIGlmICghYWN0aXZlQWNjb3VudCAmJiBhY2NvdW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2Uuc2V0QWN0aXZlQWNjb3VudChhY2NvdW50c1swXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUG9wdXAocG9wdXA/OiBib29sZWFuKSB7XHJcbiAgICBpZiAodHlwZW9mIHBvcHVwID09PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1zYWxHdWFyZENvbmZpZy5pbnRlcmFjdGlvblR5cGUgPT09IEludGVyYWN0aW9uVHlwZS5Qb3B1cDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcG9wdXA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFjcXVpcmVUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgbGV0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHNjb3BlczogTVNBTFV0aWxzLmdldEFwaVNjb3BlcygpXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNQb3B1cCgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1zYWxTZXJ2aWNlLmFjcXVpcmVUb2tlblBvcHVwKHJlcXVlc3QpLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZSA/IHJlc3BvbnNlLmFjY2Vzc1Rva2VuIDogbnVsbDtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1zYWxTZXJ2aWNlLmFjcXVpcmVUb2tlblJlZGlyZWN0KHJlcXVlc3QpLnBpcGUoXHJcbiAgICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQdWJsaWMgZnVuY3NcclxuICBnZXRBY3RpdmVBY2NvdW50KCk6IEFjY291bnRJbmZvIHwgbnVsbCB7XHJcbiAgICB0aGlzLmNoZWNrQW5kU2V0QWN0aXZlQWNjb3VudCgpO1xyXG4gICAgcmV0dXJuIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UuZ2V0QWN0aXZlQWNjb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckVtYWlsKCkge1xyXG4gICAgbGV0IHVzZXIgPSB0aGlzLmFwcENvbnRleHQudXNlcjtcclxuICAgIGxldCBhY3RpdmVBY2NvdW50ID0gdGhpcy5nZXRBY3RpdmVBY2NvdW50KCk7XHJcblxyXG4gICAgaWYgKGFjdGl2ZUFjY291bnQpIHtcclxuICAgICAgcmV0dXJuIGFjdGl2ZUFjY291bnQudXNlcm5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHVzZXIgPyB1c2VyLkVtYWlsIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyTmFtZSgpIHtcclxuICAgIGxldCB1c2VyID0gdGhpcy5hcHBDb250ZXh0LnVzZXI7XHJcbiAgICBsZXQgYWN0aXZlQWNjb3VudCA9IHRoaXMuZ2V0QWN0aXZlQWNjb3VudCgpO1xyXG5cclxuICAgIGlmIChhY3RpdmVBY2NvdW50KSB7XHJcbiAgICAgIHJldHVybiBhY3RpdmVBY2NvdW50Lm5hbWUgPyBhY3RpdmVBY2NvdW50Lm5hbWUgOiB1c2VyID8gdXNlci5kaXNwbGF5TmFtZU9yRnVsbE5hbWUgOiAnJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdXNlciA/IHVzZXIuZGlzcGxheU5hbWVPckZ1bGxOYW1lIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXRBY2Nlc3NUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgLy8xLiBDaGVjayBTU09cclxuICAgIC8qXHJcbiAgICAgIGh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9lbnRyYS9pZGVudGl0eS1wbGF0Zm9ybS9tc2FsLWpzLXNzb1xyXG4gICAgKi9cclxuICAgIGlmIChRU1V0aWxzLmlzU1NPaW5Qcm9ncmVzcygpKSB7XHJcbiAgICAgIGxldCBjbHMgPSBRU1V0aWxzLmdldFZhbHVlQnlOYW1lKFwiY2xzXCIpO1xyXG4gICAgICBsZXQgbG9naW4gPSBRU1V0aWxzLmdldFZhbHVlQnlOYW1lKFwibG9naW5cIik7XHJcbiAgICAgIGxldCBzaWQgPSBRU1V0aWxzLmdldFZhbHVlQnlOYW1lKFwic2lkXCIpO1xyXG4gICAgICBsZXQgc3NvU2lsZW50UmVxdWVzdDogU3NvU2lsZW50UmVxdWVzdDtcclxuXHJcbiAgICAgIGlmIChsb2dpbikge1xyXG4gICAgICAgIHNzb1NpbGVudFJlcXVlc3QgPSB7XHJcbiAgICAgICAgICBzY29wZXM6IE1TQUxVdGlscy5nZXRBcGlTY29wZXMoKSxcclxuICAgICAgICAgIGxvZ2luSGludDogbG9naW5cclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHNpZCkge1xyXG4gICAgICAgIHNzb1NpbGVudFJlcXVlc3QgPSB7XHJcbiAgICAgICAgICBzY29wZXM6IE1TQUxVdGlscy5nZXRBcGlTY29wZXMoKSxcclxuICAgICAgICAgIHNpZDogc2lkXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy9Mb2dnaW5nXHJcbiAgICAgIGNvbnNvbGUubG9nKFwiU1NPIGluIHByb2dyZXNzXCIpO1xyXG4gICAgICBpZiAoY2xzKSB7XHJcbiAgICAgICAgUVNVdGlscy5jbGVhcktleShcImNscz0xXCIsIHRydWUsIHRydWUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5tc2FsU2VydmljZS5zc29TaWxlbnQoc3NvU2lsZW50UmVxdWVzdCkucGlwZShcclxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgUVNVdGlscy5jbGVhclNTTygpO1xyXG5cclxuICAgICAgICAgIC8vTG9nZ2luZ1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJTU08gaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBkb25lXCIpO1xyXG5cclxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5hY2Nlc3NUb2tlbjtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgIFFTVXRpbHMuY2xlYXJTU08oKTtcclxuXHJcbiAgICAgICAgICAvL0xvZ2dpbmdcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiU1NPIHNpbGVudCB0b2tlbiBhY3F1aXNpdGlvbiBmYWlsc1wiKTtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG5cclxuICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEludGVyYWN0aW9uUmVxdWlyZWRBdXRoRXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWNxdWlyZVRva2VuKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8yLiBpZiBpc1VzZXJBdXRoZW50aWNhdGVkXHJcbiAgICBsZXQgYWN0aXZlQWNjb3VudCA9IHRoaXMuZ2V0QWN0aXZlQWNjb3VudCgpO1xyXG4gICAgaWYgKGFjdGl2ZUFjY291bnQpIHtcclxuICAgICAgbGV0IHNpbGVudFJlcXVlc3Q6IFNpbGVudFJlcXVlc3QgPSB7XHJcbiAgICAgICAgc2NvcGVzOiBNU0FMVXRpbHMuZ2V0QXBpU2NvcGVzKCksXHJcbiAgICAgICAgYWNjb3VudDogYWN0aXZlQWNjb3VudFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubXNhbFNlcnZpY2UuYWNxdWlyZVRva2VuU2lsZW50KHNpbGVudFJlcXVlc3QpLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5hY2Nlc3NUb2tlbjtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiU2lsZW50IHRva2VuIGFjcXVpc2l0aW9uIGZhaWxzLlwiKTtcclxuXHJcbiAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBJbnRlcmFjdGlvblJlcXVpcmVkQXV0aEVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFjcXVpcmVUb2tlbigpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvZihudWxsKTtcclxuICB9XHJcblxyXG4gIGZvcmNlUmVhdXRoZW50aWNhdGUoYWNjb3VudD8pIHtcclxuICAgIGlmIChNU0FMVXRpbHMuaXNCMkMoKSkge1xyXG4gICAgICBsZXQgc2lnblVwU2lnbkluRmxvd1JlcXVlc3Q6IFJlZGlyZWN0UmVxdWVzdCB8IFBvcHVwUmVxdWVzdCAgPSB7XHJcbiAgICAgICAgYXV0aG9yaXR5OiB0aGlzLnNpZ25VcFNpZ25JblBvbGljeS5hdXRob3JpdHksXHJcbiAgICAgICAgc2NvcGVzOiBbXSxcclxuICAgICAgICBwcm9tcHQ6IFByb21wdFZhbHVlLkxPR0lOLCAvLyBmb3JjZSB1c2VyIHRvIHJlYXV0aGVudGljYXRlIHdpdGggdGhlaXIgbmV3IHBhc3N3b3JkXHJcbiAgICAgICAgYWNjb3VudDogYWNjb3VudFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5sb2dpbihzaWduVXBTaWduSW5GbG93UmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvZ2luKHVzZXJGbG93UmVxdWVzdD86IFJlZGlyZWN0UmVxdWVzdCB8IFBvcHVwUmVxdWVzdCwgcG9wdXA/OiBib29sZWFuKSB7XHJcbiAgICBsZXQgYXV0aFJlcXVlc3RDZmc6IGFueSA9IHRoaXMubXNhbEd1YXJkQ29uZmlnLmF1dGhSZXF1ZXN0O1xyXG4gICAgbGV0IGF1dGhSZXF1ZXN0ID0gbnVsbDtcclxuXHJcbiAgICBpZiAoIXVzZXJGbG93UmVxdWVzdCkge1xyXG4gICAgICBsZXQgc2lnblVwU2lnbkluRmxvd1JlcXVlc3Q6IFJlZGlyZWN0UmVxdWVzdCB8IFBvcHVwUmVxdWVzdCAgPSB7XHJcbiAgICAgICAgYXV0aG9yaXR5OiB0aGlzLnNpZ25VcFNpZ25JblBvbGljeS5hdXRob3JpdHksXHJcbiAgICAgICAgc2NvcGVzOiBbXVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdXNlckZsb3dSZXF1ZXN0ID0gc2lnblVwU2lnbkluRmxvd1JlcXVlc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGF1dGhSZXF1ZXN0Q2ZnKSB7XHJcbiAgICAgIGF1dGhSZXF1ZXN0ID0gYXV0aFJlcXVlc3RDZmcodGhpcy5tc2FsU2VydmljZSwgdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzUG9wdXAocG9wdXApKSB7XHJcbiAgICAgIGlmIChhdXRoUmVxdWVzdCkge1xyXG4gICAgICAgIHRoaXMubXNhbFNlcnZpY2UubG9naW5Qb3B1cCh7IC4uLmF1dGhSZXF1ZXN0LCAuLi51c2VyRmxvd1JlcXVlc3QgfSBhcyBQb3B1cFJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IEF1dGhlbnRpY2F0aW9uUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLnNldEFjdGl2ZUFjY291bnQocmVzcG9uc2UuYWNjb3VudCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tc2FsU2VydmljZS5sb2dpblBvcHVwKHVzZXJGbG93UmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZTogQXV0aGVudGljYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2Uuc2V0QWN0aXZlQWNjb3VudChyZXNwb25zZS5hY2NvdW50KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmIChhdXRoUmVxdWVzdCkge1xyXG4gICAgICAgIHRoaXMubXNhbFNlcnZpY2UubG9naW5SZWRpcmVjdCh7IC4uLmF1dGhSZXF1ZXN0LCAuLi51c2VyRmxvd1JlcXVlc3QgfSBhcyBSZWRpcmVjdFJlcXVlc3QpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMubXNhbFNlcnZpY2UubG9naW5SZWRpcmVjdCh1c2VyRmxvd1JlcXVlc3QpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2dvdXQocG9wdXA/OiBib29sZWFuKSB7XHJcbiAgICBsZXQgYWN0aXZlQWNjb3VudCA9IHRoaXMuZ2V0QWN0aXZlQWNjb3VudCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzUG9wdXAocG9wdXApKSB7XHJcbiAgICAgIGlmIChhY3RpdmVBY2NvdW50KSB7XHJcbiAgICAgICAgdGhpcy5tc2FsU2VydmljZS5sb2dvdXRQb3B1cCh7IGFjY291bnQ6IGFjdGl2ZUFjY291bnQsIG1haW5XaW5kb3dSZWRpcmVjdFVyaTogXCIvXCIgfSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmxvZ291dFBvcHVwKHsgbWFpbldpbmRvd1JlZGlyZWN0VXJpOiBcIi9cIiB9KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKGFjdGl2ZUFjY291bnQpIHtcclxuICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmxvZ291dFJlZGlyZWN0KHsgYWNjb3VudDogYWN0aXZlQWNjb3VudCB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmxvZ291dFJlZGlyZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vTVNBTCBjaGVja1xyXG4gIGlzVXNlckF1dGhlbnRpY2F0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5nZXRBY3RpdmVBY2NvdW50KCkgIT0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vTVNBTCArIGFwcENvbnRleHQgY2hlY2tcclxuICBpc1VzZXJTaWduZWRJbigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5pc1VzZXJBdXRoZW50aWNhdGVkKCkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmFwcENvbnRleHQuY3VycmVudC5pc1VzZXJTaWduZWRJbiAmJiB0aGlzLmFwcENvbnRleHQudXNlcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc1VzZXJBZG1pbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzVXNlclNpZ25lZEluKCkgJiYgdGhpcy5hcHBDb250ZXh0LmN1cnJlbnQuaXNVc2VyQWRtaW47XHJcbiAgfVxyXG5cclxuICAvL0IyQ1xyXG4gIHNpZ25VcCgpIHtcclxuICAgIGlmICghTVNBTFV0aWxzLmlzQjJDKCkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzaWduVXBGbG93UmVxdWVzdDogUmVkaXJlY3RSZXF1ZXN0IHwgUG9wdXBSZXF1ZXN0ICA9IHtcclxuICAgICAgYXV0aG9yaXR5OiB0aGlzLnNpZ25VcFBvbGljeS5hdXRob3JpdHksXHJcbiAgICAgIHNjb3BlczogW11cclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5sb2dpbihzaWduVXBGbG93UmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBlZGl0UHJvZmlsZSgpIHtcclxuICAgIGlmICghTVNBTFV0aWxzLmlzQjJDKCkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBlZGl0UHJvZmlsZUZsb3dSZXF1ZXN0OiBSZWRpcmVjdFJlcXVlc3QgfCBQb3B1cFJlcXVlc3QgID0ge1xyXG4gICAgICBhdXRob3JpdHk6IHRoaXMuZWRpdFByb2ZpbGVQb2xpY3kuYXV0aG9yaXR5LFxyXG4gICAgICBzY29wZXM6IFtdXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubG9naW4oZWRpdFByb2ZpbGVGbG93UmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICByZXNldFBhc3N3b3JkKCkge1xyXG4gICAgaWYgKCFNU0FMVXRpbHMuaXNCMkMoKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHJlc2V0UGFzc3dvcmRGbG93UmVxdWVzdDogUmVkaXJlY3RSZXF1ZXN0IHwgUG9wdXBSZXF1ZXN0ICA9IHtcclxuICAgICAgYXV0aG9yaXR5OiB0aGlzLnJlc2V0UGFzc3dvcmRQb2xpY3kuYXV0aG9yaXR5LFxyXG4gICAgICBzY29wZXM6IFtdXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubG9naW4ocmVzZXRQYXNzd29yZEZsb3dSZXF1ZXN0KTtcclxuICB9XHJcbn1cclxuIl19
436
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2lhbS9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBYyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQTZELE1BQU0scUJBQXFCLENBQUM7QUFDbkgsT0FBTyxFQUFtRCxTQUFTLEVBQWlCLDRCQUE0QixFQUM5RyxpQkFBaUIsRUFBRSxlQUFlLEVBQWdCLFdBQVcsRUFDOUQsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixLQUFLO0FBQ0wsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQVU3QyxNQUFNLE9BQU8sV0FBWSxTQUFRLGNBQWM7SUFVN0MsWUFDWSxJQUFnQixFQUNsQixNQUFjLEVBQ2QsVUFBNkIsRUFHN0IsZUFBdUMsRUFDdkMsV0FBd0IsRUFDeEIsb0JBQTBDO1FBQ2xELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQVJGLFNBQUksR0FBSixJQUFJLENBQVk7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBRzdCLG9C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QWdCSSxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA2IERlYyAyMDE4XHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBvZiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1TQUxfR1VBUkRfQ09ORklHLCBNc2FsQnJvYWRjYXN0U2VydmljZSwgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiwgTXNhbFNlcnZpY2UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcclxuaW1wb3J0IHsgQWNjb3VudEluZm8sIEF1dGhlbnRpY2F0aW9uUmVzdWx0LCBFdmVudE1lc3NhZ2UsIEV2ZW50VHlwZSwgSWRUb2tlbkNsYWltcywgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcixcclxuICBJbnRlcmFjdGlvblN0YXR1cywgSW50ZXJhY3Rpb25UeXBlLCBQb3B1cFJlcXVlc3QsIFByb21wdFZhbHVlLCBSZWRpcmVjdFJlcXVlc3QsIFNpbGVudFJlcXVlc3QsIFNzb1NpbGVudFJlcXVlc3RcclxufSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwaVNlcnZpY2VCYXNlIH0gZnJvbSAnLi4vLi4vZGF0YS9iYXNlL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IE1TQUxSZWRpcmVjdCB9IGZyb20gJy4uL3JlZGlyZWN0JztcclxuaW1wb3J0IHsgTVNBTFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBNU0FMQjJDLCBQb2xpY3lUeXBlIH0gZnJvbSAnLi4vYjJjJztcclxuaW1wb3J0IHsgUVNVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvZXhwb3J0cyc7XHJcblxyXG50eXBlIElkVG9rZW5DbGFpbXNXaXRoUG9saWN5SWQgPSBJZFRva2VuQ2xhaW1zICYge1xyXG4gIGFjcj86IHN0cmluZyxcclxuICB0ZnA/OiBzdHJpbmcsXHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSBleHRlbmRzIEFwaVNlcnZpY2VCYXNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IG1zYWxEZXN0cm95aW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvL0IyQyBQb2xpY2llc1xyXG4gIHByaXZhdGUgc2lnblVwU2lnbkluUG9saWN5XHJcbiAgcHJpdmF0ZSBzaWduVXBQb2xpY3k7XHJcbiAgcHJpdmF0ZSBlZGl0UHJvZmlsZVBvbGljeTtcclxuICBwcml2YXRlIHJlc2V0UGFzc3dvcmRQb2xpY3k7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuXHJcbiAgICBASW5qZWN0KE1TQUxfR1VBUkRfQ09ORklHKVxyXG4gICAgcHJpdmF0ZSBtc2FsR3VhcmRDb25maWc6IE1zYWxHdWFyZENvbmZpZ3VyYXRpb24sXHJcbiAgICBwcml2YXRlIG1zYWxTZXJ2aWNlOiBNc2FsU2VydmljZSxcclxuICAgIHByaXZhdGUgbXNhbEJyb2FkY2FzdFNlcnZpY2U6IE1zYWxCcm9hZGNhc3RTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLm1zYWxEZXN0cm95aW5nJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLm1zYWxEZXN0cm95aW5nJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KCkge1xyXG4gICAgdGhpcy5zZXREZWZhdWx0cygpO1xyXG5cclxuICAgIHRoaXMubXNhbFNlcnZpY2UuaW5pdGlhbGl6ZSgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG5cclxuICAgICAgY29uc29sZS5sb2coYG1zYWwuYXBwOiBpbml0TVNBTCBzdGFydGVkYCk7XHJcbiAgICAgIHRoaXMuaW5pdE1TQUwoKTtcclxuICAgICAgY29uc29sZS5sb2coYG1zYWwuYXBwOiBpbml0TVNBTCBmaW5pc2hlZGApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmF1bHRzKCkge1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9BenVyZUFEL21pY3Jvc29mdC1hdXRoZW50aWNhdGlvbi1saWJyYXJ5LWZvci1qcy9ibG9iL2Rldi9zYW1wbGVzL21zYWwtYW5ndWxhci12My1zYW1wbGVzL2FuZ3VsYXItYjJjLXNhbXBsZS1hcHAvc3JjL2FwcC9hcHAuY29tcG9uZW50LnRzXHJcblxyXG4gICAgVG9rZW4gVmFsaWRhdGlvbjpcclxuICAgICAgaHR0cHM6Ly9qd3QuaW9cclxuXHJcbiAgICBUb2tlbiB0eXBlczpcclxuICAgICAgaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2FjdGl2ZS1kaXJlY3RvcnktYjJjL3Rva2Vucy1vdmVydmlld1xyXG4gICAgICBJRCB0b2tlbiAtIEEgSldUIHRoYXQgY29udGFpbnMgY2xhaW1zIHRoYXQgeW91IGNhbiB1c2UgdG8gaWRlbnRpZnkgdXNlcnMgaW4geW91ciBhcHBsaWNhdGlvblxyXG4gICAgICBBY2Nlc3MgdG9rZW4gLSBBIEpXVCB0aGF0IGNvbnRhaW5zIGNsYWltcyB0aGF0IHlvdSBjYW4gdXNlIHRvIGlkZW50aWZ5IHRoZSBncmFudGVkIHBlcm1pc3Npb25zIHRvIHlvdXIgQVBJcy5cclxuICAgICAgICAgICAgICAgICAgICAgQWNjZXNzIHRva2VucyBhcmUgc2lnbmVkLCBidXQgdGhleSBhcmVuJ3QgZW5jcnlwdGVkXHJcbiAgICAgIFJlZnJlc2ggdG9rZW4gLSBSZWZyZXNoIHRva2VucyBhcmUgdXNlZCB0byBhY3F1aXJlIG5ldyBJRCB0b2tlbnMgYW5kIGFjY2VzcyB0b2tlbnMgaW4gYW4gT0F1dGggMi4wIGZsb3cuXHJcbiAgKi9cclxuICBwcml2YXRlIGluaXRNU0FMKCkge1xyXG4gICAgLy9CMkNcclxuICAgIHRoaXMuc2lnblVwU2lnbkluUG9saWN5ID0gTVNBTEIyQy5nZXRQb2xpY3lCeVR5cGUoUG9saWN5VHlwZS5zaWduVXBTaWduSW4pO1xyXG4gICAgdGhpcy5zaWduVXBQb2xpY3kgPSBNU0FMQjJDLmdldFBvbGljeUJ5VHlwZShQb2xpY3lUeXBlLnNpZ25VcCk7XHJcbiAgICB0aGlzLmVkaXRQcm9maWxlUG9saWN5ID0gTVNBTEIyQy5nZXRQb2xpY3lCeVR5cGUoUG9saWN5VHlwZS5lZGl0UHJvZmlsZSk7XHJcbiAgICB0aGlzLnJlc2V0UGFzc3dvcmRQb2xpY3kgPSBNU0FMQjJDLmdldFBvbGljeUJ5VHlwZShQb2xpY3lUeXBlLnJlc2V0UGFzc3dvcmQpO1xyXG5cclxuICAgIHRoaXMubXNhbFNlcnZpY2UuaGFuZGxlUmVkaXJlY3RPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3VsdDogQXV0aGVudGljYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgbXNhbC5hcHA6IGhhbmRsZVJlZGlyZWN0T2JzZXJ2YWJsZWApO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLmVuYWJsZUFjY291bnRTdG9yYWdlRXZlbnRzKCk7XHJcbiAgICB0aGlzLm1zYWxCcm9hZGNhc3RTZXJ2aWNlLm1zYWxTdWJqZWN0JC5waXBlKFxyXG4gICAgICAgIGZpbHRlcigobXNnOiBFdmVudE1lc3NhZ2UpID0+XHJcbiAgICAgICAgICBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuSU5JVElBTElaRV9FTkQgfHxcclxuXHJcbiAgICAgICAgICAvL0FDQ09VTlRfQURERUQgYW5kIEFDQ09VTlRfUkVNT1ZFRCBldmVudHMgZW1pdHRlZCB3aGVuIGEgdXNlciBsb2dzIGluIG9yIG91dCBvZiBhbm90aGVyIHRhYiBvciB3aW5kb3dcclxuICAgICAgICAgIG1zZy5ldmVudFR5cGUgPT09IEV2ZW50VHlwZS5BQ0NPVU5UX0FEREVEIHx8XHJcbiAgICAgICAgICBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuQUNDT1VOVF9SRU1PVkVEIHx8XHJcblxyXG4gICAgICAgICAgLy9Mb2dpbiBGYWlsdXJlXHJcbiAgICAgICAgICBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuTE9HSU5fRkFJTFVSRSB8fFxyXG4gICAgICAgICAgbXNnLmV2ZW50VHlwZSA9PT0gRXZlbnRUeXBlLkFDUVVJUkVfVE9LRU5fRkFJTFVSRSB8fFxyXG5cclxuICAgICAgICAgIC8vTG9nT3V0XHJcbiAgICAgICAgICBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuTE9HT1VUX1NVQ0NFU1MgfHxcclxuXHJcbiAgICAgICAgICAvL0xvZ0luXHJcbiAgICAgICAgICBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuTE9HSU5fU1VDQ0VTUyB8fFxyXG4gICAgICAgICAgbXNnLmV2ZW50VHlwZSA9PT0gRXZlbnRUeXBlLkFDUVVJUkVfVE9LRU5fU1VDQ0VTUyB8fFxyXG4gICAgICAgICAgbXNnLmV2ZW50VHlwZSA9PT0gRXZlbnRUeXBlLlNTT19TSUxFTlRfU1VDQ0VTU1xyXG4gICAgICAgICksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubXNhbERlc3Ryb3lpbmckKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKG1zZzogRXZlbnRNZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChtc2cuZXZlbnRUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIEV2ZW50VHlwZS5JTklUSUFMSVpFX0VORDpcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYG1zYWwuYXBwOiBJTklUSUFMSVpFX0VORCBmaXJlZGApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIEV2ZW50VHlwZS5BQ0NPVU5UX0FEREVEOlxyXG4gICAgICAgICAgY2FzZSBFdmVudFR5cGUuQUNDT1VOVF9SRU1PVkVEOlxyXG4gICAgICAgICAgICBpZiAodGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5nZXRBbGxBY2NvdW50cygpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSA9IFwiL1wiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgRXZlbnRUeXBlLkxPR0lOX0ZBSUxVUkU6XHJcbiAgICAgICAgICBjYXNlIEV2ZW50VHlwZS5BQ1FVSVJFX1RPS0VOX0ZBSUxVUkU6XHJcbiAgICAgICAgICAgIGlmICghTVNBTFV0aWxzLmlzQjJDKCkpIHtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vQ2hlY2sgZm9yIGZvcmdvdCBwYXNzd29yZCBlcnJvci4gTGVhcm4gbW9yZSBhYm91dCBBQUQgZXJyb3IgY29kZXMgYXRcclxuICAgICAgICAgICAgLy9odHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9hY3RpdmUtZGlyZWN0b3J5L2RldmVsb3AvcmVmZXJlbmNlLWFhZHN0cy1lcnJvci1jb2Rlc1xyXG4gICAgICAgICAgICBpZiAobXNnLmVycm9yICYmIG1zZy5lcnJvci5tZXNzYWdlLmluZGV4T2YoJ0FBREIyQzkwMTE4JykgPiAtMSkge1xyXG4gICAgICAgICAgICAgIGxldCByZXNldFBhc3N3b3JkRmxvd1JlcXVlc3Q6IFJlZGlyZWN0UmVxdWVzdCB8IFBvcHVwUmVxdWVzdCAgPSB7XHJcbiAgICAgICAgICAgICAgICAgIGF1dGhvcml0eTogdGhpcy5yZXNldFBhc3N3b3JkUG9saWN5LmF1dGhvcml0eSxcclxuICAgICAgICAgICAgICAgICAgc2NvcGVzOiBbXSxcclxuICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLmxvZ2luKHJlc2V0UGFzc3dvcmRGbG93UmVxdWVzdCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgRXZlbnRUeXBlLkxPR09VVF9TVUNDRVNTOlxyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIEV2ZW50VHlwZS5MT0dJTl9TVUNDRVNTOlxyXG4gICAgICAgICAgY2FzZSBFdmVudFR5cGUuQUNRVUlSRV9UT0tFTl9TVUNDRVNTOlxyXG4gICAgICAgICAgY2FzZSBFdmVudFR5cGUuU1NPX1NJTEVOVF9TVUNDRVNTOlxyXG4gICAgICAgICAgICBsZXQgcGF5bG9hZCA9IG1zZy5wYXlsb2FkIGFzIEF1dGhlbnRpY2F0aW9uUmVzdWx0O1xyXG4gICAgICAgICAgICBpZiAoIXBheWxvYWQpIHtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghTVNBTFV0aWxzLmlzQjJDKCkpIHtcclxuICAgICAgICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLnNldEFjdGl2ZUFjY291bnQocGF5bG9hZC5hY2NvdW50KTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vQjJDXHJcbiAgICAgICAgICAgIGxldCB0b2tlbiA9IHBheWxvYWQuaWRUb2tlbkNsYWltcyBhcyBJZFRva2VuQ2xhaW1zV2l0aFBvbGljeUlkXHJcblxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICogc2lnblVwU2lnbkluXHJcbiAgICAgICAgICAgICAqXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBpZiAodG9rZW4uYWNyID09PSB0aGlzLnNpZ25VcFNpZ25JblBvbGljeS5uYW1lIHx8IHRva2VuLnRmcCA9PT0gdGhpcy5zaWduVXBTaWduSW5Qb2xpY3kubmFtZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2Uuc2V0QWN0aXZlQWNjb3VudChwYXlsb2FkLmFjY291bnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICogc2lnblVwUG9saWN5XHJcbiAgICAgICAgICAgICAqXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBpZiAodG9rZW4uYWNyID09PSB0aGlzLnNpZ25VcFBvbGljeS5uYW1lIHx8IHRva2VuLnRmcCA9PT0gdGhpcy5zaWduVXBQb2xpY3kubmFtZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2Uuc2V0QWN0aXZlQWNjb3VudChwYXlsb2FkLmFjY291bnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICogZWRpdFByb2ZpbGVcclxuICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICogRm9yIHRoZSBwdXJwb3NlIG9mIHNldHRpbmcgYW4gYWN0aXZlIGFjY291bnQgZm9yIFVJIHVwZGF0ZSwgd2Ugd2FudCB0byBjb25zaWRlciBvbmx5IHRoZSBhdXRoIHJlc3BvbnNlIHJlc3VsdGluZ1xyXG4gICAgICAgICAgICAgKiBmcm9tIFNVU0kgZmxvdy4gXCJhY3JcIiBjbGFpbSBpbiB0aGUgaWQgdG9rZW4gdGVsbHMgdXMgdGhlIHBvbGljeSAoTk9URTogbmV3ZXIgcG9saWNpZXMgbWF5IHVzZSB0aGUgXCJ0ZnBcIiBjbGFpbSBpbnN0ZWFkKS5cclxuICAgICAgICAgICAgICogVG8gbGVhcm4gbW9yZSBhYm91dCBCMkMgdG9rZW5zLCB2aXNpdCBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9hY3RpdmUtZGlyZWN0b3J5LWIyYy90b2tlbnMtb3ZlcnZpZXdcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGlmICh0b2tlbi5hY3IgPT09IHRoaXMuZWRpdFByb2ZpbGVQb2xpY3kubmFtZSB8fCB0b2tlbi50ZnAgPT09IHRoaXMuZWRpdFByb2ZpbGVQb2xpY3kubmFtZSkge1xyXG4gICAgICAgICAgICAgICBjb25zdCBzaWduSW5BY2NvdW50ID0gdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5nZXRBbGxBY2NvdW50cygpLmZpbmQoKGFjY291bnQ6IEFjY291bnRJbmZvKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnQuaWRUb2tlbkNsYWltcz8ub2lkID09PSB0b2tlbi5vaWQgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50LmlkVG9rZW5DbGFpbXM/LnN1YiA9PT0gdG9rZW4uc3ViICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKChhY2NvdW50LmlkVG9rZW5DbGFpbXMgYXMgSWRUb2tlbkNsYWltc1dpdGhQb2xpY3lJZCkuYWNyID09PSB0aGlzLnNpZ25VcFNpZ25JblBvbGljeS5uYW1lIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY2NvdW50LmlkVG9rZW5DbGFpbXMgYXMgSWRUb2tlbkNsYWltc1dpdGhQb2xpY3lJZCkudGZwID09PSB0aGlzLnNpZ25VcFNpZ25JblBvbGljeS5uYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5mb3JjZVJlYXV0aGVudGljYXRlKHNpZ25JbkFjY291bnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICogcmVzZXRQYXNzd29yZFxyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiBCZWxvdyB3ZSBhcmUgY2hlY2tpbmcgaWYgdGhlIHVzZXIgaXMgcmV0dXJuaW5nIGZyb20gdGhlIHJlc2V0IHBhc3N3b3JkIGZsb3cuXHJcbiAgICAgICAgICAgICAqIElmIHNvLCB3ZSB3aWxsIGFzayB0aGUgdXNlciB0byByZWF1dGhlbnRpY2F0ZSB3aXRoIHRoZWlyIG5ldyBwYXNzd29yZC5cclxuICAgICAgICAgICAgICogSWYgeW91IGRvIG5vdCB3YW50IHRoaXMgYmVoYXZpb3IgYW5kIHByZWZlciB5b3VyIHVzZXJzIHRvIHN0YXkgc2lnbmVkIGluIGluc3RlYWQsXHJcbiAgICAgICAgICAgICAqIHlvdSBjYW4gcmVwbGFjZSB0aGUgY29kZSBiZWxvdyB3aXRoIHRoZSBzYW1lIHBhdHRlcm4gdXNlZCBmb3IgaGFuZGxpbmcgdGhlIHJldHVybiBmcm9tXHJcbiAgICAgICAgICAgICAqIHByb2ZpbGUgZWRpdCBmbG93XHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBpZiAodG9rZW4uYWNyID09PSB0aGlzLnJlc2V0UGFzc3dvcmRQb2xpY3kubmFtZSB8fCB0b2tlbi50ZnAgPT09IHRoaXMucmVzZXRQYXNzd29yZFBvbGljeS5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb3JjZVJlYXV0aGVudGljYXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG1zZztcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5tc2FsQnJvYWRjYXN0U2VydmljZS5pblByb2dyZXNzJC5waXBlKFxyXG4gICAgICAgIGZpbHRlcigoc3RhdHVzOiBJbnRlcmFjdGlvblN0YXR1cykgPT5cclxuICAgICAgICAgIHN0YXR1cyA9PT0gSW50ZXJhY3Rpb25TdGF0dXMuU3RhcnR1cCB8fFxyXG4gICAgICAgICAgc3RhdHVzID09PSBJbnRlcmFjdGlvblN0YXR1cy5Ob25lXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5tc2FsRGVzdHJveWluZyQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBJbnRlcmFjdGlvblN0YXR1cykgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7XHJcbiAgICAgICAgICAvKipcclxuICAgICAgICAgICAqIEluaXRpYWwgc3RhdHVzIGJlZm9yZSBpbnRlcmFjdGlvbiBvY2N1cnNcclxuICAgICAgICAgICAqL1xyXG4gICAgICAgICAgY2FzZSBJbnRlcmFjdGlvblN0YXR1cy5TdGFydHVwOlxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgbXNhbC5hcHA6IEludGVyYWN0aW9uU3RhdHVzLlN0YXJ0dXBgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgLyoqXHJcbiAgICAgICAgICAqIFN0YXR1cyBzZXQgd2hlbiBpbnRlcmFjdGlvbiBpcyBjb21wbGV0ZVxyXG4gICAgICAgICAgKi9cclxuICAgICAgICAgIGNhc2UgSW50ZXJhY3Rpb25TdGF0dXMuTm9uZTpcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYG1zYWwuYXBwOiBJbnRlcmFjdGlvblN0YXR1cy5Ob25lYCk7XHJcblxyXG4gICAgICAgICAgICBNU0FMUmVkaXJlY3QuaGFuZGxlKHRoaXMucm91dGVyLCAnbXNhbEJyb2FkY2FzdFNlcnZpY2UuaW5Qcm9ncmVzcyQgSW50ZXJhY3Rpb25TdGF0dXMuTm9uZScpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jaGVja0FuZFNldEFjdGl2ZUFjY291bnQoKTtcclxuICAgICAgICAgICAgdGhpcy5hcHBDb250ZXh0LnVwZGF0ZUN1cnJlbnQoKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tBbmRTZXRBY3RpdmVBY2NvdW50KCkge1xyXG4gICAgbGV0IGFjdGl2ZUFjY291bnQgPSB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLmdldEFjdGl2ZUFjY291bnQoKTtcclxuICAgIGxldCBhY2NvdW50cyA9IHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UuZ2V0QWxsQWNjb3VudHMoKTtcclxuXHJcbiAgICBpZiAoIWFjdGl2ZUFjY291bnQgJiYgYWNjb3VudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLnNldEFjdGl2ZUFjY291bnQoYWNjb3VudHNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1BvcHVwKHBvcHVwPzogYm9vbGVhbikge1xyXG4gICAgaWYgKHR5cGVvZiBwb3B1cCA9PT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICByZXR1cm4gdGhpcy5tc2FsR3VhcmRDb25maWcuaW50ZXJhY3Rpb25UeXBlID09PSBJbnRlcmFjdGlvblR5cGUuUG9wdXA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBvcHVwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhY3F1aXJlVG9rZW4oKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGxldCByZXF1ZXN0ID0ge1xyXG4gICAgICBzY29wZXM6IE1TQUxVdGlscy5nZXRBcGlTY29wZXMoKVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzUG9wdXAoKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tc2FsU2VydmljZS5hY3F1aXJlVG9rZW5Qb3B1cChyZXF1ZXN0KS5waXBlKFxyXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UgPyByZXNwb25zZS5hY2Nlc3NUb2tlbiA6IG51bGw7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5tc2FsU2VydmljZS5hY3F1aXJlVG9rZW5SZWRpcmVjdChyZXF1ZXN0KS5waXBlKFxyXG4gICAgICAgIG1hcCgoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUHVibGljIGZ1bmNzXHJcbiAgZ2V0QWN0aXZlQWNjb3VudCgpOiBBY2NvdW50SW5mbyB8IG51bGwge1xyXG4gICAgdGhpcy5jaGVja0FuZFNldEFjdGl2ZUFjY291bnQoKTtcclxuICAgIHJldHVybiB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLmdldEFjdGl2ZUFjY291bnQoKTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJFbWFpbCgpIHtcclxuICAgIGxldCB1c2VyID0gdGhpcy5hcHBDb250ZXh0LnVzZXI7XHJcbiAgICBsZXQgYWN0aXZlQWNjb3VudCA9IHRoaXMuZ2V0QWN0aXZlQWNjb3VudCgpO1xyXG5cclxuICAgIGlmIChhY3RpdmVBY2NvdW50KSB7XHJcbiAgICAgIHJldHVybiBhY3RpdmVBY2NvdW50LnVzZXJuYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB1c2VyID8gdXNlci5FbWFpbCA6ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlck5hbWUoKSB7XHJcbiAgICBsZXQgdXNlciA9IHRoaXMuYXBwQ29udGV4dC51c2VyO1xyXG4gICAgbGV0IGFjdGl2ZUFjY291bnQgPSB0aGlzLmdldEFjdGl2ZUFjY291bnQoKTtcclxuXHJcbiAgICBpZiAoYWN0aXZlQWNjb3VudCkge1xyXG4gICAgICByZXR1cm4gYWN0aXZlQWNjb3VudC5uYW1lID8gYWN0aXZlQWNjb3VudC5uYW1lIDogdXNlciA/IHVzZXIuZGlzcGxheU5hbWVPckZ1bGxOYW1lIDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHVzZXIgPyB1c2VyLmRpc3BsYXlOYW1lT3JGdWxsTmFtZSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWNjZXNzVG9rZW4oKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIC8vMS4gQ2hlY2sgU1NPXHJcbiAgICAvKlxyXG4gICAgICBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvZW50cmEvaWRlbnRpdHktcGxhdGZvcm0vbXNhbC1qcy1zc29cclxuICAgICovXHJcbiAgICBpZiAoUVNVdGlscy5pc1NTT2luUHJvZ3Jlc3MoKSkge1xyXG4gICAgICBsZXQgY2xzID0gUVNVdGlscy5nZXRWYWx1ZUJ5TmFtZShcImNsc1wiKTtcclxuICAgICAgbGV0IGxvZ2luID0gUVNVdGlscy5nZXRWYWx1ZUJ5TmFtZShcImxvZ2luXCIpO1xyXG4gICAgICBsZXQgc2lkID0gUVNVdGlscy5nZXRWYWx1ZUJ5TmFtZShcInNpZFwiKTtcclxuICAgICAgbGV0IHNzb1NpbGVudFJlcXVlc3Q6IFNzb1NpbGVudFJlcXVlc3Q7XHJcblxyXG4gICAgICBpZiAobG9naW4pIHtcclxuICAgICAgICBzc29TaWxlbnRSZXF1ZXN0ID0ge1xyXG4gICAgICAgICAgc2NvcGVzOiBNU0FMVXRpbHMuZ2V0QXBpU2NvcGVzKCksXHJcbiAgICAgICAgICBsb2dpbkhpbnQ6IGxvZ2luXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChzaWQpIHtcclxuICAgICAgICBzc29TaWxlbnRSZXF1ZXN0ID0ge1xyXG4gICAgICAgICAgc2NvcGVzOiBNU0FMVXRpbHMuZ2V0QXBpU2NvcGVzKCksXHJcbiAgICAgICAgICBzaWQ6IHNpZFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vTG9nZ2luZ1xyXG4gICAgICBjb25zb2xlLmxvZyhcIlNTTyBpbiBwcm9ncmVzc1wiKTtcclxuICAgICAgaWYgKGNscykge1xyXG4gICAgICAgIFFTVXRpbHMuY2xlYXJLZXkoXCJjbHM9MVwiLCB0cnVlLCB0cnVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubXNhbFNlcnZpY2Uuc3NvU2lsZW50KHNzb1NpbGVudFJlcXVlc3QpLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgIFFTVXRpbHMuY2xlYXJTU08oKTtcclxuXHJcbiAgICAgICAgICAvL0xvZ2dpbmdcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiU1NPIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgZG9uZVwiKTtcclxuXHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYWNjZXNzVG9rZW47XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XHJcbiAgICAgICAgICBRU1V0aWxzLmNsZWFyU1NPKCk7XHJcblxyXG4gICAgICAgICAgLy9Mb2dnaW5nXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlNTTyBzaWxlbnQgdG9rZW4gYWNxdWlzaXRpb24gZmFpbHNcIik7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuXHJcbiAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBJbnRlcmFjdGlvblJlcXVpcmVkQXV0aEVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFjcXVpcmVUb2tlbigpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vMi4gaWYgaXNVc2VyQXV0aGVudGljYXRlZFxyXG4gICAgbGV0IGFjdGl2ZUFjY291bnQgPSB0aGlzLmdldEFjdGl2ZUFjY291bnQoKTtcclxuICAgIGlmIChhY3RpdmVBY2NvdW50KSB7XHJcbiAgICAgIGxldCBzaWxlbnRSZXF1ZXN0OiBTaWxlbnRSZXF1ZXN0ID0ge1xyXG4gICAgICAgIHNjb3BlczogTVNBTFV0aWxzLmdldEFwaVNjb3BlcygpLFxyXG4gICAgICAgIGFjY291bnQ6IGFjdGl2ZUFjY291bnRcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLm1zYWxTZXJ2aWNlLmFjcXVpcmVUb2tlblNpbGVudChzaWxlbnRSZXF1ZXN0KS5waXBlKFxyXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYWNjZXNzVG9rZW47XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlNpbGVudCB0b2tlbiBhY3F1aXNpdGlvbiBmYWlscy5cIik7XHJcblxyXG4gICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3F1aXJlVG9rZW4oKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgfVxyXG5cclxuICBmb3JjZVJlYXV0aGVudGljYXRlKGFjY291bnQ/KSB7XHJcbiAgICBpZiAoTVNBTFV0aWxzLmlzQjJDKCkpIHtcclxuICAgICAgbGV0IHNpZ25VcFNpZ25JbkZsb3dSZXF1ZXN0OiBSZWRpcmVjdFJlcXVlc3QgfCBQb3B1cFJlcXVlc3QgID0ge1xyXG4gICAgICAgIGF1dGhvcml0eTogdGhpcy5zaWduVXBTaWduSW5Qb2xpY3kuYXV0aG9yaXR5LFxyXG4gICAgICAgIHNjb3BlczogW10sXHJcbiAgICAgICAgcHJvbXB0OiBQcm9tcHRWYWx1ZS5MT0dJTiwgLy8gZm9yY2UgdXNlciB0byByZWF1dGhlbnRpY2F0ZSB3aXRoIHRoZWlyIG5ldyBwYXNzd29yZFxyXG4gICAgICAgIGFjY291bnQ6IGFjY291bnRcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMubG9naW4oc2lnblVwU2lnbkluRmxvd1JlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2dpbih1c2VyRmxvd1JlcXVlc3Q/OiBSZWRpcmVjdFJlcXVlc3QgfCBQb3B1cFJlcXVlc3QsIHBvcHVwPzogYm9vbGVhbikge1xyXG4gICAgbGV0IGF1dGhSZXF1ZXN0Q2ZnOiBhbnkgPSB0aGlzLm1zYWxHdWFyZENvbmZpZy5hdXRoUmVxdWVzdDtcclxuICAgIGxldCBhdXRoUmVxdWVzdCA9IG51bGw7XHJcblxyXG4gICAgaWYgKCF1c2VyRmxvd1JlcXVlc3QpIHtcclxuICAgICAgbGV0IHNpZ25VcFNpZ25JbkZsb3dSZXF1ZXN0OiBSZWRpcmVjdFJlcXVlc3QgfCBQb3B1cFJlcXVlc3QgID0ge1xyXG4gICAgICAgIGF1dGhvcml0eTogdGhpcy5zaWduVXBTaWduSW5Qb2xpY3kuYXV0aG9yaXR5LFxyXG4gICAgICAgIHNjb3BlczogW11cclxuICAgICAgfTtcclxuXHJcbiAgICAgIHVzZXJGbG93UmVxdWVzdCA9IHNpZ25VcFNpZ25JbkZsb3dSZXF1ZXN0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChhdXRoUmVxdWVzdENmZykge1xyXG4gICAgICBhdXRoUmVxdWVzdCA9IGF1dGhSZXF1ZXN0Q2ZnKHRoaXMubXNhbFNlcnZpY2UsIHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc1BvcHVwKHBvcHVwKSkge1xyXG4gICAgICBpZiAoYXV0aFJlcXVlc3QpIHtcclxuICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmxvZ2luUG9wdXAoeyAuLi5hdXRoUmVxdWVzdCwgLi4udXNlckZsb3dSZXF1ZXN0IH0gYXMgUG9wdXBSZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBBdXRoZW50aWNhdGlvblJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5zZXRBY3RpdmVBY2NvdW50KHJlc3BvbnNlLmFjY291bnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMubXNhbFNlcnZpY2UubG9naW5Qb3B1cCh1c2VyRmxvd1JlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IEF1dGhlbnRpY2F0aW9uUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLnNldEFjdGl2ZUFjY291bnQocmVzcG9uc2UuYWNjb3VudCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoYXV0aFJlcXVlc3QpIHtcclxuICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmxvZ2luUmVkaXJlY3QoeyAuLi5hdXRoUmVxdWVzdCwgLi4udXNlckZsb3dSZXF1ZXN0IH0gYXMgUmVkaXJlY3RSZXF1ZXN0KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmxvZ2luUmVkaXJlY3QodXNlckZsb3dSZXF1ZXN0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9nb3V0KHBvcHVwPzogYm9vbGVhbikge1xyXG4gICAgbGV0IGFjdGl2ZUFjY291bnQgPSB0aGlzLmdldEFjdGl2ZUFjY291bnQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5pc1BvcHVwKHBvcHVwKSkge1xyXG4gICAgICBpZiAoYWN0aXZlQWNjb3VudCkge1xyXG4gICAgICAgIHRoaXMubXNhbFNlcnZpY2UubG9nb3V0UG9wdXAoeyBhY2NvdW50OiBhY3RpdmVBY2NvdW50LCBtYWluV2luZG93UmVkaXJlY3RVcmk6IFwiL1wiIH0pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tc2FsU2VydmljZS5sb2dvdXRQb3B1cCh7IG1haW5XaW5kb3dSZWRpcmVjdFVyaTogXCIvXCIgfSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmIChhY3RpdmVBY2NvdW50KSB7XHJcbiAgICAgICAgdGhpcy5tc2FsU2VydmljZS5sb2dvdXRSZWRpcmVjdCh7IGFjY291bnQ6IGFjdGl2ZUFjY291bnQgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tc2FsU2VydmljZS5sb2dvdXRSZWRpcmVjdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL01TQUwgY2hlY2tcclxuICBpc1VzZXJBdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UuZ2V0QWN0aXZlQWNjb3VudCgpICE9IG51bGw7XHJcbiAgfVxyXG5cclxuICAvL01TQUwgKyBhcHBDb250ZXh0IGNoZWNrXHJcbiAgaXNVc2VyU2lnbmVkSW4oKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuaXNVc2VyQXV0aGVudGljYXRlZCgpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5hcHBDb250ZXh0LmN1cnJlbnQuaXNVc2VyU2lnbmVkSW4gJiYgdGhpcy5hcHBDb250ZXh0LnVzZXIpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaXNVc2VyQWRtaW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1VzZXJTaWduZWRJbigpICYmIHRoaXMuYXBwQ29udGV4dC5jdXJyZW50LmlzVXNlckFkbWluO1xyXG4gIH1cclxuXHJcbiAgLy9CMkNcclxuICBzaWduVXAoKSB7XHJcbiAgICBpZiAoIU1TQUxVdGlscy5pc0IyQygpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2lnblVwRmxvd1JlcXVlc3Q6IFJlZGlyZWN0UmVxdWVzdCB8IFBvcHVwUmVxdWVzdCAgPSB7XHJcbiAgICAgIGF1dGhvcml0eTogdGhpcy5zaWduVXBQb2xpY3kuYXV0aG9yaXR5LFxyXG4gICAgICBzY29wZXM6IFtdXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubG9naW4oc2lnblVwRmxvd1JlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgZWRpdFByb2ZpbGUoKSB7XHJcbiAgICBpZiAoIU1TQUxVdGlscy5pc0IyQygpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZWRpdFByb2ZpbGVGbG93UmVxdWVzdDogUmVkaXJlY3RSZXF1ZXN0IHwgUG9wdXBSZXF1ZXN0ICA9IHtcclxuICAgICAgYXV0aG9yaXR5OiB0aGlzLmVkaXRQcm9maWxlUG9saWN5LmF1dGhvcml0eSxcclxuICAgICAgc2NvcGVzOiBbXVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmxvZ2luKGVkaXRQcm9maWxlRmxvd1JlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRQYXNzd29yZCgpIHtcclxuICAgIGlmICghTVNBTFV0aWxzLmlzQjJDKCkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXNldFBhc3N3b3JkRmxvd1JlcXVlc3Q6IFJlZGlyZWN0UmVxdWVzdCB8IFBvcHVwUmVxdWVzdCAgPSB7XHJcbiAgICAgIGF1dGhvcml0eTogdGhpcy5yZXNldFBhc3N3b3JkUG9saWN5LmF1dGhvcml0eSxcclxuICAgICAgc2NvcGVzOiBbXVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmxvZ2luKHJlc2V0UGFzc3dvcmRGbG93UmVxdWVzdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  20 Sep 2023
@@ -39,4 +39,4 @@ export class MSALStorage {
39
39
  console.log(`msal.app: redirect state cleared. Called by: ${calledBy}`);
40
40
  }
41
41
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9pYW0vc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsY0FBYztJQUNkLFVBQVUsRUFBRSxxQkFBcUI7SUFFakMsZ0JBQWdCO0NBQ2pCLENBQUE7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUNmLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCO1FBQ2xFLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxVQUFVLGdCQUFnQixRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDN0MsSUFBSSxVQUFVLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsVUFBVSxnQkFBZ0IsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUV6RixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQWdCO1FBQy9DLFlBQVksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0RBQWdELFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcblx0Q3JlYXRlZDpcclxuXHRcdDIwIFNlcCAyMDIzXHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG5cdENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuZXhwb3J0IGNvbnN0IE1TQUxTdG9yYWdlS2V5cyA9IHtcclxuICAvL0xvY2FsU3RvcmFnZVxyXG4gIHJlZGlyZWN0VG86ICdtc2FsLmFwcC5yZWRpcmVjdFRvJ1xyXG5cclxuICAvL1Nlc3Npb25TdG9yYWdlXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNU0FMU3RvcmFnZSB7XHJcbiAgcHVibGljIHN0YXRpYyBzYXZlUmVkaXJlY3RTdGF0ZShyZWRpcmVjdFRvOiBzdHJpbmcsIGNhbGxlZEJ5OiBzdHJpbmcpIHtcclxuICAgIGlmIChyZWRpcmVjdFRvLmluZGV4T2YoJ2lhbScpID49IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKE1TQUxTdG9yYWdlS2V5cy5yZWRpcmVjdFRvLCByZWRpcmVjdFRvKTtcclxuICAgIGNvbnNvbGUubG9nKGBtc2FsLmFwcDogcmVkaXJlY3Qgc3RhdGUgc2F2ZWQ6ICR7cmVkaXJlY3RUb30uIENhbGxlZCBieTogJHtjYWxsZWRCeX1gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UmVkaXJlY3RTdGF0ZShjYWxsZWRCeTogc3RyaW5nKSB7XHJcbiAgICBsZXQgcmVkaXJlY3RUbyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKE1TQUxTdG9yYWdlS2V5cy5yZWRpcmVjdFRvKTtcclxuICAgIGNvbnNvbGUubG9nKGBtc2FsLmFwcDogcmVkaXJlY3Qgc3RhdGUgcmVxdWVzdGVkOiAke3JlZGlyZWN0VG99LiBDYWxsZWQgYnk6ICR7Y2FsbGVkQnl9YCk7XHJcblxyXG4gICAgcmV0dXJuIHJlZGlyZWN0VG87XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNsZWFyUmVkaXJlY3RTdGF0ZShjYWxsZWRCeTogc3RyaW5nKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShNU0FMU3RvcmFnZUtleXMucmVkaXJlY3RUbyk7XHJcbiAgICBjb25zb2xlLmxvZyhgbXNhbC5hcHA6IHJlZGlyZWN0IHN0YXRlIGNsZWFyZWQuIENhbGxlZCBieTogJHtjYWxsZWRCeX1gKTtcclxuICB9XHJcbn1cclxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9pYW0vc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsY0FBYztJQUNkLFVBQVUsRUFBRSxxQkFBcUI7SUFFakMsZ0JBQWdCO0NBQ2pCLENBQUE7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUNmLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCO1FBQ2xFLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxVQUFVLGdCQUFnQixRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDN0MsSUFBSSxVQUFVLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsVUFBVSxnQkFBZ0IsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUV6RixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQWdCO1FBQy9DLFlBQVksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0RBQWdELFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcblx0Q3JlYXRlZDpcclxuXHRcdDIwIFNlcCAyMDIzXHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50XHJcblxyXG5cdENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuZXhwb3J0IGNvbnN0IE1TQUxTdG9yYWdlS2V5cyA9IHtcclxuICAvL0xvY2FsU3RvcmFnZVxyXG4gIHJlZGlyZWN0VG86ICdtc2FsLmFwcC5yZWRpcmVjdFRvJ1xyXG5cclxuICAvL1Nlc3Npb25TdG9yYWdlXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNU0FMU3RvcmFnZSB7XHJcbiAgcHVibGljIHN0YXRpYyBzYXZlUmVkaXJlY3RTdGF0ZShyZWRpcmVjdFRvOiBzdHJpbmcsIGNhbGxlZEJ5OiBzdHJpbmcpIHtcclxuICAgIGlmIChyZWRpcmVjdFRvLmluZGV4T2YoJ2lhbScpID49IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKE1TQUxTdG9yYWdlS2V5cy5yZWRpcmVjdFRvLCByZWRpcmVjdFRvKTtcclxuICAgIGNvbnNvbGUubG9nKGBtc2FsLmFwcDogcmVkaXJlY3Qgc3RhdGUgc2F2ZWQ6ICR7cmVkaXJlY3RUb30uIENhbGxlZCBieTogJHtjYWxsZWRCeX1gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UmVkaXJlY3RTdGF0ZShjYWxsZWRCeTogc3RyaW5nKSB7XHJcbiAgICBsZXQgcmVkaXJlY3RUbyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKE1TQUxTdG9yYWdlS2V5cy5yZWRpcmVjdFRvKTtcclxuICAgIGNvbnNvbGUubG9nKGBtc2FsLmFwcDogcmVkaXJlY3Qgc3RhdGUgcmVxdWVzdGVkOiAke3JlZGlyZWN0VG99LiBDYWxsZWQgYnk6ICR7Y2FsbGVkQnl9YCk7XHJcblxyXG4gICAgcmV0dXJuIHJlZGlyZWN0VG87XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNsZWFyUmVkaXJlY3RTdGF0ZShjYWxsZWRCeTogc3RyaW5nKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShNU0FMU3RvcmFnZUtleXMucmVkaXJlY3RUbyk7XHJcbiAgICBjb25zb2xlLmxvZyhgbXNhbC5hcHA6IHJlZGlyZWN0IHN0YXRlIGNsZWFyZWQuIENhbGxlZCBieTogJHtjYWxsZWRCeX1gKTtcclxuICB9XHJcbn1cclxuIl19
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  27 Nov 2023
@@ -46,4 +46,4 @@ export class MSALUtils {
46
46
  return scopes;
47
47
  }
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsS0FBSztBQUNMLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhELE1BQU0sT0FBTyxTQUFTO0lBQ2IsTUFBTSxDQUFDLEtBQUs7UUFDakIsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx3REFBd0Q7SUFDakQsTUFBTSxDQUFDLGlCQUFpQjtRQUM3QixPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ3JHLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTTtRQUNsQixJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUMzQyxJQUFJLEdBQUcsR0FBRyxhQUFhLENBQUM7UUFFeEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWTtRQUN4QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxHQUFHLEdBQUcsYUFBYSxDQUFDO1FBRXhCLEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG5cdENyZWF0ZWQ6XHJcblx0XHQyNyBOb3YgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuXHRDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBCcm93c2VyVXRpbHMgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IE1TQUxBcGlDb25maWcsIE1TQUxCMkNDb25maWcgfSBmcm9tICcuL2NvbnN0cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgTVNBTFV0aWxzIHtcclxuICBwdWJsaWMgc3RhdGljIGlzQjJDKCkge1xyXG4gICAgaWYgKE1TQUxCMkNDb25maWcpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gRG9uJ3QgcGVyZm9ybSBpbml0aWFsIG5hdmlnYXRpb24gaW4gaWZyYW1lcyBvciBwb3B1cHNcclxuICBwdWJsaWMgc3RhdGljIGluaXRpYWxOYXZpZ2F0aW9uKCkge1xyXG4gICAgcmV0dXJuICFCcm93c2VyVXRpbHMuaXNJbklmcmFtZSgpICYmICFCcm93c2VyVXRpbHMuaXNJblBvcHVwKCkgPyAnZW5hYmxlZE5vbkJsb2NraW5nJyA6ICdkaXNhYmxlZCc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEFwaSgpIDogTWFwPHN0cmluZywgQXJyYXk8c3RyaW5nPj4ge1xyXG4gICAgbGV0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcnJheTxzdHJpbmc+PigpO1xyXG4gICAgbGV0IGFwaSA9IE1TQUxBcGlDb25maWc7XHJcblxyXG4gICAgbWFwLnNldChhcGkudXJpLCBhcGkuc2NvcGVzKTtcclxuICAgIHJldHVybiBtYXA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEFwaVNjb3BlcygpIDogYW55W10ge1xyXG4gICAgbGV0IHNjb3BlcyA9IFtdO1xyXG4gICAgbGV0IGFwaSA9IE1TQUxBcGlDb25maWc7XHJcblxyXG4gICAgZm9yIChjb25zdCBzY29wZSBvZiBhcGkuc2NvcGVzKSB7XHJcbiAgICAgIHNjb3Blcy5wdXNoKHNjb3BlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc2NvcGVzO1xyXG4gIH1cclxufVxyXG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsS0FBSztBQUNMLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhELE1BQU0sT0FBTyxTQUFTO0lBQ2IsTUFBTSxDQUFDLEtBQUs7UUFDakIsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx3REFBd0Q7SUFDakQsTUFBTSxDQUFDLGlCQUFpQjtRQUM3QixPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ3JHLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTTtRQUNsQixJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUMzQyxJQUFJLEdBQUcsR0FBRyxhQUFhLENBQUM7UUFFeEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWTtRQUN4QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxHQUFHLEdBQUcsYUFBYSxDQUFDO1FBRXhCLEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG5cdENyZWF0ZWQ6XHJcblx0XHQyNyBOb3YgMjAyM1xyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudFxyXG5cclxuXHRDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBCcm93c2VyVXRpbHMgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IE1TQUxBcGlDb25maWcsIE1TQUxCMkNDb25maWcgfSBmcm9tICcuL2NvbnN0cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgTVNBTFV0aWxzIHtcclxuICBwdWJsaWMgc3RhdGljIGlzQjJDKCkge1xyXG4gICAgaWYgKE1TQUxCMkNDb25maWcpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gRG9uJ3QgcGVyZm9ybSBpbml0aWFsIG5hdmlnYXRpb24gaW4gaWZyYW1lcyBvciBwb3B1cHNcclxuICBwdWJsaWMgc3RhdGljIGluaXRpYWxOYXZpZ2F0aW9uKCkge1xyXG4gICAgcmV0dXJuICFCcm93c2VyVXRpbHMuaXNJbklmcmFtZSgpICYmICFCcm93c2VyVXRpbHMuaXNJblBvcHVwKCkgPyAnZW5hYmxlZE5vbkJsb2NraW5nJyA6ICdkaXNhYmxlZCc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEFwaSgpIDogTWFwPHN0cmluZywgQXJyYXk8c3RyaW5nPj4ge1xyXG4gICAgbGV0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcnJheTxzdHJpbmc+PigpO1xyXG4gICAgbGV0IGFwaSA9IE1TQUxBcGlDb25maWc7XHJcblxyXG4gICAgbWFwLnNldChhcGkudXJpLCBhcGkuc2NvcGVzKTtcclxuICAgIHJldHVybiBtYXA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEFwaVNjb3BlcygpIDogYW55W10ge1xyXG4gICAgbGV0IHNjb3BlcyA9IFtdO1xyXG4gICAgbGV0IGFwaSA9IE1TQUxBcGlDb25maWc7XHJcblxyXG4gICAgZm9yIChjb25zdCBzY29wZSBvZiBhcGkuc2NvcGVzKSB7XHJcbiAgICAgIHNjb3Blcy5wdXNoKHNjb3BlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc2NvcGVzO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  28 Aug 2018
@@ -16,7 +16,7 @@
16
16
  //Node
17
17
  import { Component, Input } from "@angular/core";
18
18
  //App
19
- import { Subs, IsDevMode, QSUtils, AppSettings } from "../../../../core";
19
+ import { Subs, IsDevMode, QSUtils, AppSettings } from "../../../../core/exports";
20
20
  import * as i0 from "@angular/core";
21
21
  export class ComponentBase {
22
22
  constructor() {
@@ -78,4 +78,4 @@ export class ComponentBase {
78
78
  type: Input
79
79
  }] }); })();
80
80
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ComponentBase, { className: "ComponentBase", filePath: "lib\\ui\\components\\base\\components\\component.ts", lineNumber: 26 }); })();
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmFzZS9jb21wb25lbnRzL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFhLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxLQUFLO0FBQ0wsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUt6RSxNQUFNLE9BQWdCLGFBQWE7SUFtQmpDO1FBbEJVLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsU0FBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFbEMsNENBQTRDO1FBQ2xDLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVE1QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUcxQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztRQUUzQixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUV0QyxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQWlCLElBQUk7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzs4RUExRG1CLGFBQWE7b0VBQWIsYUFBYTs7aUZBQWIsYUFBYTtjQUhsQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDYjtvQkFlVSxPQUFPO2tCQUFmLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSzs7a0ZBakJjLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjggQXVnIDIwMThcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgU3VicywgSXNEZXZNb2RlLCBRU1V0aWxzLCBBcHBTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJvdGVjdGVkIGlzRGV2TW9kZSA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCBzdWJzOiBTdWJzID0gbmV3IFN1YnMoKTtcclxuXHJcbiAgLy9Db21wb25lbnQgRGF0YSA9PiB1c3VhbGx5IGxvYWRpbmcgZnJvbSBBUElcclxuICBwcm90ZWN0ZWQgZGF0YUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByb3RlY3RlZCBkYXRhTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIGRhdGFGb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvL1B1YmxpY1xyXG4gIGFwcGxpY2F0aW9uVHlwZTtcclxuICBhcHBsaWNhdGlvblJvb3Q7XHJcblxyXG4gIC8vSW5wdXRzXHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcbiAgQElucHV0KCkgaXNUaXRsZVZpc2libGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzUmVxdWlyZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmlzRGV2TW9kZSA9IElzRGV2TW9kZTtcclxuICAgIHRoaXMuYXBwbGljYXRpb25UeXBlID0gMTtcclxuICAgIHRoaXMuYXBwbGljYXRpb25Sb290ID0gJy8nO1xyXG5cclxuICAgIGlmIChBcHBTZXR0aW5ncykge1xyXG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVHlwZSA9IEFwcFNldHRpbmdzLmlkO1xyXG5cclxuICAgICAgaWYgKEFwcFNldHRpbmdzLnJvb3QgIT0gJy8nKSB7XHJcbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvblJvb3QgPSBBcHBTZXR0aW5ncy5yb290O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRFbnRpdHlJZCgpIHtcclxuICAgIHJldHVybiBRU1V0aWxzLmdldFZhbHVlQnlOYW1lKFwiaWRcIik7XHJcbiAgfVxyXG5cclxuICBkYXRhU3RhcnRlZExvYWRpbmcoKSB7XHJcbiAgICB0aGlzLmRhdGFMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5kYXRhRm91bmQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRhdGFMb2FkZWRBbmROb3RoaW5nRm91bmQoKSB7XHJcbiAgICB0aGlzLmRhdGFMb2FkZWRBbmRGb3VuZChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBkYXRhTG9hZGVkQW5kRm91bmQoZm91bmQ6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0aGlzLmRhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLmRhdGFMb2FkZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5kYXRhRm91bmQgPSBmb3VuZDtcclxuICB9XHJcbn1cclxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmFzZS9jb21wb25lbnRzL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFhLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxLQUFLO0FBQ0wsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtqRixNQUFNLE9BQWdCLGFBQWE7SUFtQmpDO1FBbEJVLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsU0FBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFbEMsNENBQTRDO1FBQ2xDLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVE1QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUcxQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztRQUUzQixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUV0QyxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQWlCLElBQUk7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzs4RUExRG1CLGFBQWE7b0VBQWIsYUFBYTs7aUZBQWIsYUFBYTtjQUhsQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDYjtvQkFlVSxPQUFPO2tCQUFmLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSzs7a0ZBakJjLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjggQXVnIDIwMThcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgU3VicywgSXNEZXZNb2RlLCBRU1V0aWxzLCBBcHBTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL2V4cG9ydHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcm90ZWN0ZWQgaXNEZXZNb2RlID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIHN1YnM6IFN1YnMgPSBuZXcgU3VicygpO1xyXG5cclxuICAvL0NvbXBvbmVudCBEYXRhID0+IHVzdWFsbHkgbG9hZGluZyBmcm9tIEFQSVxyXG4gIHByb3RlY3RlZCBkYXRhTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHJvdGVjdGVkIGRhdGFMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgZGF0YUZvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vUHVibGljXHJcbiAgYXBwbGljYXRpb25UeXBlO1xyXG4gIGFwcGxpY2F0aW9uUm9vdDtcclxuXHJcbiAgLy9JbnB1dHNcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcclxuICBASW5wdXQoKSBpc1RpdGxlVmlzaWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgaXNSZXF1aXJlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaXNEZXZNb2RlID0gSXNEZXZNb2RlO1xyXG4gICAgdGhpcy5hcHBsaWNhdGlvblR5cGUgPSAxO1xyXG4gICAgdGhpcy5hcHBsaWNhdGlvblJvb3QgPSAnLyc7XHJcblxyXG4gICAgaWYgKEFwcFNldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UeXBlID0gQXBwU2V0dGluZ3MuaWQ7XHJcblxyXG4gICAgICBpZiAoQXBwU2V0dGluZ3Mucm9vdCAhPSAnLycpIHtcclxuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uUm9vdCA9IEFwcFNldHRpbmdzLnJvb3Q7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGdldEVudGl0eUlkKCkge1xyXG4gICAgcmV0dXJuIFFTVXRpbHMuZ2V0VmFsdWVCeU5hbWUoXCJpZFwiKTtcclxuICB9XHJcblxyXG4gIGRhdGFTdGFydGVkTG9hZGluZygpIHtcclxuICAgIHRoaXMuZGF0YUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5kYXRhTG9hZGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmRhdGFGb3VuZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGF0YUxvYWRlZEFuZE5vdGhpbmdGb3VuZCgpIHtcclxuICAgIHRoaXMuZGF0YUxvYWRlZEFuZEZvdW5kKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGRhdGFMb2FkZWRBbmRGb3VuZChmb3VuZDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRoaXMuZGF0YUxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZGF0YUxvYWRlZCA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGFGb3VuZCA9IGZvdW5kO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -4,8 +4,8 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
9
 
10
10
  Created:
11
11
  20 Nov 2017
@@ -18,7 +18,7 @@ import { Component, Input } from "@angular/core";
18
18
  import { FormControl } from "@angular/forms";
19
19
  //App
20
20
  import { ComponentBase } from "./component";
21
- import { QSUtils } from "../../../../core";
21
+ import { QSUtils } from "../../../../core/exports";
22
22
  import * as i0 from "@angular/core";
23
23
  export class EditComponentBase extends ComponentBase {
24
24
  constructor() {
@@ -140,4 +140,4 @@ export class EditComponentBase extends ComponentBase {
140
140
  type: Input
141
141
  }] }); })();
142
142
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditComponentBase, { className: "EditComponentBase", filePath: "lib\\ui\\components\\base\\components\\edit.component.ts", lineNumber: 28 }); })();
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlL2NvbXBvbmVudHMvZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUE4QixXQUFXLEVBQXlELE1BQU0sZ0JBQWdCLENBQUM7QUFFaEksS0FBSztBQUNMLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUszQyxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLGFBQWE7SUFVM0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVZWLE9BQU87UUFDRyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJcEIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsZ0JBQVcsR0FBVyxJQUFJLENBQUM7UUFLbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsV0FBc0IsSUFBSTtRQUNyRCxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFdBQXNCLElBQUk7UUFDdkQsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUUs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QU8sSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsV0FBbUIsRUFBRSxHQUFPLEVBQUUsV0FBc0IsSUFBSTtRQUN0RSxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxXQUFtQixFQUFFLFdBQXNCLElBQUk7UUFDN0QsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUM7SUFDbEMsQ0FBQztrRkE1SW1CLGlCQUFpQjtvRUFBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBSHRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNiO29CQU9VLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSzs7a0ZBUmMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIwIE5vdiAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2xPcHRpb25zLCBBc3luY1ZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSBcIi4vY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFFTVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFZGl0Q29tcG9uZW50QmFzZSBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG4gIC8vTW9kZXNcclxuICBwcm90ZWN0ZWQgaXNBZGRNb2RlID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIGlzRWRpdE1vZGUgPSBmYWxzZTtcclxuXHJcbiAgLy9Gb3JtcyBzdXBwb3J0XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybVN1Ym1pdHRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNvbnRyb2xOYW1lOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcblxyXG4gICAgdGhpcy5pc0VkaXRNb2RlID0gUVNVdGlscy5pZEV4aXN0cygpO1xyXG4gICAgdGhpcy5pc0FkZE1vZGUgPSAhdGhpcy5pc0VkaXRNb2RlO1xyXG4gIH1cclxuXHJcbiAgaXNDb250cm9sVmFsaWQobmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzQ29udHJvbEludmFsaWQobmFtZSwgZnJtR3JvdXApO1xyXG4gIH1cclxuXHJcbiAgaXNDb250cm9sSW52YWxpZChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwidW5kZWZpbmVkXCIgfHwgbmFtZSA9PSBcIlwiKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBpZiAoIWZnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY29udHJvbCA9IGZnLmdldChuYW1lKTtcclxuXHJcbiAgICBpZiAoY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgICh0aGlzLmZvcm1TdWJtaXR0ZWQgJiYgY29udHJvbC5pbnZhbGlkKSB8fCAoY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuaW52YWxpZClcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvL0Zvcm1Hcm91cCBmdW5jdGlvbnNcclxuICBnZXRGb3JtVmFsdWUobmFtZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIHJldHVybiBmZy5jb250cm9sc1tuYW1lXS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldEZvcm1WYWx1ZShuYW1lLCB2YWx1ZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmNvbnRyb2xzW25hbWVdLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1Hcm91cFZhbHVlKGdyb3VwTmFtZSwgbmFtZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIHJldHVybiBmZy5jb250cm9sc1tncm91cE5hbWVdLmdldChuYW1lKS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldEZvcm1Hcm91cFZhbHVlKGdyb3VwTmFtZSwgbmFtZSwgdmFsdWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5jb250cm9sc1tncm91cE5hbWVdLmdldChuYW1lKS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgY29udHJvbCB0byBmb3JtIGdyb3VwXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gZm9ybUNvbnRyb2xcclxuICAgKiBAcGFyYW0gZnJtR3JvdXBcclxuICAgKi9cclxuICBhZGRDb250cm9sKFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcclxuICAgIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsXHJcbiAgKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5hZGRDb250cm9sKG5hbWUsIGZvcm1Db250cm9sKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgY29udHJvbCBmcm9tIGZvcm0gZ3JvdXBcclxuICAgKiBAcGFyYW0gbmFtZVxyXG4gICAqIEBwYXJhbSBmcm1Hcm91cFxyXG4gICAqL1xyXG4gIHJlbW92ZUNvbnRyb2wobmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG5cclxuICAgIGlmIChmZy5nZXQobmFtZSkpIHtcclxuICAgICAgZmcucmVtb3ZlQ29udHJvbChuYW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldHVybiBuZXcgZm9ybSBjb250cm9sXHJcbiAgICogQHBhcmFtIGZvcm1TdGF0ZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0b3JPck9wdHNcclxuICAgKiBAcGFyYW0gYXN5bmNWYWxpZGF0b3JcclxuICAgKi9cclxuICBjcmVhdGVGb3JtQ29udHJvbChcclxuICAgIGZvcm1TdGF0ZT86IGFueSxcclxuICAgIHZhbGlkYXRvck9yT3B0cz86XHJcbiAgICAgIHwgVmFsaWRhdG9yRm5cclxuICAgICAgfCBWYWxpZGF0b3JGbltdXHJcbiAgICAgIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uc1xyXG4gICAgICB8IG51bGwsXHJcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKGZvcm1TdGF0ZSwgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgZXJyb3IgdG8gY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSBmb3JtQ29udHJvbCBuYW1lXHJcbiAgICogQHBhcmFtIGVyciBlcnJvciBleHBlY3Qge2Vycm9uYW1lOiBib29sZWFufSBmb3JtYXRcclxuICAgKiBAcGFyYW0gZnJtR3JvdXBcclxuICAgKi9cclxuICBzZXRDb250cm9sRXJyb3IoY29udHJvbE5hbWU6IHN0cmluZywgZXJyOiB7fSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmdldChjb250cm9sTmFtZSk/LnNldEVycm9ycyhlcnIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHtpbnZhbGlkOiB0cnVlfSBmb3IgdGhlIHNwZWNpZmllZCBmb3JtXHJcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIGZvcm0gY29udHJvbCBuYW1lXHJcbiAgICogQHBhcmFtIGZybUdyb3VwXHJcbiAgICovXHJcbiAgc2V0SW5WYWxpZEVycm9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5nZXQoY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoeyBpbnZhbGlkOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJucyBmb3JtZ3JvdXAgY29udHJvbHMuXHJcbiAgICogbWFpbiB1c2UgY2FzZSBpcyB1c2VkIGluIGh0bWwgcGFnZXNcclxuICAgKi9cclxuICBnZXQgZmMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNOZ01vZGVsQmFzZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sTmFtZSA9PSBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlL2NvbXBvbmVudHMvZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUE4QixXQUFXLEVBQXlELE1BQU0sZ0JBQWdCLENBQUM7QUFFaEksS0FBSztBQUNMLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtuRCxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLGFBQWE7SUFVM0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVZWLE9BQU87UUFDRyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJcEIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsZ0JBQVcsR0FBVyxJQUFJLENBQUM7UUFLbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsV0FBc0IsSUFBSTtRQUNyRCxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFdBQXNCLElBQUk7UUFDdkQsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUUs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QU8sSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsV0FBbUIsRUFBRSxHQUFPLEVBQUUsV0FBc0IsSUFBSTtRQUN0RSxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxXQUFtQixFQUFFLFdBQXNCLElBQUk7UUFDN0QsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUM7SUFDbEMsQ0FBQztrRkE1SW1CLGlCQUFpQjtvRUFBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBSHRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNiO29CQU9VLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSzs7a0ZBUmMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIwIE5vdiAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2xPcHRpb25zLCBBc3luY1ZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSBcIi4vY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFFTVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZS9leHBvcnRzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVkaXRDb21wb25lbnRCYXNlIGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7XHJcbiAgLy9Nb2Rlc1xyXG4gIHByb3RlY3RlZCBpc0FkZE1vZGUgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgaXNFZGl0TW9kZSA9IGZhbHNlO1xyXG5cclxuICAvL0Zvcm1zIHN1cHBvcnRcclxuICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBmb3JtU3VibWl0dGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY29udHJvbE5hbWU6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLmlzRWRpdE1vZGUgPSBRU1V0aWxzLmlkRXhpc3RzKCk7XHJcbiAgICB0aGlzLmlzQWRkTW9kZSA9ICF0aGlzLmlzRWRpdE1vZGU7XHJcbiAgfVxyXG5cclxuICBpc0NvbnRyb2xWYWxpZChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNDb250cm9sSW52YWxpZChuYW1lLCBmcm1Hcm91cCk7XHJcbiAgfVxyXG5cclxuICBpc0NvbnRyb2xJbnZhbGlkKG5hbWU6IHN0cmluZywgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gXCJ1bmRlZmluZWRcIiB8fCBuYW1lID09IFwiXCIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGlmICghZmcpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjb250cm9sID0gZmcuZ2V0KG5hbWUpO1xyXG5cclxuICAgIGlmIChjb250cm9sKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgKHRoaXMuZm9ybVN1Ym1pdHRlZCAmJiBjb250cm9sLmludmFsaWQpIHx8IChjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5pbnZhbGlkKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vRm9ybUdyb3VwIGZ1bmN0aW9uc1xyXG4gIGdldEZvcm1WYWx1ZShuYW1lLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgcmV0dXJuIGZnLmNvbnRyb2xzW25hbWVdLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9ybVZhbHVlKG5hbWUsIHZhbHVlLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuY29udHJvbHNbbmFtZV0uc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybUdyb3VwVmFsdWUoZ3JvdXBOYW1lLCBuYW1lLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgcmV0dXJuIGZnLmNvbnRyb2xzW2dyb3VwTmFtZV0uZ2V0KG5hbWUpLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9ybUdyb3VwVmFsdWUoZ3JvdXBOYW1lLCBuYW1lLCB2YWx1ZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmNvbnRyb2xzW2dyb3VwTmFtZV0uZ2V0KG5hbWUpLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBjb250cm9sIHRvIGZvcm0gZ3JvdXBcclxuICAgKiBAcGFyYW0gbmFtZVxyXG4gICAqIEBwYXJhbSBmb3JtQ29udHJvbFxyXG4gICAqIEBwYXJhbSBmcm1Hcm91cFxyXG4gICAqL1xyXG4gIGFkZENvbnRyb2woXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sLFxyXG4gICAgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGxcclxuICApIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmFkZENvbnRyb2wobmFtZSwgZm9ybUNvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBjb250cm9sIGZyb20gZm9ybSBncm91cFxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIGZybUdyb3VwXHJcbiAgICovXHJcbiAgcmVtb3ZlQ29udHJvbChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcblxyXG4gICAgaWYgKGZnLmdldChuYW1lKSkge1xyXG4gICAgICBmZy5yZW1vdmVDb250cm9sKG5hbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJuIG5ldyBmb3JtIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gZm9ybVN0YXRlXHJcbiAgICogQHBhcmFtIHZhbGlkYXRvck9yT3B0c1xyXG4gICAqIEBwYXJhbSBhc3luY1ZhbGlkYXRvclxyXG4gICAqL1xyXG4gIGNyZWF0ZUZvcm1Db250cm9sKFxyXG4gICAgZm9ybVN0YXRlPzogYW55LFxyXG4gICAgdmFsaWRhdG9yT3JPcHRzPzpcclxuICAgICAgfCBWYWxpZGF0b3JGblxyXG4gICAgICB8IFZhbGlkYXRvckZuW11cclxuICAgICAgfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zXHJcbiAgICAgIHwgbnVsbCxcclxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGxcclxuICApIHtcclxuICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2woZm9ybVN0YXRlLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBlcnJvciB0byBjb250cm9sXHJcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIGZvcm1Db250cm9sIG5hbWVcclxuICAgKiBAcGFyYW0gZXJyIGVycm9yIGV4cGVjdCB7ZXJyb25hbWU6IGJvb2xlYW59IGZvcm1hdFxyXG4gICAqIEBwYXJhbSBmcm1Hcm91cFxyXG4gICAqL1xyXG4gIHNldENvbnRyb2xFcnJvcihjb250cm9sTmFtZTogc3RyaW5nLCBlcnI6IHt9LCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuZ2V0KGNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKGVycik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQge2ludmFsaWQ6IHRydWV9IGZvciB0aGUgc3BlY2lmaWVkIGZvcm1cclxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgZm9ybSBjb250cm9sIG5hbWVcclxuICAgKiBAcGFyYW0gZnJtR3JvdXBcclxuICAgKi9cclxuICBzZXRJblZhbGlkRXJyb3IoY29udHJvbE5hbWU6IHN0cmluZywgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmdldChjb250cm9sTmFtZSk/LnNldEVycm9ycyh7IGludmFsaWQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiByZXR1cm5zIGZvcm1ncm91cCBjb250cm9scy5cclxuICAgKiBtYWluIHVzZSBjYXNlIGlzIHVzZWQgaW4gaHRtbCBwYWdlc1xyXG4gICAqL1xyXG4gIGdldCBmYygpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5jb250cm9scztcclxuICB9XHJcblxyXG4gIGdldCBpc05nTW9kZWxCYXNlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2xOYW1lID09IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==