monkey-style-guide 2.0.148 → 2.0.151

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 (163) hide show
  1. package/README.md +4 -3
  2. package/assets/icons/arrow-left.svg +2 -2
  3. package/assets/icons/arrow-right.svg +2 -2
  4. package/assets/icons/double-arrow-left.svg +2 -2
  5. package/assets/icons/star.svg +3 -0
  6. package/assets/scss/partials/components/_table.scss +33 -0
  7. package/esm2020/lib/components/badge/badge.component.mjs +4 -4
  8. package/esm2020/lib/components/badge/badge.module.mjs +5 -5
  9. package/esm2020/lib/components/button/button-avatar.component.mjs +4 -4
  10. package/esm2020/lib/components/button/button-dropdown.component.mjs +4 -4
  11. package/esm2020/lib/components/button/button.component.mjs +4 -4
  12. package/esm2020/lib/components/button/button.module.mjs +5 -5
  13. package/esm2020/lib/components/checkbox/checkbox.component.mjs +4 -4
  14. package/esm2020/lib/components/checkbox/checkbox.module.mjs +5 -5
  15. package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +4 -4
  16. package/esm2020/lib/components/date-range-picker/date-range-picker.module.mjs +5 -5
  17. package/esm2020/lib/components/expansion/expansion.component.mjs +4 -4
  18. package/esm2020/lib/components/expansion/expansion.module.mjs +5 -5
  19. package/esm2020/lib/components/file-upload/file-upload.component.mjs +4 -4
  20. package/esm2020/lib/components/file-upload/file-upload.module.mjs +5 -5
  21. package/esm2020/lib/components/icon/icon-arrow-down.component.mjs +4 -4
  22. package/esm2020/lib/components/icon/icon-arrow-left.component.mjs +5 -5
  23. package/esm2020/lib/components/icon/icon-arrow-line-right.component.mjs +4 -4
  24. package/esm2020/lib/components/icon/icon-arrow-right.component.mjs +5 -5
  25. package/esm2020/lib/components/icon/icon-arrow-up.component.mjs +4 -4
  26. package/esm2020/lib/components/icon/icon-arrows.component.mjs +4 -4
  27. package/esm2020/lib/components/icon/icon-auction.component.mjs +4 -4
  28. package/esm2020/lib/components/icon/icon-bank-account.component.mjs +4 -4
  29. package/esm2020/lib/components/icon/icon-bank.component.mjs +4 -4
  30. package/esm2020/lib/components/icon/icon-banknote-search.component.mjs +4 -4
  31. package/esm2020/lib/components/icon/icon-bell.component.mjs +4 -4
  32. package/esm2020/lib/components/icon/icon-book.component.mjs +4 -4
  33. package/esm2020/lib/components/icon/icon-box.component.mjs +4 -4
  34. package/esm2020/lib/components/icon/icon-build-person.component.mjs +4 -4
  35. package/esm2020/lib/components/icon/icon-calendar.component.mjs +4 -4
  36. package/esm2020/lib/components/icon/icon-camera.component.mjs +4 -4
  37. package/esm2020/lib/components/icon/icon-card-machine.component.mjs +4 -4
  38. package/esm2020/lib/components/icon/icon-card.component.mjs +4 -4
  39. package/esm2020/lib/components/icon/icon-chat.component.mjs +4 -4
  40. package/esm2020/lib/components/icon/icon-check-circle-out.component.mjs +4 -4
  41. package/esm2020/lib/components/icon/icon-check-circle.component.mjs +4 -4
  42. package/esm2020/lib/components/icon/icon-check-grey.component.mjs +4 -4
  43. package/esm2020/lib/components/icon/icon-check-white.component.mjs +4 -4
  44. package/esm2020/lib/components/icon/icon-check.component.mjs +4 -4
  45. package/esm2020/lib/components/icon/icon-clipboard.component.mjs +4 -4
  46. package/esm2020/lib/components/icon/icon-clock.component.mjs +4 -4
  47. package/esm2020/lib/components/icon/icon-close.component.mjs +4 -4
  48. package/esm2020/lib/components/icon/icon-cnpj.component.mjs +4 -4
  49. package/esm2020/lib/components/icon/icon-codepen.component.mjs +4 -4
  50. package/esm2020/lib/components/icon/icon-company-name.component.mjs +4 -4
  51. package/esm2020/lib/components/icon/icon-contract-pen.component.mjs +4 -4
  52. package/esm2020/lib/components/icon/icon-contract.component.mjs +4 -4
  53. package/esm2020/lib/components/icon/icon-delete.component.mjs +4 -4
  54. package/esm2020/lib/components/icon/icon-document.component.mjs +4 -4
  55. package/esm2020/lib/components/icon/icon-dollar-sign-circle.component.mjs +4 -4
  56. package/esm2020/lib/components/icon/icon-dollar-sign.component.mjs +4 -4
  57. package/esm2020/lib/components/icon/icon-domain.component.mjs +4 -4
  58. package/esm2020/lib/components/icon/icon-double-arrow-left.component.mjs +5 -5
  59. package/esm2020/lib/components/icon/icon-double-arrow-right.component.mjs +4 -4
  60. package/esm2020/lib/components/icon/icon-download.component.mjs +4 -4
  61. package/esm2020/lib/components/icon/icon-edit-square.component.mjs +4 -4
  62. package/esm2020/lib/components/icon/icon-edit.component.mjs +4 -4
  63. package/esm2020/lib/components/icon/icon-email.component.mjs +4 -4
  64. package/esm2020/lib/components/icon/icon-empty-doc.component.mjs +4 -4
  65. package/esm2020/lib/components/icon/icon-error.component.mjs +4 -4
  66. package/esm2020/lib/components/icon/icon-eye-closed.component.mjs +4 -4
  67. package/esm2020/lib/components/icon/icon-eye-open.component.mjs +4 -4
  68. package/esm2020/lib/components/icon/icon-filter.component.mjs +4 -4
  69. package/esm2020/lib/components/icon/icon-grid.component.mjs +4 -4
  70. package/esm2020/lib/components/icon/icon-help.component.mjs +4 -4
  71. package/esm2020/lib/components/icon/icon-hexagon.component.mjs +4 -4
  72. package/esm2020/lib/components/icon/icon-home.component.mjs +4 -4
  73. package/esm2020/lib/components/icon/icon-image.component.mjs +4 -4
  74. package/esm2020/lib/components/icon/icon-info.component.mjs +4 -4
  75. package/esm2020/lib/components/icon/icon-invoice.component.mjs +4 -4
  76. package/esm2020/lib/components/icon/icon-list.component.mjs +4 -4
  77. package/esm2020/lib/components/icon/icon-location-pin.component.mjs +4 -4
  78. package/esm2020/lib/components/icon/icon-login.component.mjs +4 -4
  79. package/esm2020/lib/components/icon/icon-logout.component.mjs +4 -4
  80. package/esm2020/lib/components/icon/icon-medal.component.mjs +4 -4
  81. package/esm2020/lib/components/icon/icon-menu.component.mjs +4 -4
  82. package/esm2020/lib/components/icon/icon-money-cedule.component.mjs +4 -4
  83. package/esm2020/lib/components/icon/icon-money-hand.component.mjs +4 -4
  84. package/esm2020/lib/components/icon/icon-money-sign.component.mjs +4 -4
  85. package/esm2020/lib/components/icon/icon-money.component.mjs +4 -4
  86. package/esm2020/lib/components/icon/icon-more.component.mjs +4 -4
  87. package/esm2020/lib/components/icon/icon-new-company.component.mjs +4 -4
  88. package/esm2020/lib/components/icon/icon-offered.component.mjs +4 -4
  89. package/esm2020/lib/components/icon/icon-password.component.mjs +4 -4
  90. package/esm2020/lib/components/icon/icon-people.component.mjs +4 -4
  91. package/esm2020/lib/components/icon/icon-percent.component.mjs +4 -4
  92. package/esm2020/lib/components/icon/icon-person-document.component.mjs +4 -4
  93. package/esm2020/lib/components/icon/icon-person-sad.component.mjs +4 -4
  94. package/esm2020/lib/components/icon/icon-phone.component.mjs +4 -4
  95. package/esm2020/lib/components/icon/icon-pork.component.mjs +4 -4
  96. package/esm2020/lib/components/icon/icon-radio.component.mjs +4 -4
  97. package/esm2020/lib/components/icon/icon-refresh.component.mjs +4 -4
  98. package/esm2020/lib/components/icon/icon-repeat.component.mjs +4 -4
  99. package/esm2020/lib/components/icon/icon-search.component.mjs +4 -4
  100. package/esm2020/lib/components/icon/icon-second-warning.component.mjs +4 -4
  101. package/esm2020/lib/components/icon/icon-settings.component.mjs +4 -4
  102. package/esm2020/lib/components/icon/icon-shield-chekmark.component.mjs +4 -4
  103. package/esm2020/lib/components/icon/icon-star.component.mjs +15 -0
  104. package/esm2020/lib/components/icon/icon-today.component.mjs +4 -4
  105. package/esm2020/lib/components/icon/icon-trash.component.mjs +4 -4
  106. package/esm2020/lib/components/icon/icon-trophy.component.mjs +4 -4
  107. package/esm2020/lib/components/icon/icon-unfold-more.component.mjs +4 -4
  108. package/esm2020/lib/components/icon/icon-upload.component.mjs +4 -4
  109. package/esm2020/lib/components/icon/icon-user.component.mjs +4 -4
  110. package/esm2020/lib/components/icon/icon-waiting.component.mjs +4 -4
  111. package/esm2020/lib/components/icon/icon-wallet.component.mjs +4 -4
  112. package/esm2020/lib/components/icon/icon-warning.component.mjs +4 -4
  113. package/esm2020/lib/components/icon/icon.component.mjs +28 -15
  114. package/esm2020/lib/components/icon/icon.module.mjs +8 -5
  115. package/esm2020/lib/components/icon/index.mjs +2 -1
  116. package/esm2020/lib/components/image-crop/image-crop.component.mjs +4 -4
  117. package/esm2020/lib/components/image-crop/image-crop.module.mjs +5 -5
  118. package/esm2020/lib/components/input/input-filter.component.mjs +4 -4
  119. package/esm2020/lib/components/input/input.component.mjs +4 -4
  120. package/esm2020/lib/components/input/input.module.mjs +5 -5
  121. package/esm2020/lib/components/input-phone/input-phone.component.mjs +7 -7
  122. package/esm2020/lib/components/input-phone/input-phone.module.mjs +5 -5
  123. package/esm2020/lib/components/modal/modal.component.mjs +4 -4
  124. package/esm2020/lib/components/modal/modal.module.mjs +5 -5
  125. package/esm2020/lib/components/option/option.component.mjs +4 -4
  126. package/esm2020/lib/components/option/option.module.mjs +5 -5
  127. package/esm2020/lib/components/radiobutton/radiobutton.component.mjs +4 -4
  128. package/esm2020/lib/components/radiobutton/radiobutton.module.mjs +5 -5
  129. package/esm2020/lib/components/select/select-filter.component.mjs +4 -4
  130. package/esm2020/lib/components/select/select-multiple.component.mjs +4 -4
  131. package/esm2020/lib/components/select/select-search.component.mjs +4 -4
  132. package/esm2020/lib/components/select/select.component.mjs +4 -4
  133. package/esm2020/lib/components/select/select.module.mjs +5 -5
  134. package/esm2020/lib/components/stepper/stepper.component.mjs +4 -4
  135. package/esm2020/lib/components/stepper/stepper.module.mjs +5 -5
  136. package/esm2020/lib/components/tab/tab.component.mjs +4 -4
  137. package/esm2020/lib/components/tab/tab.module.mjs +5 -5
  138. package/esm2020/lib/components/table/table-column.component.mjs +4 -4
  139. package/esm2020/lib/components/table/table.component.mjs +60 -12
  140. package/esm2020/lib/components/table/table.module.mjs +9 -8
  141. package/esm2020/lib/components/toggle/toggle.component.mjs +4 -4
  142. package/esm2020/lib/components/toggle/toggle.module.mjs +5 -5
  143. package/esm2020/lib/components/wizard/wizard.component.mjs +4 -4
  144. package/esm2020/lib/components/wizard/wizard.module.mjs +5 -5
  145. package/esm2020/lib/core/services/modal/monkey-style-guide-modal-fixed.service.mjs +4 -4
  146. package/esm2020/lib/core/services/modal/monkey-style-guide-modal.service.mjs +4 -4
  147. package/esm2020/lib/core/services/monkey-style-guide.service.mjs +4 -4
  148. package/esm2020/lib/core/services/settings/monkey-style-guide-settings.service.mjs +4 -4
  149. package/esm2020/lib/core/services/settings/monkey-style-guide-theme-settings.service.mjs +4 -4
  150. package/esm2020/lib/core/services/snackbar/mokey-style-guide-snackbar.service.mjs +4 -4
  151. package/esm2020/lib/monkey-style-guide.module.mjs +5 -5
  152. package/fesm2015/monkey-style-guide.mjs +540 -466
  153. package/fesm2015/monkey-style-guide.mjs.map +1 -1
  154. package/fesm2020/monkey-style-guide.mjs +540 -466
  155. package/fesm2020/monkey-style-guide.mjs.map +1 -1
  156. package/lib/components/icon/icon-star.component.d.ts +7 -0
  157. package/lib/components/icon/icon.module.d.ts +12 -11
  158. package/lib/components/icon/index.d.ts +1 -0
  159. package/lib/components/table/table.component.d.ts +23 -2
  160. package/lib/components/table/table.module.d.ts +2 -1
  161. package/monkey-style-guide-2.0.151.tgz +0 -0
  162. package/package.json +1 -1
  163. package/monkey-style-guide-2.0.148.tgz +0 -0
@@ -245,8 +245,8 @@ export class MonkeyImageCropComponent {
245
245
  this.onHandlePreviewReady.next(file);
246
246
  }
247
247
  }
248
- MonkeyImageCropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyImageCropComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
249
- MonkeyImageCropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyImageCropComponent, selector: "monkey-image-crop", inputs: { label: "label", cropTitle: "cropTitle", labelChangeImage: "labelChangeImage", labelPreviewImage: "labelPreviewImage", helperMessage: "helperMessage", placeholder: "placeholder", maxSize: "maxSize", maxSizeErrorMessage: "maxSizeErrorMessage", allowedExtensionErrorMessage: "allowedExtensionErrorMessage", fileUpload: "fileUpload", onHandleGetFilesReady: "onHandleGetFilesReady" }, outputs: { onHandleFilesReady: "onHandleFilesReady", onHandlePreviewReady: "onHandlePreviewReady" }, host: { listeners: { "mousemove": "moveImg($event)", "touchmove": "moveImg($event)", "document:mouseup": "moveStop()", "document:touchend": "moveStop()" } }, ngImport: i0, template: `
248
+ MonkeyImageCropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyImageCropComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
249
+ MonkeyImageCropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeyImageCropComponent, selector: "monkey-image-crop", inputs: { label: "label", cropTitle: "cropTitle", labelChangeImage: "labelChangeImage", labelPreviewImage: "labelPreviewImage", helperMessage: "helperMessage", placeholder: "placeholder", maxSize: "maxSize", maxSizeErrorMessage: "maxSizeErrorMessage", allowedExtensionErrorMessage: "allowedExtensionErrorMessage", fileUpload: "fileUpload", onHandleGetFilesReady: "onHandleGetFilesReady" }, outputs: { onHandleFilesReady: "onHandleFilesReady", onHandlePreviewReady: "onHandlePreviewReady" }, host: { listeners: { "mousemove": "moveImg($event)", "touchmove": "moveImg($event)", "document:mouseup": "moveStop()", "document:touchend": "moveStop()" } }, ngImport: i0, template: `
250
250
  <monkey-file-upload
251
251
  [label]="label"
252
252
  [helperMessage]="helperMessage"
@@ -357,7 +357,7 @@ MonkeyImageCropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
357
357
  {{ labelChangeImage }}
358
358
  </monkey-button>
359
359
  `, isInline: true, components: [{ type: i2.MonkeyFileUploadComponent, selector: "monkey-file-upload", inputs: ["name", "label", "helperMessage", "placeholder", "icon", "infoMessage", "uploadOngoingMessage", "errorMessage", "listenFiles", "maxSize", "allowedExtensions", "maxSizeErrorMessage", "allowedExtensionErrorMessage", "fileUpload", "value"], outputs: ["onChange", "onHandleFilesReady"] }, { type: i3.MonkeyButtonComponent, selector: "monkey-button", inputs: ["label", "icon", "iconPosition", "type", "color", "disabled", "size"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyImageCropComponent, decorators: [{
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyImageCropComponent, decorators: [{
361
361
  type: Component,
362
362
  args: [{
363
363
  selector: 'monkey-image-crop',
@@ -513,4 +513,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
513
513
  type: HostListener,
514
514
  args: ['document:touchend']
515
515
  }] } });
516
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksRUFFWixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7QUFxSHpDLE1BQU0sT0FBTyx3QkFBd0I7SUFvQ25DLFlBQ1UsR0FBc0IsRUFDdEIsU0FBdUI7UUFEdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQTNCeEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEQsZUFBVSxHQUFjLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBSzVCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFXLElBQUksQ0FBQztRQUN6Qix3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFHaEMsZUFBVSxHQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDckQsc0JBQWlCLEdBQUcs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEdUOzJGQUdVLHdCQUF3QjtrQkFuSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThHVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7bUlBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFpVFAsT0FBTztzQkFGTixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3BDLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWtCckMsUUFBUTtzQkFGUCxZQUFZO3VCQUFDLGtCQUFrQjs7c0JBQy9CLFlBQVk7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgT25Jbml0LFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBJbnB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbW9ua2V5LWltYWdlLWNyb3AnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bW9ua2V5LWZpbGUtdXBsb2FkXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtoZWxwZXJNZXNzYWdlXT1cImhlbHBlck1lc3NhZ2VcIlxyXG4gICAgICBpY29uPVwidXBsb2FkLTE2XCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW21heFNpemVdPVwibWF4U2l6ZVwiXHJcbiAgICAgIFttYXhTaXplRXJyb3JNZXNzYWdlXT1cIm1heFNpemVFcnJvck1lc3NhZ2VcIlxyXG4gICAgICBbYWxsb3dlZEV4dGVuc2lvbkVycm9yTWVzc2FnZV09XCJhbGxvd2VkRXh0ZW5zaW9uRXJyb3JNZXNzYWdlXCJcclxuICAgICAgKG9uSGFuZGxlRmlsZXNSZWFkeSk9XCJvbkhhbmRsZUZpbGVVcGxvYWRGaWxlc1JlYWR5KCRldmVudClcIlxyXG4gICAgICBsaXN0ZW5GaWxlcz1cInRydWVcIlxyXG4gICAgICBbbWF4RmlsZXNdPVwiMVwiXHJcbiAgICAgIFthbGxvd2VkRXh0ZW5zaW9uc109XCJbJy5qcGcnLCAnLmpwZWcnLCAnLnBuZyddXCJcclxuICAgICAgKm5nSWY9XCIhX2xvYWRDb21wbGV0ZWRcIlxyXG4gICAgPlxyXG4gICAgPC9tb25rZXktZmlsZS11cGxvYWQ+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiX2xvYWRQcmV2aWV3XCI+XHJcbiAgICAgIDxwcm9ncmVzcyBjbGFzcz1cIm1vbmtleS1wcm9ncmVzcyBtb25rZXktcHJvZ3Jlc3NfX2dyZXlcIj48L3Byb2dyZXNzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm94LWN1dC10aXRsZVwiICpuZ0lmPVwiX2xvYWRDb21wbGV0ZWRcIj5cclxuICAgICAge3sgY3JvcFRpdGxlIH19IHt7IF9maWxlTmFtZVRvQ3V0IH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgaWQ9XCJpbWFnZUNyb3BTb3VyY2VcIlxyXG4gICAgICBuYW1lPVwiaW1hZ2VDcm9wU291cmNlXCJcclxuICAgICAgI2ltYWdlQ3JvcFNvdXJjZVxyXG4gICAgICBjbGFzcz1cImJveC1jdXRcIlxyXG4gICAgICAqbmdJZj1cIl9sb2FkQ29tcGxldGVkXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImVkaXQtcmVzaXplLWN1dFwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJzb3VyY2UtaW1hZ2VcIiBbc3JjXT1cIl9zYWZlSW1nRGF0YVVybFwiIC8+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJjdXRcIlxyXG4gICAgICAgICAgW3N0eWxlLnRvcC5weF09XCJfY3V0Q29vcmRzLnkxXCJcclxuICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cIl9jdXRDb29yZHMueDFcIlxyXG4gICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIl9jdXRDb29yZHMueDIgLSBfY3V0Q29vcmRzLngxXCJcclxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiX2N1dENvb3Jkcy55MiAtIF9jdXRDb29yZHMueTFcIlxyXG4gICAgICAgICAgKm5nSWY9XCJfbG9hZENvbXBsZXRlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdtb3ZlJylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAnbW92ZScpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtb3ZlXCJcclxuICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplIHRvcC1sZWZ0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3RvcGxlZnQnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAndG9wbGVmdCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzaXplIHRvcFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplIHRvcC1yaWdodFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3ByaWdodCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3ByaWdodCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzaXplIHJpZ2h0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUgYm90dG9tLXJpZ2h0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbXJpZ2h0JylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbXJpZ2h0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXNpemUgYm90dG9tXCI+IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplIGJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbWxlZnQnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnYm90dG9tbGVmdCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzaXplIGxlZnRcIj4gPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtYmFyIHRvcFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3AnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAndG9wJylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtYmFyIHJpZ2h0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3JpZ2h0JylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3JpZ2h0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtYmFyIGJvdHRvbVwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdib3R0b20nKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnYm90dG9tJylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtYmFyIGxlZnRcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnbGVmdCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdsZWZ0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1lY3gtaW1hZ2UtY3JvcC11cGxvYWQtaW5mbyAqbmdJZj1cIl9wcm9ncmVzc1wiPlxyXG4gICAgICA8c3BhbiBbc3R5bGUud2lkdGguJV09XCJfcHJvZ3Jlc3NcIj4ge3sgX3Byb2dyZXNzIH19JTwvc3Bhbj5cclxuICAgIDwvbWVjeC1pbWFnZS1jcm9wLXVwbG9hZC1pbmZvPlxyXG4gICAgPG1vbmtleS1idXR0b25cclxuICAgICAgdHlwZT1cInRlcnRpYXJ5XCJcclxuICAgICAgY29sb3I9XCJ0aGVtZVwiXHJcbiAgICAgIChjbGljayk9XCJvbkhhbmRsZUltYWdlQ2hhbmdlKClcIlxyXG4gICAgICAqbmdJZj1cIl9sb2FkQ29tcGxldGVkXCJcclxuICAgID5cclxuICAgICAge3sgbGFiZWxDaGFuZ2VJbWFnZSB9fVxyXG4gICAgPC9tb25rZXktYnV0dG9uPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUltYWdlQ3JvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBjcm9wVGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbENoYW5nZUltYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWxQcmV2aWV3SW1hZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBoZWxwZXJNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXhTaXplOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbWF4U2l6ZUVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFsbG93ZWRFeHRlbnNpb25FcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBmaWxlVXBsb2FkOiBGdW5jdGlvbjtcclxuICBASW5wdXQoKSBvbkhhbmRsZUdldEZpbGVzUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25IYW5kbGVGaWxlc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uSGFuZGxlUHJldmlld1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHB1YmxpYyBfY3V0Q29vcmRzOiBDdXRDb29yZHMgPSB7IHkxOiAwLCB5MjogMCwgeDE6IDAsIHgyOiAwIH07XHJcbiAgcHVibGljIF9maWxlVHlwZVRvQ3V0OiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgX2ZpbGVOYW1lVG9DdXQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBfcHJvZ3Jlc3NpbmdDdXQ6IGJvb2xlYW47XHJcbiAgcHVibGljIF9sb2FkQ29tcGxldGVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBfbG9hZFByZXZpZXc6IGJvb2xlYW47XHJcbiAgcHVibGljIF9zYWZlSW1nRGF0YVVybDogU2FmZVVybCB8IHN0cmluZztcclxuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIF9wcm9ncmVzczogbnVtYmVyID0gbnVsbDtcclxuICBwdWJsaWMgX3VwbG9hZEVycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIHByaXZhdGUgbW91c2VNb3ZlczogTW91c2VNb3ZlcztcclxuICBwcml2YXRlIGFyZU1heFNpemU6IERpbWVuc2lvbnMgPSB7IHdpZHRoOiAxNTAsIGhlaWdodDogMTUwIH07XHJcbiAgcHJpdmF0ZSBjdXRTY2FsZWRNaW5XaWR0aCA9IDEwMDtcclxuICBwcml2YXRlIGN1dFNjYWxlZE1pbkhlaWdodCA9IDEwMDtcclxuICBwcml2YXRlIG9yaWdpbmFsU2l6ZTogRGltZW5zaW9ucyA9IHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xyXG4gIHByaXZhdGUgZmlsZVJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgcHJpdmF0ZSBvcmlnaW5hbEltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgcHJpdmF0ZSBpbWFnZUN1dFJlYWR5OiBCbG9iID0gbnVsbDtcclxuICBwcml2YXRlIHNhdmVkQ2FsbGJhY2s6IEZ1bmN0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgaW5pdEN1dCgpIHtcclxuICAgIHRoaXMuYXJlTWF4U2l6ZSA9IHtcclxuICAgICAgd2lkdGg6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZUNyb3BTb3VyY2UnKS5vZmZzZXRXaWR0aCB8fCAxNTAsXHJcbiAgICAgIGhlaWdodDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlQ3JvcFNvdXJjZScpLm9mZnNldEhlaWdodCB8fCAxNTAsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fY3V0Q29vcmRzID0ge1xyXG4gICAgICB4MTogdGhpcy5hcmVNYXhTaXplLndpZHRoIC8gMiAtIHRoaXMuY3V0U2NhbGVkTWluV2lkdGgsXHJcbiAgICAgIHkxOiB0aGlzLmFyZU1heFNpemUuaGVpZ2h0IC8gMiAtIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0LFxyXG4gICAgICB4MjogdGhpcy5hcmVNYXhTaXplLndpZHRoIC8gMiArIHRoaXMuY3V0U2NhbGVkTWluV2lkdGgsXHJcbiAgICAgIHkyOiB0aGlzLmFyZU1heFNpemUuaGVpZ2h0IC8gMiArIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0LFxyXG4gICAgfTtcclxuICAgIHRoaXMuY3V0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFByb2dyZXNzaW5nQ3V0KHRwOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9wcm9ncmVzc2luZ0N1dCA9IHRwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRQcm9ncmVzc0xvYWRDb21wbGV0ZWQodHA6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2xvYWRDb21wbGV0ZWQgPSB0cDtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UHJvZ3Jlc3NMb2FkUHJldmlldyh0cDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbG9hZFByZXZpZXcgPSB0cDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3V0KCkge1xyXG4gICAgdGhpcy5zZXRQcm9ncmVzc2luZ0N1dCh0cnVlKTtcclxuICAgIGNvbnN0IGltYWdlUG9zaXRpb24gPSB0aGlzLmdldEltYWdlUG9zaXRpb24oKTtcclxuICAgIGxldCB3aWR0aCA9IGltYWdlUG9zaXRpb24ueDIgLSBpbWFnZVBvc2l0aW9uLngxO1xyXG4gICAgbGV0IGhlaWdodCA9IGltYWdlUG9zaXRpb24ueTIgLSBpbWFnZVBvc2l0aW9uLnkxO1xyXG4gICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykgYXMgSFRNTENhbnZhc0VsZW1lbnQ7XHJcbiAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcclxuICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XHJcblxyXG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICBjdHguZHJhd0ltYWdlKFxyXG4gICAgICB0aGlzLm9yaWdpbmFsSW1hZ2UsXHJcbiAgICAgIGltYWdlUG9zaXRpb24ueDEsXHJcbiAgICAgIGltYWdlUG9zaXRpb24ueTEsXHJcbiAgICAgIHdpZHRoLFxyXG4gICAgICBoZWlnaHQsXHJcbiAgICAgIDAsXHJcbiAgICAgIDAsXHJcbiAgICAgIHdpZHRoLFxyXG4gICAgICBoZWlnaHRcclxuICAgICk7XHJcbiAgICB0aGlzLmdldENhbnZhc0Jsb2IoY2FudmFzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SW1hZ2VQb3NpdGlvbigpOiBDdXRDb29yZHMge1xyXG4gICAgY29uc3QgcmF0aW93ID1cclxuICAgICAgdGhpcy5vcmlnaW5hbFNpemUud2lkdGggL1xyXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2VDcm9wU291cmNlJykub2Zmc2V0V2lkdGg7XHJcbiAgICBjb25zdCByYXRpb2ggPVxyXG4gICAgICB0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQgL1xyXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2VDcm9wU291cmNlJykub2Zmc2V0SGVpZ2h0O1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgeDE6IE1hdGgucm91bmQodGhpcy5fY3V0Q29vcmRzLngxICogcmF0aW93KSxcclxuICAgICAgeTE6IE1hdGgucm91bmQodGhpcy5fY3V0Q29vcmRzLnkxICogcmF0aW9oKSxcclxuICAgICAgeDI6IE1hdGgubWluKFxyXG4gICAgICAgIE1hdGgucm91bmQodGhpcy5fY3V0Q29vcmRzLngyICogcmF0aW93KSxcclxuICAgICAgICB0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aFxyXG4gICAgICApLFxyXG4gICAgICB5MjogTWF0aC5taW4oXHJcbiAgICAgICAgTWF0aC5yb3VuZCh0aGlzLl9jdXRDb29yZHMueTIgKiByYXRpb2gpLFxyXG4gICAgICAgIHRoaXMub3JpZ2luYWxTaXplLmhlaWdodFxyXG4gICAgICApLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2FudmFzQmxvYihjcm9wQ2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCkge1xyXG4gICAgY3JvcENhbnZhcy50b0Jsb2IoXHJcbiAgICAgICh2YWw6IEJsb2IpID0+IHtcclxuICAgICAgICB0aGlzLmltYWdlQ3V0UmVhZHkgPSB2YWw7XHJcbiAgICAgICAgdGhpcy5zZXRQcm9ncmVzc2luZ0N1dChmYWxzZSk7XHJcbiAgICAgIH0sXHJcbiAgICAgICdpbWFnZS9qcGVnJyxcclxuICAgICAgMC45NVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2xpZW50WChldmVudDogYW55KTogbnVtYmVyIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGV2ZW50LmNsaWVudFggfHxcclxuICAgICAgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlc1swXSAmJiBldmVudC50b3VjaGVzWzBdLmNsaWVudFgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDbGllbnRZKGV2ZW50OiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZXZlbnQuY2xpZW50WSB8fFxyXG4gICAgICAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzWzBdICYmIGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2l6ZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWZmWCA9IHRoaXMuZ2V0Q2xpZW50WChldmVudCkgLSB0aGlzLm1vdXNlTW92ZXMuY2xpZW50WDtcclxuICAgIGNvbnN0IGRpZmZZID0gdGhpcy5nZXRDbGllbnRZKGV2ZW50KSAtIHRoaXMubW91c2VNb3Zlcy5jbGllbnRZO1xyXG4gICAgc3dpdGNoICh0aGlzLm1vdXNlTW92ZXMucG9zaXRpb24pIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxID0gTWF0aC5taW4oXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueDEgKyBkaWZmWCxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiAtIHRoaXMuY3V0U2NhbGVkTWluV2lkdGhcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3BsZWZ0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MSArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyIC0gdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxID0gTWF0aC5taW4oXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTEgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiAtIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueTEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy55MSArIGRpZmZZLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyIC0gdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3ByaWdodCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueDIgKyBkaWZmWCxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSArIHRoaXMuY3V0U2NhbGVkTWluV2lkdGhcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSA9IE1hdGgubWluKFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLnkxICsgZGlmZlksXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueTIgLSB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MiArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxICsgdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbXJpZ2h0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MiArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxICsgdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTIgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSArIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueTIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy55MiArIGRpZmZZLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxICsgdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b21sZWZ0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MSArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyIC0gdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTIgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSArIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbW92ZShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBkaWZmWCA9IHRoaXMuZ2V0Q2xpZW50WChldmVudCkgLSB0aGlzLm1vdXNlTW92ZXMuY2xpZW50WDtcclxuICAgIGNvbnN0IGRpZmZZID0gdGhpcy5nZXRDbGllbnRZKGV2ZW50KSAtIHRoaXMubW91c2VNb3Zlcy5jbGllbnRZO1xyXG5cclxuICAgIHRoaXMuX2N1dENvb3Jkcy54MSA9IHRoaXMubW91c2VNb3Zlcy54MSArIGRpZmZYO1xyXG4gICAgdGhpcy5fY3V0Q29vcmRzLnkxID0gdGhpcy5tb3VzZU1vdmVzLnkxICsgZGlmZlk7XHJcbiAgICB0aGlzLl9jdXRDb29yZHMueDIgPSB0aGlzLm1vdXNlTW92ZXMueDIgKyBkaWZmWDtcclxuICAgIHRoaXMuX2N1dENvb3Jkcy55MiA9IHRoaXMubW91c2VNb3Zlcy55MiArIGRpZmZZO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja01vdmVzUG9zaXRpb24obWFpbnRhaW5TaXplID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jdXRDb29yZHMueDEgPCAwKSB7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiAtPSBtYWludGFpblNpemUgPyB0aGlzLl9jdXRDb29yZHMueDEgOiAwO1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueDEgPSAwO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2N1dENvb3Jkcy55MSA8IDApIHtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyIC09IG1haW50YWluU2l6ZSA/IHRoaXMuX2N1dENvb3Jkcy55MSA6IDA7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSA9IDA7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fY3V0Q29vcmRzLngyID4gdGhpcy5hcmVNYXhTaXplLndpZHRoKSB7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSAtPSBtYWludGFpblNpemVcclxuICAgICAgICA/IHRoaXMuX2N1dENvb3Jkcy54MiAtIHRoaXMuYXJlTWF4U2l6ZS53aWR0aFxyXG4gICAgICAgIDogMDtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLngyID0gdGhpcy5hcmVNYXhTaXplLndpZHRoO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2N1dENvb3Jkcy55MiA+IHRoaXMuYXJlTWF4U2l6ZS5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxIC09IG1haW50YWluU2l6ZVxyXG4gICAgICAgID8gdGhpcy5fY3V0Q29vcmRzLnkyIC0gdGhpcy5hcmVNYXhTaXplLmhlaWdodFxyXG4gICAgICAgIDogMDtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyID0gdGhpcy5hcmVNYXhTaXplLmhlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Mb2FkQmVnaW5QcmV2aWV3ID0gKF9ldmVudCkgPT4ge1xyXG4gICAgdGhpcy5zZXRQcm9ncmVzc0xvYWRDb21wbGV0ZWQoZmFsc2UpO1xyXG4gICAgdGhpcy5zZXRQcm9ncmVzc0xvYWRQcmV2aWV3KHRydWUpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25Mb2FkRW5kUHJldmlldyA9IChfZXZlbnQpID0+IHtcclxuICAgIHRoaXMub3JpZ2luYWxJbWFnZS5zcmMgPSB0aGlzLmZpbGVSZWFkZXIucmVzdWx0LnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLm9yaWdpbmFsSW1hZ2Uub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCA9IHRoaXMub3JpZ2luYWxJbWFnZS53aWR0aDtcclxuICAgICAgICB0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQgPSB0aGlzLm9yaWdpbmFsSW1hZ2UuaGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuc2V0UHJvZ3Jlc3NMb2FkQ29tcGxldGVkKHRydWUpO1xyXG4gICAgICAgIHRoaXMuc2V0UHJvZ3Jlc3NMb2FkUHJldmlldyhmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5pbml0Q3V0KCk7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfTtcclxuICAgIHRoaXMuX3NhZmVJbWdEYXRhVXJsID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKFxyXG4gICAgICB0aGlzLmZpbGVSZWFkZXIucmVzdWx0LnRvU3RyaW5nKClcclxuICAgICk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBpbWFnZVByZXZpZXcoZmlsZTogYW55KSB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHR5cGUgfSA9IGZpbGU7XHJcbiAgICB0aGlzLl9maWxlTmFtZVRvQ3V0ID0gTW9ua2V5VXRpbHMudHJ1bmNhdGUobmFtZSk7XHJcbiAgICB0aGlzLl9maWxlVHlwZVRvQ3V0ID0gdHlwZTtcclxuICAgIHRoaXMuZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVDYWxsYmFjayhcclxuICAgIHByb2dyZXNzOiBudW1iZXIsXHJcbiAgICByZXNwVXBsb2FkZWQ6IGFueSxcclxuICAgIHVwbG9hZEVycm9yOiBzdHJpbmdcclxuICApIHtcclxuICAgIHRoaXMuX3Byb2dyZXNzID0gcHJvZ3Jlc3M7XHJcbiAgICB0aGlzLl91cGxvYWRFcnJvck1lc3NhZ2UgPSB1cGxvYWRFcnJvcjtcclxuICAgIGlmIChyZXNwVXBsb2FkZWQpIHtcclxuICAgICAgdGhpcy5zYXZlZENhbGxiYWNrKHJlc3BVcGxvYWRlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgb25IYW5kbGVHZXRGaWxlc1JlYWR5IH0gPSB0aGlzO1xyXG4gICAgdGhpcy5maWxlUmVhZGVyLm9ubG9hZHN0YXJ0ID0gdGhpcy5vbkxvYWRCZWdpblByZXZpZXc7XHJcbiAgICB0aGlzLmZpbGVSZWFkZXIub25sb2FkID0gdGhpcy5vbkxvYWRFbmRQcmV2aWV3O1xyXG5cclxuICAgIG9uSGFuZGxlR2V0RmlsZXNSZWFkeS5zdWJzY3JpYmUoKHZhbDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5zYXZlZENhbGxiYWNrID0gdmFsO1xyXG4gICAgICBjb25zdCBmaWxlID0gdGhpcy5pbWFnZUN1dFJlYWR5XHJcbiAgICAgICAgPyBNb25rZXlVdGlscy5oYW5kbGVCbG9iRmlsZShcclxuICAgICAgICAgICAgdGhpcy5pbWFnZUN1dFJlYWR5LFxyXG4gICAgICAgICAgICB0aGlzLl9maWxlTmFtZVRvQ3V0LFxyXG4gICAgICAgICAgICB0aGlzLl9maWxlVHlwZVRvQ3V0XHJcbiAgICAgICAgICApXHJcbiAgICAgICAgOiBudWxsO1xyXG4gICAgICB0aGlzLmZpbGVVcGxvYWQoZmlsZSwgdGhpcy5oYW5kbGVDYWxsYmFjay5iaW5kKHRoaXMpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRNb3ZlKFxyXG4gICAgZXZlbnQ6IGFueSxcclxuICAgIG1vdmVUeXBlOiBzdHJpbmcsXHJcbiAgICBwb3NpdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGxcclxuICApOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLm1vdXNlTW92ZXMgPSB7XHJcbiAgICAgIGFjdGl2ZTogdHJ1ZSxcclxuICAgICAgdHlwZTogbW92ZVR5cGUsXHJcbiAgICAgIHBvc2l0aW9uLFxyXG4gICAgICBjbGllbnRYOiB0aGlzLmdldENsaWVudFgoZXZlbnQpLFxyXG4gICAgICBjbGllbnRZOiB0aGlzLmdldENsaWVudFkoZXZlbnQpLFxyXG4gICAgICAuLi50aGlzLl9jdXRDb29yZHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcclxuICBASG9zdExpc3RlbmVyKCd0b3VjaG1vdmUnLCBbJyRldmVudCddKVxyXG4gIG1vdmVJbWcoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW91c2VNb3ZlcyAmJiB0aGlzLm1vdXNlTW92ZXMuYWN0aXZlKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBpZiAodGhpcy5tb3VzZU1vdmVzLnR5cGUgPT09ICdtb3ZlJykge1xyXG4gICAgICAgIHRoaXMubW92ZShldmVudCk7XHJcbiAgICAgICAgdGhpcy5jaGVja01vdmVzUG9zaXRpb24odHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tb3VzZU1vdmVzLnR5cGUgPT09ICdyZXNpemUnKSB7XHJcbiAgICAgICAgdGhpcy5yZXNpemUoZXZlbnQpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tNb3Zlc1Bvc2l0aW9uKGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJylcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDp0b3VjaGVuZCcpXHJcbiAgbW92ZVN0b3AoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb3VzZU1vdmVzICYmIHRoaXMubW91c2VNb3Zlcy5hY3RpdmUpIHtcclxuICAgICAgdGhpcy5tb3VzZU1vdmVzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmN1dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25IYW5kbGVGaWxlVXBsb2FkRmlsZXNSZWFkeShmaWxlczogYW55KSB7XHJcbiAgICB0aGlzLmltYWdlUHJldmlldyhmaWxlcyk7XHJcbiAgfVxyXG5cclxuICBvbkhhbmRsZUltYWdlQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5pbWFnZUN1dFJlYWR5ID0gbnVsbDtcclxuICAgIHRoaXMuX2xvYWRDb21wbGV0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2xvYWRQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICB0aGlzLl9maWxlTmFtZVRvQ3V0ID0gJyc7XHJcbiAgICB0aGlzLl9maWxlVHlwZVRvQ3V0ID0gJyc7XHJcbiAgfVxyXG5cclxuICBvbkhhbmRsZUltYWdlUHJldmlldygpIHtcclxuICAgIGNvbnN0IGZpbGUgPSBNb25rZXlVdGlscy5oYW5kbGVCbG9iRmlsZShcclxuICAgICAgdGhpcy5pbWFnZUN1dFJlYWR5LFxyXG4gICAgICB0aGlzLl9maWxlTmFtZVRvQ3V0LFxyXG4gICAgICB0aGlzLl9maWxlVHlwZVRvQ3V0XHJcbiAgICApO1xyXG4gICAgdGhpcy5vbkhhbmRsZVByZXZpZXdSZWFkeS5uZXh0KGZpbGUpO1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIERpbWVuc2lvbnMge1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgaGVpZ2h0OiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDdXRDb29yZHMge1xyXG4gIHgxPzogbnVtYmVyO1xyXG4gIHkxPzogbnVtYmVyO1xyXG4gIHgyPzogbnVtYmVyO1xyXG4gIHkyPzogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTW91c2VNb3ZlcyB7XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG4gIHR5cGU6IHN0cmluZyB8IG51bGw7XHJcbiAgcG9zaXRpb246IHN0cmluZyB8IG51bGw7XHJcbiAgeDE/OiBudW1iZXI7XHJcbiAgeTE/OiBudW1iZXI7XHJcbiAgeDI/OiBudW1iZXI7XHJcbiAgeTI/OiBudW1iZXI7XHJcbiAgY2xpZW50WDogbnVtYmVyO1xyXG4gIGNsaWVudFk6IG51bWJlcjtcclxufVxyXG4iXX0=
516
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksRUFFWixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7QUFxSHpDLE1BQU0sT0FBTyx3QkFBd0I7SUFvQ25DLFlBQ1UsR0FBc0IsRUFDdEIsU0FBdUI7UUFEdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQTNCeEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEQsZUFBVSxHQUFjLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBSzVCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFXLElBQUksQ0FBQztRQUN6Qix3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFHaEMsZUFBVSxHQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDckQsc0JBQWlCLEdBQUcs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEdUOzRGQUdVLHdCQUF3QjtrQkFuSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThHVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7bUlBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFpVFAsT0FBTztzQkFGTixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3BDLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWtCckMsUUFBUTtzQkFGUCxZQUFZO3VCQUFDLGtCQUFrQjs7c0JBQy9CLFlBQVk7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgT25Jbml0LFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBJbnB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbW9ua2V5LWltYWdlLWNyb3AnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bW9ua2V5LWZpbGUtdXBsb2FkXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtoZWxwZXJNZXNzYWdlXT1cImhlbHBlck1lc3NhZ2VcIlxyXG4gICAgICBpY29uPVwidXBsb2FkLTE2XCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW21heFNpemVdPVwibWF4U2l6ZVwiXHJcbiAgICAgIFttYXhTaXplRXJyb3JNZXNzYWdlXT1cIm1heFNpemVFcnJvck1lc3NhZ2VcIlxyXG4gICAgICBbYWxsb3dlZEV4dGVuc2lvbkVycm9yTWVzc2FnZV09XCJhbGxvd2VkRXh0ZW5zaW9uRXJyb3JNZXNzYWdlXCJcclxuICAgICAgKG9uSGFuZGxlRmlsZXNSZWFkeSk9XCJvbkhhbmRsZUZpbGVVcGxvYWRGaWxlc1JlYWR5KCRldmVudClcIlxyXG4gICAgICBsaXN0ZW5GaWxlcz1cInRydWVcIlxyXG4gICAgICBbbWF4RmlsZXNdPVwiMVwiXHJcbiAgICAgIFthbGxvd2VkRXh0ZW5zaW9uc109XCJbJy5qcGcnLCAnLmpwZWcnLCAnLnBuZyddXCJcclxuICAgICAgKm5nSWY9XCIhX2xvYWRDb21wbGV0ZWRcIlxyXG4gICAgPlxyXG4gICAgPC9tb25rZXktZmlsZS11cGxvYWQ+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiX2xvYWRQcmV2aWV3XCI+XHJcbiAgICAgIDxwcm9ncmVzcyBjbGFzcz1cIm1vbmtleS1wcm9ncmVzcyBtb25rZXktcHJvZ3Jlc3NfX2dyZXlcIj48L3Byb2dyZXNzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm94LWN1dC10aXRsZVwiICpuZ0lmPVwiX2xvYWRDb21wbGV0ZWRcIj5cclxuICAgICAge3sgY3JvcFRpdGxlIH19IHt7IF9maWxlTmFtZVRvQ3V0IH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgaWQ9XCJpbWFnZUNyb3BTb3VyY2VcIlxyXG4gICAgICBuYW1lPVwiaW1hZ2VDcm9wU291cmNlXCJcclxuICAgICAgI2ltYWdlQ3JvcFNvdXJjZVxyXG4gICAgICBjbGFzcz1cImJveC1jdXRcIlxyXG4gICAgICAqbmdJZj1cIl9sb2FkQ29tcGxldGVkXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImVkaXQtcmVzaXplLWN1dFwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJzb3VyY2UtaW1hZ2VcIiBbc3JjXT1cIl9zYWZlSW1nRGF0YVVybFwiIC8+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJjdXRcIlxyXG4gICAgICAgICAgW3N0eWxlLnRvcC5weF09XCJfY3V0Q29vcmRzLnkxXCJcclxuICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cIl9jdXRDb29yZHMueDFcIlxyXG4gICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIl9jdXRDb29yZHMueDIgLSBfY3V0Q29vcmRzLngxXCJcclxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiX2N1dENvb3Jkcy55MiAtIF9jdXRDb29yZHMueTFcIlxyXG4gICAgICAgICAgKm5nSWY9XCJfbG9hZENvbXBsZXRlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdtb3ZlJylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAnbW92ZScpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtb3ZlXCJcclxuICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplIHRvcC1sZWZ0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3RvcGxlZnQnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAndG9wbGVmdCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzaXplIHRvcFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplIHRvcC1yaWdodFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3ByaWdodCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3ByaWdodCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzaXplIHJpZ2h0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUgYm90dG9tLXJpZ2h0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbXJpZ2h0JylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbXJpZ2h0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXNpemUgYm90dG9tXCI+IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplIGJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbWxlZnQnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnYm90dG9tbGVmdCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzaXplIGxlZnRcIj4gPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtYmFyIHRvcFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3AnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAndG9wJylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtYmFyIHJpZ2h0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3JpZ2h0JylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3JpZ2h0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtYmFyIGJvdHRvbVwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdib3R0b20nKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnYm90dG9tJylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtYmFyIGxlZnRcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnbGVmdCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdsZWZ0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1lY3gtaW1hZ2UtY3JvcC11cGxvYWQtaW5mbyAqbmdJZj1cIl9wcm9ncmVzc1wiPlxyXG4gICAgICA8c3BhbiBbc3R5bGUud2lkdGguJV09XCJfcHJvZ3Jlc3NcIj4ge3sgX3Byb2dyZXNzIH19JTwvc3Bhbj5cclxuICAgIDwvbWVjeC1pbWFnZS1jcm9wLXVwbG9hZC1pbmZvPlxyXG4gICAgPG1vbmtleS1idXR0b25cclxuICAgICAgdHlwZT1cInRlcnRpYXJ5XCJcclxuICAgICAgY29sb3I9XCJ0aGVtZVwiXHJcbiAgICAgIChjbGljayk9XCJvbkhhbmRsZUltYWdlQ2hhbmdlKClcIlxyXG4gICAgICAqbmdJZj1cIl9sb2FkQ29tcGxldGVkXCJcclxuICAgID5cclxuICAgICAge3sgbGFiZWxDaGFuZ2VJbWFnZSB9fVxyXG4gICAgPC9tb25rZXktYnV0dG9uPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUltYWdlQ3JvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBjcm9wVGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbENoYW5nZUltYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWxQcmV2aWV3SW1hZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBoZWxwZXJNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXhTaXplOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbWF4U2l6ZUVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFsbG93ZWRFeHRlbnNpb25FcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBmaWxlVXBsb2FkOiBGdW5jdGlvbjtcclxuICBASW5wdXQoKSBvbkhhbmRsZUdldEZpbGVzUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25IYW5kbGVGaWxlc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uSGFuZGxlUHJldmlld1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHB1YmxpYyBfY3V0Q29vcmRzOiBDdXRDb29yZHMgPSB7IHkxOiAwLCB5MjogMCwgeDE6IDAsIHgyOiAwIH07XHJcbiAgcHVibGljIF9maWxlVHlwZVRvQ3V0OiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgX2ZpbGVOYW1lVG9DdXQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBfcHJvZ3Jlc3NpbmdDdXQ6IGJvb2xlYW47XHJcbiAgcHVibGljIF9sb2FkQ29tcGxldGVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBfbG9hZFByZXZpZXc6IGJvb2xlYW47XHJcbiAgcHVibGljIF9zYWZlSW1nRGF0YVVybDogU2FmZVVybCB8IHN0cmluZztcclxuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIF9wcm9ncmVzczogbnVtYmVyID0gbnVsbDtcclxuICBwdWJsaWMgX3VwbG9hZEVycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIHByaXZhdGUgbW91c2VNb3ZlczogTW91c2VNb3ZlcztcclxuICBwcml2YXRlIGFyZU1heFNpemU6IERpbWVuc2lvbnMgPSB7IHdpZHRoOiAxNTAsIGhlaWdodDogMTUwIH07XHJcbiAgcHJpdmF0ZSBjdXRTY2FsZWRNaW5XaWR0aCA9IDEwMDtcclxuICBwcml2YXRlIGN1dFNjYWxlZE1pbkhlaWdodCA9IDEwMDtcclxuICBwcml2YXRlIG9yaWdpbmFsU2l6ZTogRGltZW5zaW9ucyA9IHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xyXG4gIHByaXZhdGUgZmlsZVJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgcHJpdmF0ZSBvcmlnaW5hbEltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgcHJpdmF0ZSBpbWFnZUN1dFJlYWR5OiBCbG9iID0gbnVsbDtcclxuICBwcml2YXRlIHNhdmVkQ2FsbGJhY2s6IEZ1bmN0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgaW5pdEN1dCgpIHtcclxuICAgIHRoaXMuYXJlTWF4U2l6ZSA9IHtcclxuICAgICAgd2lkdGg6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZUNyb3BTb3VyY2UnKS5vZmZzZXRXaWR0aCB8fCAxNTAsXHJcbiAgICAgIGhlaWdodDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlQ3JvcFNvdXJjZScpLm9mZnNldEhlaWdodCB8fCAxNTAsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fY3V0Q29vcmRzID0ge1xyXG4gICAgICB4MTogdGhpcy5hcmVNYXhTaXplLndpZHRoIC8gMiAtIHRoaXMuY3V0U2NhbGVkTWluV2lkdGgsXHJcbiAgICAgIHkxOiB0aGlzLmFyZU1heFNpemUuaGVpZ2h0IC8gMiAtIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0LFxyXG4gICAgICB4MjogdGhpcy5hcmVNYXhTaXplLndpZHRoIC8gMiArIHRoaXMuY3V0U2NhbGVkTWluV2lkdGgsXHJcbiAgICAgIHkyOiB0aGlzLmFyZU1heFNpemUuaGVpZ2h0IC8gMiArIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0LFxyXG4gICAgfTtcclxuICAgIHRoaXMuY3V0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFByb2dyZXNzaW5nQ3V0KHRwOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9wcm9ncmVzc2luZ0N1dCA9IHRwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRQcm9ncmVzc0xvYWRDb21wbGV0ZWQodHA6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2xvYWRDb21wbGV0ZWQgPSB0cDtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UHJvZ3Jlc3NMb2FkUHJldmlldyh0cDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbG9hZFByZXZpZXcgPSB0cDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3V0KCkge1xyXG4gICAgdGhpcy5zZXRQcm9ncmVzc2luZ0N1dCh0cnVlKTtcclxuICAgIGNvbnN0IGltYWdlUG9zaXRpb24gPSB0aGlzLmdldEltYWdlUG9zaXRpb24oKTtcclxuICAgIGxldCB3aWR0aCA9IGltYWdlUG9zaXRpb24ueDIgLSBpbWFnZVBvc2l0aW9uLngxO1xyXG4gICAgbGV0IGhlaWdodCA9IGltYWdlUG9zaXRpb24ueTIgLSBpbWFnZVBvc2l0aW9uLnkxO1xyXG4gICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykgYXMgSFRNTENhbnZhc0VsZW1lbnQ7XHJcbiAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcclxuICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XHJcblxyXG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICBjdHguZHJhd0ltYWdlKFxyXG4gICAgICB0aGlzLm9yaWdpbmFsSW1hZ2UsXHJcbiAgICAgIGltYWdlUG9zaXRpb24ueDEsXHJcbiAgICAgIGltYWdlUG9zaXRpb24ueTEsXHJcbiAgICAgIHdpZHRoLFxyXG4gICAgICBoZWlnaHQsXHJcbiAgICAgIDAsXHJcbiAgICAgIDAsXHJcbiAgICAgIHdpZHRoLFxyXG4gICAgICBoZWlnaHRcclxuICAgICk7XHJcbiAgICB0aGlzLmdldENhbnZhc0Jsb2IoY2FudmFzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SW1hZ2VQb3NpdGlvbigpOiBDdXRDb29yZHMge1xyXG4gICAgY29uc3QgcmF0aW93ID1cclxuICAgICAgdGhpcy5vcmlnaW5hbFNpemUud2lkdGggL1xyXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2VDcm9wU291cmNlJykub2Zmc2V0V2lkdGg7XHJcbiAgICBjb25zdCByYXRpb2ggPVxyXG4gICAgICB0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQgL1xyXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2VDcm9wU291cmNlJykub2Zmc2V0SGVpZ2h0O1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgeDE6IE1hdGgucm91bmQodGhpcy5fY3V0Q29vcmRzLngxICogcmF0aW93KSxcclxuICAgICAgeTE6IE1hdGgucm91bmQodGhpcy5fY3V0Q29vcmRzLnkxICogcmF0aW9oKSxcclxuICAgICAgeDI6IE1hdGgubWluKFxyXG4gICAgICAgIE1hdGgucm91bmQodGhpcy5fY3V0Q29vcmRzLngyICogcmF0aW93KSxcclxuICAgICAgICB0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aFxyXG4gICAgICApLFxyXG4gICAgICB5MjogTWF0aC5taW4oXHJcbiAgICAgICAgTWF0aC5yb3VuZCh0aGlzLl9jdXRDb29yZHMueTIgKiByYXRpb2gpLFxyXG4gICAgICAgIHRoaXMub3JpZ2luYWxTaXplLmhlaWdodFxyXG4gICAgICApLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2FudmFzQmxvYihjcm9wQ2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCkge1xyXG4gICAgY3JvcENhbnZhcy50b0Jsb2IoXHJcbiAgICAgICh2YWw6IEJsb2IpID0+IHtcclxuICAgICAgICB0aGlzLmltYWdlQ3V0UmVhZHkgPSB2YWw7XHJcbiAgICAgICAgdGhpcy5zZXRQcm9ncmVzc2luZ0N1dChmYWxzZSk7XHJcbiAgICAgIH0sXHJcbiAgICAgICdpbWFnZS9qcGVnJyxcclxuICAgICAgMC45NVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2xpZW50WChldmVudDogYW55KTogbnVtYmVyIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGV2ZW50LmNsaWVudFggfHxcclxuICAgICAgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlc1swXSAmJiBldmVudC50b3VjaGVzWzBdLmNsaWVudFgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDbGllbnRZKGV2ZW50OiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZXZlbnQuY2xpZW50WSB8fFxyXG4gICAgICAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzWzBdICYmIGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2l6ZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWZmWCA9IHRoaXMuZ2V0Q2xpZW50WChldmVudCkgLSB0aGlzLm1vdXNlTW92ZXMuY2xpZW50WDtcclxuICAgIGNvbnN0IGRpZmZZID0gdGhpcy5nZXRDbGllbnRZKGV2ZW50KSAtIHRoaXMubW91c2VNb3Zlcy5jbGllbnRZO1xyXG4gICAgc3dpdGNoICh0aGlzLm1vdXNlTW92ZXMucG9zaXRpb24pIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxID0gTWF0aC5taW4oXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueDEgKyBkaWZmWCxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiAtIHRoaXMuY3V0U2NhbGVkTWluV2lkdGhcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3BsZWZ0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MSArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyIC0gdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxID0gTWF0aC5taW4oXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTEgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiAtIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueTEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy55MSArIGRpZmZZLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyIC0gdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3ByaWdodCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueDIgKyBkaWZmWCxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSArIHRoaXMuY3V0U2NhbGVkTWluV2lkdGhcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSA9IE1hdGgubWluKFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLnkxICsgZGlmZlksXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueTIgLSB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MiArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxICsgdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbXJpZ2h0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MiArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxICsgdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTIgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSArIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueTIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy55MiArIGRpZmZZLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxICsgdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b21sZWZ0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MSArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyIC0gdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTIgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSArIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbW92ZShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBkaWZmWCA9IHRoaXMuZ2V0Q2xpZW50WChldmVudCkgLSB0aGlzLm1vdXNlTW92ZXMuY2xpZW50WDtcclxuICAgIGNvbnN0IGRpZmZZID0gdGhpcy5nZXRDbGllbnRZKGV2ZW50KSAtIHRoaXMubW91c2VNb3Zlcy5jbGllbnRZO1xyXG5cclxuICAgIHRoaXMuX2N1dENvb3Jkcy54MSA9IHRoaXMubW91c2VNb3Zlcy54MSArIGRpZmZYO1xyXG4gICAgdGhpcy5fY3V0Q29vcmRzLnkxID0gdGhpcy5tb3VzZU1vdmVzLnkxICsgZGlmZlk7XHJcbiAgICB0aGlzLl9jdXRDb29yZHMueDIgPSB0aGlzLm1vdXNlTW92ZXMueDIgKyBkaWZmWDtcclxuICAgIHRoaXMuX2N1dENvb3Jkcy55MiA9IHRoaXMubW91c2VNb3Zlcy55MiArIGRpZmZZO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja01vdmVzUG9zaXRpb24obWFpbnRhaW5TaXplID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jdXRDb29yZHMueDEgPCAwKSB7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiAtPSBtYWludGFpblNpemUgPyB0aGlzLl9jdXRDb29yZHMueDEgOiAwO1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueDEgPSAwO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2N1dENvb3Jkcy55MSA8IDApIHtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyIC09IG1haW50YWluU2l6ZSA/IHRoaXMuX2N1dENvb3Jkcy55MSA6IDA7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSA9IDA7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fY3V0Q29vcmRzLngyID4gdGhpcy5hcmVNYXhTaXplLndpZHRoKSB7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSAtPSBtYWludGFpblNpemVcclxuICAgICAgICA/IHRoaXMuX2N1dENvb3Jkcy54MiAtIHRoaXMuYXJlTWF4U2l6ZS53aWR0aFxyXG4gICAgICAgIDogMDtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLngyID0gdGhpcy5hcmVNYXhTaXplLndpZHRoO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2N1dENvb3Jkcy55MiA+IHRoaXMuYXJlTWF4U2l6ZS5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxIC09IG1haW50YWluU2l6ZVxyXG4gICAgICAgID8gdGhpcy5fY3V0Q29vcmRzLnkyIC0gdGhpcy5hcmVNYXhTaXplLmhlaWdodFxyXG4gICAgICAgIDogMDtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyID0gdGhpcy5hcmVNYXhTaXplLmhlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Mb2FkQmVnaW5QcmV2aWV3ID0gKF9ldmVudCkgPT4ge1xyXG4gICAgdGhpcy5zZXRQcm9ncmVzc0xvYWRDb21wbGV0ZWQoZmFsc2UpO1xyXG4gICAgdGhpcy5zZXRQcm9ncmVzc0xvYWRQcmV2aWV3KHRydWUpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25Mb2FkRW5kUHJldmlldyA9IChfZXZlbnQpID0+IHtcclxuICAgIHRoaXMub3JpZ2luYWxJbWFnZS5zcmMgPSB0aGlzLmZpbGVSZWFkZXIucmVzdWx0LnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLm9yaWdpbmFsSW1hZ2Uub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCA9IHRoaXMub3JpZ2luYWxJbWFnZS53aWR0aDtcclxuICAgICAgICB0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQgPSB0aGlzLm9yaWdpbmFsSW1hZ2UuaGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuc2V0UHJvZ3Jlc3NMb2FkQ29tcGxldGVkKHRydWUpO1xyXG4gICAgICAgIHRoaXMuc2V0UHJvZ3Jlc3NMb2FkUHJldmlldyhmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5pbml0Q3V0KCk7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfTtcclxuICAgIHRoaXMuX3NhZmVJbWdEYXRhVXJsID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKFxyXG4gICAgICB0aGlzLmZpbGVSZWFkZXIucmVzdWx0LnRvU3RyaW5nKClcclxuICAgICk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBpbWFnZVByZXZpZXcoZmlsZTogYW55KSB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHR5cGUgfSA9IGZpbGU7XHJcbiAgICB0aGlzLl9maWxlTmFtZVRvQ3V0ID0gTW9ua2V5VXRpbHMudHJ1bmNhdGUobmFtZSk7XHJcbiAgICB0aGlzLl9maWxlVHlwZVRvQ3V0ID0gdHlwZTtcclxuICAgIHRoaXMuZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVDYWxsYmFjayhcclxuICAgIHByb2dyZXNzOiBudW1iZXIsXHJcbiAgICByZXNwVXBsb2FkZWQ6IGFueSxcclxuICAgIHVwbG9hZEVycm9yOiBzdHJpbmdcclxuICApIHtcclxuICAgIHRoaXMuX3Byb2dyZXNzID0gcHJvZ3Jlc3M7XHJcbiAgICB0aGlzLl91cGxvYWRFcnJvck1lc3NhZ2UgPSB1cGxvYWRFcnJvcjtcclxuICAgIGlmIChyZXNwVXBsb2FkZWQpIHtcclxuICAgICAgdGhpcy5zYXZlZENhbGxiYWNrKHJlc3BVcGxvYWRlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgb25IYW5kbGVHZXRGaWxlc1JlYWR5IH0gPSB0aGlzO1xyXG4gICAgdGhpcy5maWxlUmVhZGVyLm9ubG9hZHN0YXJ0ID0gdGhpcy5vbkxvYWRCZWdpblByZXZpZXc7XHJcbiAgICB0aGlzLmZpbGVSZWFkZXIub25sb2FkID0gdGhpcy5vbkxvYWRFbmRQcmV2aWV3O1xyXG5cclxuICAgIG9uSGFuZGxlR2V0RmlsZXNSZWFkeS5zdWJzY3JpYmUoKHZhbDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5zYXZlZENhbGxiYWNrID0gdmFsO1xyXG4gICAgICBjb25zdCBmaWxlID0gdGhpcy5pbWFnZUN1dFJlYWR5XHJcbiAgICAgICAgPyBNb25rZXlVdGlscy5oYW5kbGVCbG9iRmlsZShcclxuICAgICAgICAgICAgdGhpcy5pbWFnZUN1dFJlYWR5LFxyXG4gICAgICAgICAgICB0aGlzLl9maWxlTmFtZVRvQ3V0LFxyXG4gICAgICAgICAgICB0aGlzLl9maWxlVHlwZVRvQ3V0XHJcbiAgICAgICAgICApXHJcbiAgICAgICAgOiBudWxsO1xyXG4gICAgICB0aGlzLmZpbGVVcGxvYWQoZmlsZSwgdGhpcy5oYW5kbGVDYWxsYmFjay5iaW5kKHRoaXMpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRNb3ZlKFxyXG4gICAgZXZlbnQ6IGFueSxcclxuICAgIG1vdmVUeXBlOiBzdHJpbmcsXHJcbiAgICBwb3NpdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGxcclxuICApOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLm1vdXNlTW92ZXMgPSB7XHJcbiAgICAgIGFjdGl2ZTogdHJ1ZSxcclxuICAgICAgdHlwZTogbW92ZVR5cGUsXHJcbiAgICAgIHBvc2l0aW9uLFxyXG4gICAgICBjbGllbnRYOiB0aGlzLmdldENsaWVudFgoZXZlbnQpLFxyXG4gICAgICBjbGllbnRZOiB0aGlzLmdldENsaWVudFkoZXZlbnQpLFxyXG4gICAgICAuLi50aGlzLl9jdXRDb29yZHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcclxuICBASG9zdExpc3RlbmVyKCd0b3VjaG1vdmUnLCBbJyRldmVudCddKVxyXG4gIG1vdmVJbWcoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW91c2VNb3ZlcyAmJiB0aGlzLm1vdXNlTW92ZXMuYWN0aXZlKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBpZiAodGhpcy5tb3VzZU1vdmVzLnR5cGUgPT09ICdtb3ZlJykge1xyXG4gICAgICAgIHRoaXMubW92ZShldmVudCk7XHJcbiAgICAgICAgdGhpcy5jaGVja01vdmVzUG9zaXRpb24odHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tb3VzZU1vdmVzLnR5cGUgPT09ICdyZXNpemUnKSB7XHJcbiAgICAgICAgdGhpcy5yZXNpemUoZXZlbnQpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tNb3Zlc1Bvc2l0aW9uKGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJylcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDp0b3VjaGVuZCcpXHJcbiAgbW92ZVN0b3AoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb3VzZU1vdmVzICYmIHRoaXMubW91c2VNb3Zlcy5hY3RpdmUpIHtcclxuICAgICAgdGhpcy5tb3VzZU1vdmVzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmN1dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25IYW5kbGVGaWxlVXBsb2FkRmlsZXNSZWFkeShmaWxlczogYW55KSB7XHJcbiAgICB0aGlzLmltYWdlUHJldmlldyhmaWxlcyk7XHJcbiAgfVxyXG5cclxuICBvbkhhbmRsZUltYWdlQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5pbWFnZUN1dFJlYWR5ID0gbnVsbDtcclxuICAgIHRoaXMuX2xvYWRDb21wbGV0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2xvYWRQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICB0aGlzLl9maWxlTmFtZVRvQ3V0ID0gJyc7XHJcbiAgICB0aGlzLl9maWxlVHlwZVRvQ3V0ID0gJyc7XHJcbiAgfVxyXG5cclxuICBvbkhhbmRsZUltYWdlUHJldmlldygpIHtcclxuICAgIGNvbnN0IGZpbGUgPSBNb25rZXlVdGlscy5oYW5kbGVCbG9iRmlsZShcclxuICAgICAgdGhpcy5pbWFnZUN1dFJlYWR5LFxyXG4gICAgICB0aGlzLl9maWxlTmFtZVRvQ3V0LFxyXG4gICAgICB0aGlzLl9maWxlVHlwZVRvQ3V0XHJcbiAgICApO1xyXG4gICAgdGhpcy5vbkhhbmRsZVByZXZpZXdSZWFkeS5uZXh0KGZpbGUpO1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIERpbWVuc2lvbnMge1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgaGVpZ2h0OiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDdXRDb29yZHMge1xyXG4gIHgxPzogbnVtYmVyO1xyXG4gIHkxPzogbnVtYmVyO1xyXG4gIHgyPzogbnVtYmVyO1xyXG4gIHkyPzogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTW91c2VNb3ZlcyB7XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG4gIHR5cGU6IHN0cmluZyB8IG51bGw7XHJcbiAgcG9zaXRpb246IHN0cmluZyB8IG51bGw7XHJcbiAgeDE/OiBudW1iZXI7XHJcbiAgeTE/OiBudW1iZXI7XHJcbiAgeDI/OiBudW1iZXI7XHJcbiAgeTI/OiBudW1iZXI7XHJcbiAgY2xpZW50WDogbnVtYmVyO1xyXG4gIGNsaWVudFk6IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -9,12 +9,12 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "ngx-mask";
10
10
  export class MonkeyImageCropModule {
11
11
  }
12
- MonkeyImageCropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyImageCropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- MonkeyImageCropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyImageCropModule, declarations: [MonkeyImageCropComponent], imports: [CommonModule,
12
+ MonkeyImageCropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyImageCropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ MonkeyImageCropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyImageCropModule, declarations: [MonkeyImageCropComponent], imports: [CommonModule,
14
14
  FormsModule,
15
15
  ReactiveFormsModule, i1.NgxMaskModule, MonkeyButtonModule,
16
16
  MonkeyFileUploadModule], exports: [MonkeyImageCropComponent] });
17
- MonkeyImageCropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyImageCropModule, imports: [[
17
+ MonkeyImageCropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyImageCropModule, imports: [[
18
18
  CommonModule,
19
19
  FormsModule,
20
20
  ReactiveFormsModule,
@@ -22,7 +22,7 @@ MonkeyImageCropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
22
22
  MonkeyButtonModule,
23
23
  MonkeyFileUploadModule,
24
24
  ]] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyImageCropModule, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyImageCropModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  declarations: [MonkeyImageCropComponent],
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
38
38
  schemas: [NO_ERRORS_SCHEMA],
39
39
  }]
40
40
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFlL0MsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQVpqQix3QkFBd0IsYUFFckMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUIsb0JBRW5CLGtCQUFrQjtRQUNsQixzQkFBc0IsYUFFZCx3QkFBd0I7bUhBR3ZCLHFCQUFxQixZQVh2QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtTQUN2QjsyRkFJVSxxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBOT19FUlJPUlNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleUltYWdlQ3JvcENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtY3JvcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgTW9ua2V5RmlsZVVwbG9hZE1vZHVsZSB9IGZyb20gJy4uL2ZpbGUtdXBsb2FkJztcclxuaW1wb3J0IHsgTW9ua2V5QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbTW9ua2V5SW1hZ2VDcm9wQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBOZ3hNYXNrTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIE1vbmtleUJ1dHRvbk1vZHVsZSxcclxuICAgIE1vbmtleUZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbTW9ua2V5SW1hZ2VDcm9wQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlJbWFnZUNyb3BNb2R1bGUge31cclxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFlL0MsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjtvSEFBckIscUJBQXFCLGlCQVpqQix3QkFBd0IsYUFFckMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUIsb0JBRW5CLGtCQUFrQjtRQUNsQixzQkFBc0IsYUFFZCx3QkFBd0I7b0hBR3ZCLHFCQUFxQixZQVh2QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtTQUN2Qjs0RkFJVSxxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBOT19FUlJPUlNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleUltYWdlQ3JvcENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtY3JvcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgTW9ua2V5RmlsZVVwbG9hZE1vZHVsZSB9IGZyb20gJy4uL2ZpbGUtdXBsb2FkJztcclxuaW1wb3J0IHsgTW9ua2V5QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbTW9ua2V5SW1hZ2VDcm9wQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBOZ3hNYXNrTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIE1vbmtleUJ1dHRvbk1vZHVsZSxcclxuICAgIE1vbmtleUZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbTW9ua2V5SW1hZ2VDcm9wQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlJbWFnZUNyb3BNb2R1bGUge31cclxuIl19
@@ -93,8 +93,8 @@ export class MonkeyInputFilterComponent {
93
93
  document.getElementById(_id).focus();
94
94
  }
95
95
  }
96
- MonkeyInputFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputFilterComponent, deps: [{ token: i0.ElementRef }, { token: i1.CurrencyPipe }, { token: i2.MonkeyStyleGuideSettingsService }], target: i0.ɵɵFactoryTarget.Component });
97
- MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyInputFilterComponent, selector: "monkey-input-filter", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", iconPosition: "iconPosition", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick($event)" } }, providers: [
96
+ MonkeyInputFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputFilterComponent, deps: [{ token: i0.ElementRef }, { token: i1.CurrencyPipe }, { token: i2.MonkeyStyleGuideSettingsService }], target: i0.ɵɵFactoryTarget.Component });
97
+ MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeyInputFilterComponent, selector: "monkey-input-filter", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", iconPosition: "iconPosition", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick($event)" } }, providers: [
98
98
  {
99
99
  provide: NG_VALUE_ACCESSOR,
100
100
  useExisting: forwardRef(() => MonkeyInputFilterComponent),
@@ -164,7 +164,7 @@ MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
164
164
  </mecx-form-field-body>
165
165
  </mecx-form-field-filter>
166
166
  `, isInline: true, components: [{ type: i3.MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "color", "contrast", "disabled"] }], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputFilterComponent, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputFilterComponent, decorators: [{
168
168
  type: Component,
169
169
  args: [{
170
170
  selector: 'monkey-input-filter',
@@ -283,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
283
283
  type: HostListener,
284
284
  args: ['click', ['$event']]
285
285
  }] } });
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUdaLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQTZFL0MsTUFBTSxPQUFPLDBCQUEwQjtJQThCckMsWUFDVSxVQUFzQixFQUN0QixZQUEwQixFQUMxQixlQUFnRDtRQUZoRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQWhCakQsaUJBQVksR0FBVyxPQUFPLENBQUM7UUFDOUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJckMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUdyQyxRQUFHLEdBQVcsY0FBYyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUQsY0FBUyxHQUFZLEtBQUssQ0FBQztJQU8vQixDQUFDO0lBRUksV0FBVyxDQUFDLEtBQVU7UUFDNUIsTUFBTSxF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QzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDOzRCQUN6RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxZQUFZO3FCQUNiO2lCQUNGOzBLQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBOERILEtBQUs7c0JBRFIsS0FBSztnQkFtQ04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXHJcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxyXG4gKiBNSVQgTGljZW5jZVxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIElucHV0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE9uSW5pdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSwgTW9ua2V5U3R5bGVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtb25rZXktaW5wdXQtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1lY3gtZm9ybS1maWVsZC1maWx0ZXIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIj5cclxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1oZWFkZXIgKm5nSWY9XCJsYWJlbFwiPlxyXG4gICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aGVscGVyPlxyXG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaGVscGVyPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1oZWFkZXI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtYm9keT5cclxuICAgICAgICA8bW9ua2V5LWljb24gW2ljb25dPVwiaWNvblwiIFtjb2xvcl09XCInIzRCNEE1MydcIlxyXG4gICAgICAgICAgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdsZWZ0JyAmJiBpY29uXCI+PC9tb25rZXktaWNvbj5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtpZF09XCJfaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiBwcmVmaXhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbaWRdPVwiX2lkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgW21hc2tdPVwibWFza1wiXHJcbiAgICAgICAgICAqbmdJZj1cIm1hc2sgJiYgIXByZWZpeFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtpZF09XCJfaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICAqbmdJZj1cIiFtYXNrICYmICFwcmVmaXhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPG1vbmtleS1pY29uIFtpY29uXT1cImljb25cIiBbY29sb3JdPVwiJyM0QjRBNTMnXCJcclxuICAgICAgICAgICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIGljb25cIj48L21vbmtleS1pY29uPlxyXG4gICAgICAgIDxtb25rZXktaWNvblxyXG4gICAgICAgICAgaWNvbj1cImV5ZXMtMTZcIlxyXG4gICAgICAgICAgW2NvbG9yXT1cIicjNEI0QTUzJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cIl9vbGRUeXBlID09PSAncGFzc3dvcmQnICYmIHR5cGUgPT09ICd0ZXh0J1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TaG93QW5kSGlkZVBhc3N3b3JkKClcIlxyXG4gICAgICAgID48L21vbmtleS1pY29uPlxyXG4gICAgICAgIDxtb25rZXktaWNvblxyXG4gICAgICAgICAgaWNvbj1cImV5ZXMtb2ZmLTE2XCJcclxuICAgICAgICAgIFtjb2xvcl09XCInIzRCNEE1MydcIlxyXG4gICAgICAgICAgKm5nSWY9XCJfb2xkVHlwZSA9PT0gJ3Bhc3N3b3JkJyAmJiB0eXBlID09PSAncGFzc3dvcmQnXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblNob3dBbmRIaWRlUGFzc3dvcmQoKVwiXHJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XHJcbiAgICAgIDwvbWVjeC1mb3JtLWZpZWxkLWJvZHk+XHJcbiAgICA8L21lY3gtZm9ybS1maWVsZC1maWx0ZXI+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICBDdXJyZW5jeVBpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUlucHV0RmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpbmZvTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1hc2s6IHN0cmluZztcclxuICBASW5wdXQoKSBwcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBvbmx5TnVtYmVyOiBhbnk7XHJcbiAgQElucHV0KCkgb25seUFscGhhTnVtZXJpYzogYW55O1xyXG4gIEBJbnB1dCgpIHVwcGVyQ2FzZTogYW55O1xyXG4gIEBJbnB1dCgpIGxvd2VyQ2FzZTogYW55O1xyXG4gIEBJbnB1dCgpIGNhcGl0YWxpemU6IGFueTtcclxuICBASW5wdXQoKSBjdXJyZW5jeTogYW55O1xyXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbjogc3RyaW5nID0gJ3JpZ2h0JztcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBzZXR0aW5nczogTW9ua2V5U3R5bGVTZXR0aW5ncztcclxuICBwcml2YXRlIGhhbmRsZWRWYWx1ZTogYW55O1xyXG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIHByaXZhdGUgdGltZXI6IGFueTtcclxuXHJcbiAgcHVibGljIF9pZDogc3RyaW5nID0gYG1lY3gtaW5wdXQtJHtNb25rZXlVdGlscy5nZXRSYW5kb21TdHJpbmcoMTApfWA7XHJcbiAgcHVibGljIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBfb2xkVHlwZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXHJcbiAgICBwcml2YXRlIHNldHRpbmdzU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHsgc2V0dGluZ3MgfSA9IHRoaXM7XHJcbiAgICBpZiAodGhpcy5vbmx5TnVtYmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIE1vbmtleVV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGAke3ZhbHVlfWApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9ubHlBbHBoYU51bWVyaWMgIT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIE1vbmtleVV0aWxzLmhhbmRsZU9ubHlBbHBoYU51bWVyaWMoYCR7dmFsdWV9YCk7XHJcbiAgICBlbHNlIGlmICh0aGlzLnVwcGVyQ2FzZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gYCR7dmFsdWV9YC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5sb3dlckNhc2UgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGAke3ZhbHVlfWAudG9Mb3dlckNhc2UoKTtcclxuICAgIGVsc2UgaWYgKHRoaXMuY2FwaXRhbGl6ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gTW9ua2V5VXRpbHMuY2FwaXRhbGl6ZShgJHt2YWx1ZX1gLnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5jdXJyZW5jeSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gTW9ua2V5VXRpbHMuaGFuZGxlT25seU51bWJlcnModmFsdWUpO1xyXG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgIG5ld1ZhbHVlIC8gMTAwLFxyXG4gICAgICAgIHNldHRpbmdzPy5jdXJyZW5jeT8uY29kZSB8fCAnQlJMJyxcclxuICAgICAgICAnc3ltYm9sJyxcclxuICAgICAgICAnJyxcclxuICAgICAgICBzZXR0aW5ncz8uY3VycmVuY3k/LmxvY2FsZSB8fCAncHQtQlInXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzU2VydmljZSB9ID0gdGhpcztcclxuICAgIHRoaXMuX29sZFR5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICBzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MoKS5zdWJzY3JpYmUoKHZhbDogTW9ua2V5U3R5bGVTZXR0aW5ncykgPT4ge1xyXG4gICAgICB0aGlzLnNldHRpbmdzID0gdmFsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5oYW5kbGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSh2YWx1ZSk7XHJcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlZFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZUlucHV0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50Py50YXJnZXQ7XHJcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGhhbmRsZWQgPSB0aGlzLmhhbmRsZVZhbHVlKHZhbHVlKTtcclxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGhhbmRsZWQ7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUoaGFuZGxlZCk7XHJcbiAgICBpZiAodGhpcy50aW1lcikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UubmV4dCh2YWx1ZSk7XHJcbiAgICB9LCA0MDApO1xyXG4gIH1cclxuXHJcbiAgb25TaG93QW5kSGlkZVBhc3N3b3JkKCkge1xyXG4gICAgdGhpcy50eXBlID0gdGhpcy50eXBlID09PSAncGFzc3dvcmQnID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHsgX2lkIH0gPSB0aGlzO1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoX2lkKS5mb2N1cygpO1xyXG4gIH1cclxufVxyXG4iXX0=
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUdaLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQTZFL0MsTUFBTSxPQUFPLDBCQUEwQjtJQThCckMsWUFDVSxVQUFzQixFQUN0QixZQUEwQixFQUMxQixlQUFnRDtRQUZoRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQWhCakQsaUJBQVksR0FBVyxPQUFPLENBQUM7UUFDOUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJckMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUdyQyxRQUFHLEdBQVcsY0FBYyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUQsY0FBUyxHQUFZLEtBQUssQ0FBQztJQU8vQixDQUFDO0lBRUksV0FBVyxDQUFDLEtBQVU7UUFDNUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ2pDLE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNsRDthQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLFNBQVM7WUFDNUMsT0FBTyxXQUFXLENBQUMsc0JBQXNCLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ25ELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTO1lBQUUsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ2xFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTO1lBQUUsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ2xFLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTO1lBQUUsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQzthQUMzRixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUNoQyxRQUFRLEdBQUcsR0FBRyxFQUNkLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFDakMsUUFBUSxFQUNSLEVBQUUsRUFDRixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sSUFBSSxPQUFPLENBQ3RDLENBQUM7U0FDSDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBd0IsRUFBRSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUNJLEtBQUssQ0FBQyxLQUFVO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssRUFBRSxNQUFNLENBQUM7UUFDaEMsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUM3RCxDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQVU7UUFDaEIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNyQixRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZDLENBQUM7O3dIQXJIVSwwQkFBMEI7NEdBQTFCLDBCQUEwQixnakJBVDFCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7WUFDekQsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNELFlBQVk7S0FDYiwwQkF2RVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOERUOzRGQVdVLDBCQUEwQjtrQkEzRXRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThEVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDOzRCQUN6RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxZQUFZO3FCQUNiO2lCQUNGOzBLQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBOERILEtBQUs7c0JBRFIsS0FBSztnQkFtQ04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXHJcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxyXG4gKiBNSVQgTGljZW5jZVxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIElucHV0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE9uSW5pdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSwgTW9ua2V5U3R5bGVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtb25rZXktaW5wdXQtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1lY3gtZm9ybS1maWVsZC1maWx0ZXIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIj5cclxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1oZWFkZXIgKm5nSWY9XCJsYWJlbFwiPlxyXG4gICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aGVscGVyPlxyXG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaGVscGVyPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1oZWFkZXI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtYm9keT5cclxuICAgICAgICA8bW9ua2V5LWljb24gW2ljb25dPVwiaWNvblwiIFtjb2xvcl09XCInIzRCNEE1MydcIlxyXG4gICAgICAgICAgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdsZWZ0JyAmJiBpY29uXCI+PC9tb25rZXktaWNvbj5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtpZF09XCJfaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiBwcmVmaXhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbaWRdPVwiX2lkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgW21hc2tdPVwibWFza1wiXHJcbiAgICAgICAgICAqbmdJZj1cIm1hc2sgJiYgIXByZWZpeFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtpZF09XCJfaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICAqbmdJZj1cIiFtYXNrICYmICFwcmVmaXhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPG1vbmtleS1pY29uIFtpY29uXT1cImljb25cIiBbY29sb3JdPVwiJyM0QjRBNTMnXCJcclxuICAgICAgICAgICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIGljb25cIj48L21vbmtleS1pY29uPlxyXG4gICAgICAgIDxtb25rZXktaWNvblxyXG4gICAgICAgICAgaWNvbj1cImV5ZXMtMTZcIlxyXG4gICAgICAgICAgW2NvbG9yXT1cIicjNEI0QTUzJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cIl9vbGRUeXBlID09PSAncGFzc3dvcmQnICYmIHR5cGUgPT09ICd0ZXh0J1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TaG93QW5kSGlkZVBhc3N3b3JkKClcIlxyXG4gICAgICAgID48L21vbmtleS1pY29uPlxyXG4gICAgICAgIDxtb25rZXktaWNvblxyXG4gICAgICAgICAgaWNvbj1cImV5ZXMtb2ZmLTE2XCJcclxuICAgICAgICAgIFtjb2xvcl09XCInIzRCNEE1MydcIlxyXG4gICAgICAgICAgKm5nSWY9XCJfb2xkVHlwZSA9PT0gJ3Bhc3N3b3JkJyAmJiB0eXBlID09PSAncGFzc3dvcmQnXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblNob3dBbmRIaWRlUGFzc3dvcmQoKVwiXHJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XHJcbiAgICAgIDwvbWVjeC1mb3JtLWZpZWxkLWJvZHk+XHJcbiAgICA8L21lY3gtZm9ybS1maWVsZC1maWx0ZXI+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICBDdXJyZW5jeVBpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUlucHV0RmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpbmZvTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1hc2s6IHN0cmluZztcclxuICBASW5wdXQoKSBwcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBvbmx5TnVtYmVyOiBhbnk7XHJcbiAgQElucHV0KCkgb25seUFscGhhTnVtZXJpYzogYW55O1xyXG4gIEBJbnB1dCgpIHVwcGVyQ2FzZTogYW55O1xyXG4gIEBJbnB1dCgpIGxvd2VyQ2FzZTogYW55O1xyXG4gIEBJbnB1dCgpIGNhcGl0YWxpemU6IGFueTtcclxuICBASW5wdXQoKSBjdXJyZW5jeTogYW55O1xyXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbjogc3RyaW5nID0gJ3JpZ2h0JztcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBzZXR0aW5nczogTW9ua2V5U3R5bGVTZXR0aW5ncztcclxuICBwcml2YXRlIGhhbmRsZWRWYWx1ZTogYW55O1xyXG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIHByaXZhdGUgdGltZXI6IGFueTtcclxuXHJcbiAgcHVibGljIF9pZDogc3RyaW5nID0gYG1lY3gtaW5wdXQtJHtNb25rZXlVdGlscy5nZXRSYW5kb21TdHJpbmcoMTApfWA7XHJcbiAgcHVibGljIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBfb2xkVHlwZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXHJcbiAgICBwcml2YXRlIHNldHRpbmdzU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHsgc2V0dGluZ3MgfSA9IHRoaXM7XHJcbiAgICBpZiAodGhpcy5vbmx5TnVtYmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIE1vbmtleVV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGAke3ZhbHVlfWApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9ubHlBbHBoYU51bWVyaWMgIT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIE1vbmtleVV0aWxzLmhhbmRsZU9ubHlBbHBoYU51bWVyaWMoYCR7dmFsdWV9YCk7XHJcbiAgICBlbHNlIGlmICh0aGlzLnVwcGVyQ2FzZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gYCR7dmFsdWV9YC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5sb3dlckNhc2UgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGAke3ZhbHVlfWAudG9Mb3dlckNhc2UoKTtcclxuICAgIGVsc2UgaWYgKHRoaXMuY2FwaXRhbGl6ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gTW9ua2V5VXRpbHMuY2FwaXRhbGl6ZShgJHt2YWx1ZX1gLnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5jdXJyZW5jeSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gTW9ua2V5VXRpbHMuaGFuZGxlT25seU51bWJlcnModmFsdWUpO1xyXG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgIG5ld1ZhbHVlIC8gMTAwLFxyXG4gICAgICAgIHNldHRpbmdzPy5jdXJyZW5jeT8uY29kZSB8fCAnQlJMJyxcclxuICAgICAgICAnc3ltYm9sJyxcclxuICAgICAgICAnJyxcclxuICAgICAgICBzZXR0aW5ncz8uY3VycmVuY3k/LmxvY2FsZSB8fCAncHQtQlInXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzU2VydmljZSB9ID0gdGhpcztcclxuICAgIHRoaXMuX29sZFR5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICBzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MoKS5zdWJzY3JpYmUoKHZhbDogTW9ua2V5U3R5bGVTZXR0aW5ncykgPT4ge1xyXG4gICAgICB0aGlzLnNldHRpbmdzID0gdmFsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5oYW5kbGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSh2YWx1ZSk7XHJcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlZFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZUlucHV0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50Py50YXJnZXQ7XHJcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGhhbmRsZWQgPSB0aGlzLmhhbmRsZVZhbHVlKHZhbHVlKTtcclxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGhhbmRsZWQ7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUoaGFuZGxlZCk7XHJcbiAgICBpZiAodGhpcy50aW1lcikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UubmV4dCh2YWx1ZSk7XHJcbiAgICB9LCA0MDApO1xyXG4gIH1cclxuXHJcbiAgb25TaG93QW5kSGlkZVBhc3N3b3JkKCkge1xyXG4gICAgdGhpcy50eXBlID0gdGhpcy50eXBlID09PSAncGFzc3dvcmQnID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHsgX2lkIH0gPSB0aGlzO1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoX2lkKS5mb2N1cygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -142,8 +142,8 @@ export class MonkeyInputComponent {
142
142
  }
143
143
  }
144
144
  }
145
- MonkeyInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputComponent, deps: [{ token: i1.CurrencyPipe }, { token: i2.MonkeyStyleGuideSettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
146
- MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyInputComponent, selector: "monkey-input", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", maxLength: "maxLength", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", percent: "percent", maxDateToday: "maxDateToday", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick()" } }, providers: [
145
+ MonkeyInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputComponent, deps: [{ token: i1.CurrencyPipe }, { token: i2.MonkeyStyleGuideSettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
146
+ MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeyInputComponent, selector: "monkey-input", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", maxLength: "maxLength", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", percent: "percent", maxDateToday: "maxDateToday", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick()" } }, providers: [
147
147
  {
148
148
  provide: NG_VALUE_ACCESSOR,
149
149
  useExisting: forwardRef(() => MonkeyInputComponent),
@@ -233,7 +233,7 @@ MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
233
233
  </mecx-form-field-footer>
234
234
  </mecx-form-field>
235
235
  `, isInline: true, components: [{ type: i3.MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "color", "contrast", "disabled"] }], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputComponent, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputComponent, decorators: [{
237
237
  type: Component,
238
238
  args: [{
239
239
  selector: 'monkey-input',
@@ -381,4 +381,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
381
381
  type: HostListener,
382
382
  args: ['click']
383
383
  }] } });
384
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsVUFBVSxFQUNWLFlBQVksRUFHWixNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7O0FBaUcvQyxNQUFNLE9BQU8sb0JBQW9CO0lBdUMvQixZQUNVLFlBQTBCLEVBQzFCLGVBQWdELEVBQ2hELEdBQXNCO1FBRnRCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQUNoRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXpDdkIsU0FBSSxHQUFXLGNBQWMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRS9ELGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBT3pCLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFReEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJckMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENB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STtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFpQlAsV0FBVztzQkFIVixTQUFTO3VCQUFDLGFBQWEsRUFBRTt3QkFDeEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBa0ZHLEtBQUs7c0JBRFIsS0FBSztnQkErQk4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBJbnB1dCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBPbkluaXQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLCBNb25rZXlTdHlsZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21vbmtleS1pbnB1dCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxtZWN4LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIiBbaWRdPVwiX2lkXCI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtaGVhZGVyPlxyXG4gICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aGVscGVyPlxyXG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaGVscGVyPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1oZWFkZXI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtYm9keSBbY2xhc3MuZXJyb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKClcIj5cclxuICAgICAgICA8bW9ua2V5LWljb25cclxuICAgICAgICAgIFtpY29uXT1cImljb25cIlxyXG4gICAgICAgICAgW2NvbG9yXT1cImVycm9yTWVzc2FnZT8udHJpbSgpID8gJyNmYTM4MzgnIDogJyM0QjRBNTMnXCJcclxuICAgICAgICAgICpuZ0lmPVwiaWNvblwiXHJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XHJcbiAgICAgICAgPHN5bWJvbD5cclxuICAgICAgICAgIHt7IF9zeW1ib2wgfX1cclxuICAgICAgICA8L3N5bWJvbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiX2Zvcm1hdGVkVmFsdWVcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiBwcmVmaXhcIlxyXG4gICAgICAgICAgI21vbmtleUlucHV0XHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9mb3JtYXRlZFZhbHVlXCJcclxuICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiAhcHJlZml4XCJcclxuICAgICAgICAgICNtb25rZXlJbnB1dFxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKCRldmVudClcIlxyXG4gICAgICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJfZm9ybWF0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxyXG4gICAgICAgICAgKm5nSWY9XCIhbWFzayAmJiAhcHJlZml4XCJcclxuICAgICAgICAgIFttYXhdPVwibWF4RGF0ZVRvZGF5ID8gX21heERhdGVUb2RheSA6IG51bGxcIlxyXG4gICAgICAgICAgI21vbmtleUlucHV0XHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bW9ua2V5LWljb25cclxuICAgICAgICAgIGljb249XCJleWUtb3Blbi0xNlwiXHJcbiAgICAgICAgICBbY29sb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKCkgPyAnI2ZhMzgzOCcgOiAnIzRCNEE1MydcIlxyXG4gICAgICAgICAgKm5nSWY9XCJfb2xkVHlwZSA9PT0gJ3Bhc3N3b3JkJyAmJiB0eXBlID09PSAndGV4dCdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcclxuICAgICAgICA+PC9tb25rZXktaWNvbj5cclxuICAgICAgICA8bW9ua2V5LWljb25cclxuICAgICAgICAgIGljb249XCJleWUtY2xvc2VkLTE2XCJcclxuICAgICAgICAgIFtjb2xvcl09XCJlcnJvck1lc3NhZ2U/LnRyaW0oKSA/ICcjZmEzODM4JyA6ICcjNEI0QTUzJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cIl9vbGRUeXBlID09PSAncGFzc3dvcmQnICYmIHR5cGUgPT09ICdwYXNzd29yZCdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcclxuICAgICAgICA+PC9tb25rZXktaWNvbj5cclxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtYm9keT5cclxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1mb290ZXI+XHJcbiAgICAgICAgPGluZm8+XHJcbiAgICAgICAgICB7eyBpbmZvTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaW5mbz5cclxuICAgICAgICA8ZXJyb3I+XHJcbiAgICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cclxuICAgICAgICA8L2Vycm9yPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1mb290ZXI+XHJcbiAgICA8L21lY3gtZm9ybS1maWVsZD5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNb25rZXlJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIEN1cnJlbmN5UGlwZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSBgbWVjeC1pbnB1dC0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygxMCl9YDtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhlbHBlck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWFzazogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyID0gMjU1O1xyXG4gIEBJbnB1dCgpIG9ubHlOdW1iZXI6IGFueTtcclxuICBASW5wdXQoKSBvbmx5QWxwaGFOdW1lcmljOiBhbnk7XHJcbiAgQElucHV0KCkgdXBwZXJDYXNlOiBhbnk7XHJcbiAgQElucHV0KCkgbG93ZXJDYXNlOiBhbnk7XHJcbiAgQElucHV0KCkgY2FwaXRhbGl6ZTogYW55O1xyXG4gIEBJbnB1dCgpIGN1cnJlbmN5OiBhbnk7XHJcbiAgQElucHV0KCkgcGVyY2VudDogYW55O1xyXG4gIEBJbnB1dCgpIG1heERhdGVUb2RheSA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwcml2YXRlIHNldHRpbmdzOiBNb25rZXlTdHlsZVNldHRpbmdzO1xyXG4gIHByaXZhdGUgaGFuZGxlZFZhbHVlOiBhbnk7XHJcbiAgcHJpdmF0ZSBvbk1vZGVsQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Nb2RlbFRvdWNoZWQgPSAodmFsdWU6IGFueSkgPT4ge307XHJcblxyXG4gIHB1YmxpYyBfaWQ6IHN0cmluZyA9IGBtZWN4LWlucHV0LSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDEwKX1gO1xyXG4gIHB1YmxpYyBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgX29sZFR5cGU6IHN0cmluZztcclxuICBwdWJsaWMgX2Zvcm1hdGVkVmFsdWU6IGFueTtcclxuICBwdWJsaWMgX21heERhdGVUb2RheSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xyXG4gIHB1YmxpYyBfc3ltYm9sID0gJyc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21vbmtleUlucHV0Jywge1xyXG4gICAgc3RhdGljOiB0cnVlLFxyXG4gIH0pXHJcbiAgbW9ua2V5SW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcclxuICAgIHByaXZhdGUgc2V0dGluZ3NTZXJ2aWNlOiBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVZhbHVlKHZhbHVlOiBhbnksIGFwcGx5ID0gZmFsc2UpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMub25seU51bWJlcikge1xyXG4gICAgICByZXR1cm4gTW9ua2V5VXRpbHMuaGFuZGxlT25seU51bWJlcnMoYCR7dmFsdWV9YCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub25seUFscGhhTnVtZXJpYykgcmV0dXJuIE1vbmtleVV0aWxzLmhhbmRsZU9ubHlBbHBoYU51bWVyaWMoYCR7dmFsdWV9YCk7XHJcbiAgICBlbHNlIGlmICh0aGlzLnVwcGVyQ2FzZSkgcmV0dXJuIGAke3ZhbHVlfWAudG9VcHBlckNhc2UoKTtcclxuICAgIGVsc2UgaWYgKHRoaXMubG93ZXJDYXNlKSByZXR1cm4gYCR7dmFsdWV9YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5jYXBpdGFsaXplKSByZXR1cm4gTW9ua2V5VXRpbHMuY2FwaXRhbGl6ZShgJHt2YWx1ZX1gLnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5jdXJyZW5jeSB8fCB0aGlzLnBlcmNlbnQpIHtcclxuICAgICAgY29uc3QgaGFuZGxlZCA9IE1vbmtleVV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGAke3ZhbHVlfWApO1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVkIC8gMTAwO1xyXG4gICAgICBpZighcmVzdWx0KSByZXR1cm4gJyc7XHJcbiAgICAgIHJldHVybiByZXN1bHQudG9GaXhlZCgyKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlcGxhY2VaZXJvKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiBgJHt2YWx1ZX1gLnJlcGxhY2UobmV3IFJlZ0V4cCgvMC8sICdnJyksICcnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzIH0gPSB0aGlzO1xyXG4gICAgaWYgKHRoaXMuY3VycmVuY3kpIHtcclxuICAgICAgaWYgKCF2YWx1ZSB8fCAhdGhpcy5yZXBsYWNlWmVybyh2YWx1ZSkpIHJldHVybiAnJztcclxuICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybShcclxuICAgICAgICB2YWx1ZSxcclxuICAgICAgICBzZXR0aW5ncz8uY3VycmVuY3k/LmNvZGUgfHwgJ0JSTCcsXHJcbiAgICAgICAgJycsXHJcbiAgICAgICAgJzEuMi0yJyxcclxuICAgICAgICBzZXR0aW5ncz8uY3VycmVuY3k/LmxvY2FsZSB8fCAncHQtQlInXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucGVyY2VudCkge1xyXG4gICAgICByZXR1cm4gYCR7dmFsdWV9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVN5bWJvbCgpIHtcclxuICAgIGNvbnN0IHsgc2V0dGluZ3MgfSA9IHRoaXM7XHJcbiAgICBpZiAodGhpcy5jdXJyZW5jeSkge1xyXG4gICAgICB0aGlzLl9zeW1ib2wgPSB7XHJcbiAgICAgICAgQlJMOiAnUiQnLFxyXG4gICAgICAgIENMUDogJ0NMUCcsXHJcbiAgICAgIH1bc2V0dGluZ3M/LmN1cnJlbmN5Py5jb2RlIHx8ICdCUkwnXTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5wZXJjZW50KSB7XHJcbiAgICAgIHRoaXMuX3N5bWJvbCA9ICclJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgeyBzZXR0aW5nc1NlcnZpY2UgfSA9IHRoaXM7XHJcbiAgICB0aGlzLl9vbGRUeXBlID0gdGhpcy50eXBlO1xyXG4gICAgc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzKCkuc3Vic2NyaWJlKCh2YWw6IE1vbmtleVN0eWxlU2V0dGluZ3MpID0+IHtcclxuICAgICAgdGhpcy5zZXR0aW5ncyA9IHZhbDtcclxuICAgICAgdGhpcy5oYW5kbGVTeW1ib2woKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuaGFuZGxlZFZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLl9mb3JtYXRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy5oYW5kbGVkVmFsdWUpO1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCh0aGlzLmhhbmRsZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VWYWx1ZShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX2Zvcm1hdGVkVmFsdWU7XHJcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGhhbmRsZWQgPSB0aGlzLmhhbmRsZVZhbHVlKHZhbHVlLCB0cnVlKTtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShoYW5kbGVkKTtcclxuICAgIHRoaXMub25DaGFuZ2UubmV4dChoYW5kbGVkKTtcclxuICB9XHJcblxyXG4gIG9uU2hvd0FuZEhpZGVQYXNzd29yZCgpIHtcclxuICAgIHRoaXMudHlwZSA9IHRoaXMudHlwZSA9PT0gJ3Bhc3N3b3JkJyA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgb25DbGljaygpIHtcclxuICAgIGRvY3VtZW50Py5nZXRFbGVtZW50QnlJZCh0aGlzLl9pZCk/LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpPy5bMF0/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBvbktleVByZXNzKGV2ZW50OiBhbnkpIHtcclxuICAgIGxldCBwYXR0ZXJuID0gbnVsbDtcclxuICAgIGNvbnN0IGNtcCA9IGV2ZW50Py50YXJnZXQ/LnZhbHVlO1xyXG4gICAgY29uc3QgaW5wdXRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShldmVudC5jaGFyQ29kZSk7XHJcbiAgICBpZiAodGhpcy5jdXJyZW5jeSB8fCB0aGlzLm9ubHlOdW1iZXIgfHwgdGhpcy5wZXJjZW50KSB7XHJcbiAgICAgIHBhdHRlcm4gPSAvWzAtOV0vO1xyXG4gICAgICBpZiAoIXRoaXMub25seU51bWJlciAmJiBpbnB1dENoYXIgPT09ICcwJyAmJiAhdGhpcy5yZXBsYWNlWmVybyhjbXApKSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5vbmx5QWxwaGFOdW1lcmljKSB7XHJcbiAgICAgIHBhdHRlcm4gPSAvW14wLTlBLVphLXpdLztcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGF0dGVybiAmJiAhcGF0dGVybi50ZXN0KGlucHV0Q2hhcikpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
384
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsVUFBVSxFQUNWLFlBQVksRUFHWixNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7O0FBaUcvQyxNQUFNLE9BQU8sb0JBQW9CO0lBdUMvQixZQUNVLFlBQTBCLEVBQzFCLGVBQWdELEVBQ2hELEdBQXNCO1FBRnRCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQUNoRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXpDdkIsU0FBSSxHQUFXLGNBQWMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRS9ELGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBT3pCLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFReEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJckMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENB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STtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFpQlAsV0FBVztzQkFIVixTQUFTO3VCQUFDLGFBQWEsRUFBRTt3QkFDeEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBa0ZHLEtBQUs7c0JBRFIsS0FBSztnQkErQk4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBJbnB1dCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBPbkluaXQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLCBNb25rZXlTdHlsZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21vbmtleS1pbnB1dCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxtZWN4LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIiBbaWRdPVwiX2lkXCI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtaGVhZGVyPlxyXG4gICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aGVscGVyPlxyXG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaGVscGVyPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1oZWFkZXI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtYm9keSBbY2xhc3MuZXJyb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKClcIj5cclxuICAgICAgICA8bW9ua2V5LWljb25cclxuICAgICAgICAgIFtpY29uXT1cImljb25cIlxyXG4gICAgICAgICAgW2NvbG9yXT1cImVycm9yTWVzc2FnZT8udHJpbSgpID8gJyNmYTM4MzgnIDogJyM0QjRBNTMnXCJcclxuICAgICAgICAgICpuZ0lmPVwiaWNvblwiXHJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XHJcbiAgICAgICAgPHN5bWJvbD5cclxuICAgICAgICAgIHt7IF9zeW1ib2wgfX1cclxuICAgICAgICA8L3N5bWJvbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiX2Zvcm1hdGVkVmFsdWVcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiBwcmVmaXhcIlxyXG4gICAgICAgICAgI21vbmtleUlucHV0XHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9mb3JtYXRlZFZhbHVlXCJcclxuICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiAhcHJlZml4XCJcclxuICAgICAgICAgICNtb25rZXlJbnB1dFxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKCRldmVudClcIlxyXG4gICAgICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJfZm9ybWF0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxyXG4gICAgICAgICAgKm5nSWY9XCIhbWFzayAmJiAhcHJlZml4XCJcclxuICAgICAgICAgIFttYXhdPVwibWF4RGF0ZVRvZGF5ID8gX21heERhdGVUb2RheSA6IG51bGxcIlxyXG4gICAgICAgICAgI21vbmtleUlucHV0XHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bW9ua2V5LWljb25cclxuICAgICAgICAgIGljb249XCJleWUtb3Blbi0xNlwiXHJcbiAgICAgICAgICBbY29sb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKCkgPyAnI2ZhMzgzOCcgOiAnIzRCNEE1MydcIlxyXG4gICAgICAgICAgKm5nSWY9XCJfb2xkVHlwZSA9PT0gJ3Bhc3N3b3JkJyAmJiB0eXBlID09PSAndGV4dCdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcclxuICAgICAgICA+PC9tb25rZXktaWNvbj5cclxuICAgICAgICA8bW9ua2V5LWljb25cclxuICAgICAgICAgIGljb249XCJleWUtY2xvc2VkLTE2XCJcclxuICAgICAgICAgIFtjb2xvcl09XCJlcnJvck1lc3NhZ2U/LnRyaW0oKSA/ICcjZmEzODM4JyA6ICcjNEI0QTUzJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cIl9vbGRUeXBlID09PSAncGFzc3dvcmQnICYmIHR5cGUgPT09ICdwYXNzd29yZCdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcclxuICAgICAgICA+PC9tb25rZXktaWNvbj5cclxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtYm9keT5cclxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1mb290ZXI+XHJcbiAgICAgICAgPGluZm8+XHJcbiAgICAgICAgICB7eyBpbmZvTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaW5mbz5cclxuICAgICAgICA8ZXJyb3I+XHJcbiAgICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cclxuICAgICAgICA8L2Vycm9yPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1mb290ZXI+XHJcbiAgICA8L21lY3gtZm9ybS1maWVsZD5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNb25rZXlJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIEN1cnJlbmN5UGlwZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSBgbWVjeC1pbnB1dC0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygxMCl9YDtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhlbHBlck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWFzazogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyID0gMjU1O1xyXG4gIEBJbnB1dCgpIG9ubHlOdW1iZXI6IGFueTtcclxuICBASW5wdXQoKSBvbmx5QWxwaGFOdW1lcmljOiBhbnk7XHJcbiAgQElucHV0KCkgdXBwZXJDYXNlOiBhbnk7XHJcbiAgQElucHV0KCkgbG93ZXJDYXNlOiBhbnk7XHJcbiAgQElucHV0KCkgY2FwaXRhbGl6ZTogYW55O1xyXG4gIEBJbnB1dCgpIGN1cnJlbmN5OiBhbnk7XHJcbiAgQElucHV0KCkgcGVyY2VudDogYW55O1xyXG4gIEBJbnB1dCgpIG1heERhdGVUb2RheSA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwcml2YXRlIHNldHRpbmdzOiBNb25rZXlTdHlsZVNldHRpbmdzO1xyXG4gIHByaXZhdGUgaGFuZGxlZFZhbHVlOiBhbnk7XHJcbiAgcHJpdmF0ZSBvbk1vZGVsQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Nb2RlbFRvdWNoZWQgPSAodmFsdWU6IGFueSkgPT4ge307XHJcblxyXG4gIHB1YmxpYyBfaWQ6IHN0cmluZyA9IGBtZWN4LWlucHV0LSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDEwKX1gO1xyXG4gIHB1YmxpYyBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgX29sZFR5cGU6IHN0cmluZztcclxuICBwdWJsaWMgX2Zvcm1hdGVkVmFsdWU6IGFueTtcclxuICBwdWJsaWMgX21heERhdGVUb2RheSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xyXG4gIHB1YmxpYyBfc3ltYm9sID0gJyc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21vbmtleUlucHV0Jywge1xyXG4gICAgc3RhdGljOiB0cnVlLFxyXG4gIH0pXHJcbiAgbW9ua2V5SW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcclxuICAgIHByaXZhdGUgc2V0dGluZ3NTZXJ2aWNlOiBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVZhbHVlKHZhbHVlOiBhbnksIGFwcGx5ID0gZmFsc2UpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMub25seU51bWJlcikge1xyXG4gICAgICByZXR1cm4gTW9ua2V5VXRpbHMuaGFuZGxlT25seU51bWJlcnMoYCR7dmFsdWV9YCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub25seUFscGhhTnVtZXJpYykgcmV0dXJuIE1vbmtleVV0aWxzLmhhbmRsZU9ubHlBbHBoYU51bWVyaWMoYCR7dmFsdWV9YCk7XHJcbiAgICBlbHNlIGlmICh0aGlzLnVwcGVyQ2FzZSkgcmV0dXJuIGAke3ZhbHVlfWAudG9VcHBlckNhc2UoKTtcclxuICAgIGVsc2UgaWYgKHRoaXMubG93ZXJDYXNlKSByZXR1cm4gYCR7dmFsdWV9YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5jYXBpdGFsaXplKSByZXR1cm4gTW9ua2V5VXRpbHMuY2FwaXRhbGl6ZShgJHt2YWx1ZX1gLnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5jdXJyZW5jeSB8fCB0aGlzLnBlcmNlbnQpIHtcclxuICAgICAgY29uc3QgaGFuZGxlZCA9IE1vbmtleVV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGAke3ZhbHVlfWApO1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVkIC8gMTAwO1xyXG4gICAgICBpZighcmVzdWx0KSByZXR1cm4gJyc7XHJcbiAgICAgIHJldHVybiByZXN1bHQudG9GaXhlZCgyKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlcGxhY2VaZXJvKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiBgJHt2YWx1ZX1gLnJlcGxhY2UobmV3IFJlZ0V4cCgvMC8sICdnJyksICcnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzIH0gPSB0aGlzO1xyXG4gICAgaWYgKHRoaXMuY3VycmVuY3kpIHtcclxuICAgICAgaWYgKCF2YWx1ZSB8fCAhdGhpcy5yZXBsYWNlWmVybyh2YWx1ZSkpIHJldHVybiAnJztcclxuICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybShcclxuICAgICAgICB2YWx1ZSxcclxuICAgICAgICBzZXR0aW5ncz8uY3VycmVuY3k/LmNvZGUgfHwgJ0JSTCcsXHJcbiAgICAgICAgJycsXHJcbiAgICAgICAgJzEuMi0yJyxcclxuICAgICAgICBzZXR0aW5ncz8uY3VycmVuY3k/LmxvY2FsZSB8fCAncHQtQlInXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucGVyY2VudCkge1xyXG4gICAgICByZXR1cm4gYCR7dmFsdWV9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVN5bWJvbCgpIHtcclxuICAgIGNvbnN0IHsgc2V0dGluZ3MgfSA9IHRoaXM7XHJcbiAgICBpZiAodGhpcy5jdXJyZW5jeSkge1xyXG4gICAgICB0aGlzLl9zeW1ib2wgPSB7XHJcbiAgICAgICAgQlJMOiAnUiQnLFxyXG4gICAgICAgIENMUDogJ0NMUCcsXHJcbiAgICAgIH1bc2V0dGluZ3M/LmN1cnJlbmN5Py5jb2RlIHx8ICdCUkwnXTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5wZXJjZW50KSB7XHJcbiAgICAgIHRoaXMuX3N5bWJvbCA9ICclJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgeyBzZXR0aW5nc1NlcnZpY2UgfSA9IHRoaXM7XHJcbiAgICB0aGlzLl9vbGRUeXBlID0gdGhpcy50eXBlO1xyXG4gICAgc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzKCkuc3Vic2NyaWJlKCh2YWw6IE1vbmtleVN0eWxlU2V0dGluZ3MpID0+IHtcclxuICAgICAgdGhpcy5zZXR0aW5ncyA9IHZhbDtcclxuICAgICAgdGhpcy5oYW5kbGVTeW1ib2woKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuaGFuZGxlZFZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLl9mb3JtYXRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy5oYW5kbGVkVmFsdWUpO1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCh0aGlzLmhhbmRsZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VWYWx1ZShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX2Zvcm1hdGVkVmFsdWU7XHJcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGhhbmRsZWQgPSB0aGlzLmhhbmRsZVZhbHVlKHZhbHVlLCB0cnVlKTtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShoYW5kbGVkKTtcclxuICAgIHRoaXMub25DaGFuZ2UubmV4dChoYW5kbGVkKTtcclxuICB9XHJcblxyXG4gIG9uU2hvd0FuZEhpZGVQYXNzd29yZCgpIHtcclxuICAgIHRoaXMudHlwZSA9IHRoaXMudHlwZSA9PT0gJ3Bhc3N3b3JkJyA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgb25DbGljaygpIHtcclxuICAgIGRvY3VtZW50Py5nZXRFbGVtZW50QnlJZCh0aGlzLl9pZCk/LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpPy5bMF0/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBvbktleVByZXNzKGV2ZW50OiBhbnkpIHtcclxuICAgIGxldCBwYXR0ZXJuID0gbnVsbDtcclxuICAgIGNvbnN0IGNtcCA9IGV2ZW50Py50YXJnZXQ/LnZhbHVlO1xyXG4gICAgY29uc3QgaW5wdXRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShldmVudC5jaGFyQ29kZSk7XHJcbiAgICBpZiAodGhpcy5jdXJyZW5jeSB8fCB0aGlzLm9ubHlOdW1iZXIgfHwgdGhpcy5wZXJjZW50KSB7XHJcbiAgICAgIHBhdHRlcm4gPSAvWzAtOV0vO1xyXG4gICAgICBpZiAoIXRoaXMub25seU51bWJlciAmJiBpbnB1dENoYXIgPT09ICcwJyAmJiAhdGhpcy5yZXBsYWNlWmVybyhjbXApKSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5vbmx5QWxwaGFOdW1lcmljKSB7XHJcbiAgICAgIHBhdHRlcm4gPSAvW14wLTlBLVphLXpdLztcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGF0dGVybiAmJiAhcGF0dGVybi50ZXN0KGlucHV0Q2hhcikpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -9,18 +9,18 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "ngx-mask";
10
10
  export class MonkeyInputModule {
11
11
  }
12
- MonkeyInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- MonkeyInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputModule, declarations: [MonkeyInputComponent, MonkeyInputFilterComponent], imports: [CommonModule,
12
+ MonkeyInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ MonkeyInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputModule, declarations: [MonkeyInputComponent, MonkeyInputFilterComponent], imports: [CommonModule,
14
14
  FormsModule,
15
15
  ReactiveFormsModule, i1.NgxMaskModule, MonkeyIconModule], exports: [MonkeyInputComponent, MonkeyInputFilterComponent] });
16
- MonkeyInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputModule, imports: [[
16
+ MonkeyInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputModule, imports: [[
17
17
  CommonModule,
18
18
  FormsModule,
19
19
  ReactiveFormsModule,
20
20
  NgxMaskModule.forRoot(),
21
21
  MonkeyIconModule,
22
22
  ]] });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputModule, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputModule, decorators: [{
24
24
  type: NgModule,
25
25
  args: [{
26
26
  declarations: [MonkeyInputComponent, MonkeyInputFilterComponent],
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
35
35
  schemas: [NO_ERRORS_SCHEMA],
36
36
  }]
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFjM0MsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVhiLG9CQUFvQixFQUFFLDBCQUEwQixhQUU3RCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQixvQkFFbkIsZ0JBQWdCLGFBRVIsb0JBQW9CLEVBQUUsMEJBQTBCOytHQUcvQyxpQkFBaUIsWUFWbkI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLGdCQUFnQjtTQUNqQjsyRkFJVSxpQkFBaUI7a0JBWjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsMEJBQTBCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLDBCQUEwQixDQUFDO29CQUMzRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgTW9ua2V5SWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtNb25rZXlJbnB1dENvbXBvbmVudCwgTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE5neE1hc2tNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgTW9ua2V5SWNvbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtNb25rZXlJbnB1dENvbXBvbmVudCwgTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnRdLFxyXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUlucHV0TW9kdWxlIHt9XHJcbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFjM0MsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQVhiLG9CQUFvQixFQUFFLDBCQUEwQixhQUU3RCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQixvQkFFbkIsZ0JBQWdCLGFBRVIsb0JBQW9CLEVBQUUsMEJBQTBCO2dIQUcvQyxpQkFBaUIsWUFWbkI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLGdCQUFnQjtTQUNqQjs0RkFJVSxpQkFBaUI7a0JBWjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsMEJBQTBCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLDBCQUEwQixDQUFDO29CQUMzRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgTW9ua2V5SWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtNb25rZXlJbnB1dENvbXBvbmVudCwgTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE5neE1hc2tNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgTW9ua2V5SWNvbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtNb25rZXlJbnB1dENvbXBvbmVudCwgTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnRdLFxyXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUlucHV0TW9kdWxlIHt9XHJcbiJdfQ==