angular-three-soba 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/cameras/lib/cube-camera.d.ts +1 -1
  2. package/cameras/lib/orthographic-camera.d.ts +1 -1
  3. package/cameras/lib/perspective-camera.d.ts +1 -1
  4. package/esm2022/abstractions/lib/billboard.mjs +4 -4
  5. package/esm2022/abstractions/lib/catmull-rom-line.mjs +4 -4
  6. package/esm2022/abstractions/lib/cubic-bezier-line.mjs +4 -4
  7. package/esm2022/abstractions/lib/edges.mjs +4 -4
  8. package/esm2022/abstractions/lib/gradient-texture.mjs +4 -4
  9. package/esm2022/abstractions/lib/grid.mjs +4 -4
  10. package/esm2022/abstractions/lib/helper.mjs +4 -4
  11. package/esm2022/abstractions/lib/line.mjs +4 -4
  12. package/esm2022/abstractions/lib/prism-geometry.mjs +4 -4
  13. package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +4 -4
  14. package/esm2022/abstractions/lib/rounded-box.mjs +4 -4
  15. package/esm2022/abstractions/lib/text-3d.mjs +4 -4
  16. package/esm2022/abstractions/lib/text.mjs +4 -4
  17. package/esm2022/cameras/lib/camera-content.mjs +4 -4
  18. package/esm2022/cameras/lib/cube-camera.mjs +4 -4
  19. package/esm2022/cameras/lib/orthographic-camera.mjs +4 -4
  20. package/esm2022/cameras/lib/perspective-camera.mjs +4 -4
  21. package/esm2022/controls/lib/camera-controls.mjs +4 -4
  22. package/esm2022/controls/lib/orbit-controls.mjs +4 -4
  23. package/esm2022/controls/lib/scroll-controls.mjs +10 -10
  24. package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +7 -7
  25. package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +13 -13
  26. package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +10 -10
  27. package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +4 -4
  28. package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +4 -4
  29. package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +4 -4
  30. package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +4 -4
  31. package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +4 -4
  32. package/esm2022/gizmos/lib/transform-controls.mjs +4 -4
  33. package/esm2022/loaders/lib/loader.mjs +4 -4
  34. package/esm2022/materials/lib/custom-shader-material.mjs +4 -4
  35. package/esm2022/materials/lib/mesh-distort-material.mjs +4 -4
  36. package/esm2022/materials/lib/mesh-reflector-material.mjs +4 -4
  37. package/esm2022/materials/lib/mesh-refraction-material.mjs +4 -4
  38. package/esm2022/materials/lib/mesh-transmission-material.mjs +4 -4
  39. package/esm2022/materials/lib/mesh-wobble-material.mjs +4 -4
  40. package/esm2022/materials/lib/point-material.mjs +4 -4
  41. package/esm2022/misc/lib/bake-shadows.mjs +4 -4
  42. package/esm2022/misc/lib/computed-attribute.mjs +4 -4
  43. package/esm2022/misc/lib/decal.mjs +4 -4
  44. package/esm2022/misc/lib/fbo.mjs +4 -4
  45. package/esm2022/misc/lib/html/html-content.mjs +4 -4
  46. package/esm2022/misc/lib/html/html.mjs +4 -4
  47. package/esm2022/misc/lib/intersect.mjs +4 -4
  48. package/esm2022/misc/lib/preload.mjs +4 -4
  49. package/esm2022/misc/lib/sampler.mjs +4 -4
  50. package/esm2022/performances/lib/adaptive-dpr.mjs +4 -4
  51. package/esm2022/performances/lib/adaptive-events.mjs +4 -4
  52. package/esm2022/performances/lib/detailed.mjs +4 -4
  53. package/esm2022/performances/lib/instances/instances.mjs +7 -7
  54. package/esm2022/performances/lib/points/points.mjs +10 -10
  55. package/esm2022/performances/lib/segments/segments.mjs +7 -7
  56. package/esm2022/staging/lib/accumulative-shadows.mjs +4 -4
  57. package/esm2022/staging/lib/backdrop.mjs +4 -4
  58. package/esm2022/staging/lib/bb-anchor.mjs +4 -4
  59. package/esm2022/staging/lib/bounds.mjs +4 -4
  60. package/esm2022/staging/lib/camera-shake.mjs +4 -4
  61. package/esm2022/staging/lib/caustics.mjs +4 -4
  62. package/esm2022/staging/lib/center.mjs +4 -4
  63. package/esm2022/staging/lib/contact-shadows.mjs +4 -4
  64. package/esm2022/staging/lib/environment/environment.mjs +16 -16
  65. package/esm2022/staging/lib/float.mjs +4 -4
  66. package/esm2022/staging/lib/lightformer.mjs +4 -4
  67. package/esm2022/staging/lib/mask.mjs +4 -4
  68. package/esm2022/staging/lib/matcap-texture.mjs +4 -4
  69. package/esm2022/staging/lib/normal-texture.mjs +4 -4
  70. package/esm2022/staging/lib/randomized-lights.mjs +4 -4
  71. package/esm2022/staging/lib/render-texture.mjs +10 -10
  72. package/esm2022/staging/lib/sky.mjs +4 -4
  73. package/esm2022/staging/lib/spot-light.mjs +16 -16
  74. package/esm2022/staging/lib/stage.mjs +7 -7
  75. package/esm2022/stats/lib/stats.mjs +4 -4
  76. package/fesm2022/angular-three-soba-abstractions.mjs +39 -39
  77. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  78. package/fesm2022/angular-three-soba-cameras.mjs +12 -12
  79. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  80. package/fesm2022/angular-three-soba-controls.mjs +15 -15
  81. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  82. package/fesm2022/angular-three-soba-gizmos.mjs +45 -45
  83. package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
  84. package/fesm2022/angular-three-soba-loaders.mjs +3 -3
  85. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  86. package/fesm2022/angular-three-soba-materials.mjs +21 -21
  87. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  88. package/fesm2022/angular-three-soba-misc.mjs +27 -27
  89. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  90. package/fesm2022/angular-three-soba-performances.mjs +30 -30
  91. package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
  92. package/fesm2022/angular-three-soba-staging.mjs +90 -90
  93. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  94. package/fesm2022/angular-three-soba-stats.mjs +3 -3
  95. package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
  96. package/gizmos/lib/pivot-controls/axis-arrow.d.ts +1 -1
  97. package/gizmos/lib/pivot-controls/axis-rotator.d.ts +1 -1
  98. package/gizmos/lib/pivot-controls/pivot-controls.d.ts +1 -1
  99. package/gizmos/lib/pivot-controls/plane-slider.d.ts +1 -1
  100. package/gizmos/lib/pivot-controls/scaling-sphere.d.ts +1 -1
  101. package/gizmos/lib/transform-controls.d.ts +2 -2
  102. package/misc/lib/html/html.d.ts +1 -1
  103. package/package.json +20 -20
  104. package/shaders/lib/mesh-refraction-material.d.ts +2 -2
@@ -258,14 +258,14 @@ export class NgtsBounds {
258
258
  invalidate();
259
259
  return this;
260
260
  }
261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsBounds, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.9", type: NgtsBounds, isStandalone: true, selector: "ngts-bounds", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsBounds, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsBounds, isStandalone: true, selector: "ngts-bounds", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
263
263
  <ngt-group #group>
264
264
  <ng-content />
265
265
  </ngt-group>
266
266
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
267
267
  }
268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsBounds, decorators: [{
268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsBounds, decorators: [{
269
269
  type: Component,
270
270
  args: [{
271
271
  selector: 'ngts-bounds',
@@ -279,4 +279,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
279
279
  changeDetection: ChangeDetectionStrategy.OnPush,
280
280
  }]
281
281
  }], ctorParameters: () => [] });
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9ib3VuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFFTixLQUFLLEVBRUwsU0FBUyxFQUNULFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQVksSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQVksVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUFXNUUsSUFBSyxjQUlKO0FBSkQsV0FBSyxjQUFjO0lBQ2xCLG1EQUFRLENBQUE7SUFDUixxREFBUyxDQUFBO0lBQ1QsdURBQVUsQ0FBQTtBQUNYLENBQUMsRUFKSSxjQUFjLEtBQWQsY0FBYyxRQUlsQjtBQUVELFNBQVMsTUFBTSxDQUFDLEdBQVk7SUFDM0IsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFLLEdBQVksQ0FBQyxNQUFNLENBQUM7QUFDdEMsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsQ0FBUztJQUN4QyxvREFBb0Q7SUFDcEQsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFXRCxNQUFNLGNBQWMsR0FBc0I7SUFDekMsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLEdBQUc7SUFDWCxlQUFlLEVBQUUsc0JBQXNCO0lBQ3ZDLElBQUksRUFBRSxL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QkFBb0IsQ0FBQyxJQUFJLE9BQU8sRUFBRSxFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELEtBQUs7UUFDSixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFNUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUss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QyxDQUFDLENBQUM7UUFFbkgsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3BDLHFFQUFxRTtZQUNyRSxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRUQsa0VBQWtFO1FBQ2xFLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsTUFBTSxRQUFRLEdBQUc7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMs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QztRQUVwQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDN0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRWhDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLENBQUMsV0FBVyxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDckMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFFRCxVQUFVLEVBQUUsQ0FBQztRQUViLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzs4R0FwUlcsVUFBVTtrR0FBVixVQUFVLG9VQVJaOzs7O0VBSVQ7OzJGQUlXLFVBQVU7a0JBWHRCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7RUFJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0U2lnbmFsLFxuXHR1bnRyYWNrZWQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUsIGlzLCBOZ3RHcm91cCwgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQm94MywgR3JvdXAsIE1hdHJpeDQsIE9iamVjdDNELCBRdWF0ZXJuaW9uLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuXG5pbnRlcmZhY2UgQ29udHJvbHNQcm90byB7XG5cdHVwZGF0ZSgpOiB2b2lkO1xuXG5cdHRhcmdldDogVmVjdG9yMztcblx0bWF4RGlzdGFuY2U6IG51bWJlcjtcblx0YWRkRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbn1cblxuZW51bSBBbmltYXRpb25TdGF0ZSB7XG5cdE5PTkUgPSAwLFxuXHRTVEFSVCA9IDEsXG5cdEFDVElWRSA9IDIsXG59XG5cbmZ1bmN0aW9uIGlzQm94MyhkZWY6IHVua25vd24pOiBkZWYgaXMgQm94MyB7XG5cdHJldHVybiAhIWRlZiAmJiAoZGVmIGFzIEJveDMpLmlzQm94Mztcbn1cblxuZnVuY3Rpb24gaW50ZXJwb2xhdGVGdW5jRGVmYXVsdCh0OiBudW1iZXIpIHtcblx0Ly8gSW1pdGF0ZXMgdGhlIHByZXZpb3VzbHkgdXNlZCBUSFJFRS5NYXRoVXRpbHMuZGFtcFxuXHRyZXR1cm4gMSAtIE1hdGguZXhwKC01ICogdCkgKyAwLjAwNyAqIHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0JvdW5kc09wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPE5ndEdyb3VwPiB7XG5cdG1heER1cmF0aW9uOiBudW1iZXI7XG5cdG1hcmdpbjogbnVtYmVyO1xuXHRvYnNlcnZlOiBib29sZWFuO1xuXHRmaXQ6IGJvb2xlYW47XG5cdGNsaXA6IGJvb2xlYW47XG5cdGludGVycG9sYXRlRnVuYzogKHQ6IG51bWJlcikgPT4gbnVtYmVyO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c0JvdW5kc09wdGlvbnMgPSB7XG5cdG1heER1cmF0aW9uOiAxLjAsXG5cdG1hcmdpbjogMS4yLFxuXHRpbnRlcnBvbGF0ZUZ1bmM6IGludGVycG9sYXRlRnVuY0RlZmF1bHQsXG5cdGNsaXA6IGZhbHNlLFxuXHRmaXQ6IGZhbHNlLFxuXHRvYnNlcnZlOiBmYWxzZSxcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtYm91bmRzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNncm91cD5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNCb3VuZHMge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cblx0Z3JvdXBSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdncm91cCcpO1xuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGNhbWVyYSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjYW1lcmEnKTtcblx0cHJpdmF0ZSBpbnZhbGlkYXRlID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2ludmFsaWRhdGUnKTtcblx0cHJpdmF0ZSBzaXplID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3NpemUnKTtcblx0cHJpdmF0ZSBjb250cm9scyA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjb250cm9scycpIGFzIHVua25vd24gYXMgU2lnbmFsPENvbnRyb2xzUHJvdG8+O1xuXG5cdHByaXZhdGUgY2xpcE9wdGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAnY2xpcCcpO1xuXHRwcml2YXRlIGZpdE9wdGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAnZml0Jyk7XG5cdHByaXZhdGUgb2JzZXJ2ZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnb2JzZXJ2ZScpO1xuXG5cdHByaXZhdGUgb3JpZ2luID0ge1xuXHRcdGNhbVBvczogbmV3IFZlY3RvcjMoKSxcblx0XHRjYW1Sb3Q6IG5ldyBRdWF0ZXJuaW9uKCksXG5cdFx0Y2FtWm9vbTogMSxcblx0fTtcblx0cHJpdmF0ZSBnb2FsID0ge1xuXHRcdGNhbVBvczogdW5kZWZpbmVkIGFzIFZlY3RvcjMgfCB1bmRlZmluZWQsXG5cdFx0Y2FtUm90OiB1bmRlZmluZWQgYXMgUXVhdGVybmlvbiB8IHVuZGVmaW5lZCxcblx0XHRjYW1ab29tOiB1bmRlZmluZWQgYXMgbnVtYmVyIHwgdW5kZWZpbmVkLFxuXHRcdGNhbVVwOiB1bmRlZmluZWQgYXMgVmVjdG9yMyB8IHVuZGVmaW5lZCxcblx0XHR0YXJnZXQ6IHVuZGVmaW5lZCBhcyBWZWN0b3IzIHwgdW5kZWZpbmVkLFxuXHR9O1xuXHRwcml2YXRlIGFuaW1hdGlvblN0YXRlID0gQW5pbWF0aW9uU3RhdGUuTk9ORTtcblxuXHQvLyByZXByZXNlbnQgYW5pbWF0aW9uIHN0YXRlIGZyb20gMCB0byAxXG5cdHByaXZhdGUgdCA9IDA7XG5cdHByaXZhdGUgYm94ID0gbmV3IEJveDMoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRleHRlbmQoeyBHcm91cCB9KTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBbY29udHJvbHMsIGNhbWVyYV0gPSBbdGhpcy5jb250cm9scygpLCB1bnRyYWNrZWQodGhpcy5jYW1lcmEpXTtcblx0XHRcdGlmICghY29udHJvbHMpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG5cdFx0XHRcdGlmIChjb250cm9scyAmJiB0aGlzLmdvYWwudGFyZ2V0ICYmIHRoaXMuYW5pbWF0aW9uU3RhdGUgIT09IEFuaW1hdGlvblN0YXRlLk5PTkUpIHtcblx0XHRcdFx0XHRjb25zdCBmcm9udCA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeENvbHVtbihjYW1lcmEubWF0cml4LCAyKTtcblx0XHRcdFx0XHRjb25zdCBkMCA9IHRoaXMub3JpZ2luLmNhbVBvcy5kaXN0YW5jZVRvKGNvbnRyb2xzLnRhcmdldCk7XG5cdFx0XHRcdFx0Y29uc3QgZDEgPSAodGhpcy5nb2FsLmNhbVBvcyB8fCB0aGlzLm9yaWdpbi5jYW1Qb3MpLmRpc3RhbmNlVG8odGhpcy5nb2FsLnRhcmdldCk7XG5cdFx0XHRcdFx0Y29uc3QgZCA9ICgxIC0gdGhpcy50KSAqIGQwICsgdGhpcy50ICogZDE7XG5cblx0XHRcdFx0XHRjb250cm9scy50YXJnZXQuY29weShjYW1lcmEucG9zaXRpb24pLmFkZFNjYWxlZFZlY3Rvcihmcm9udCwgLWQpO1xuXHRcdFx0XHRcdGNvbnRyb2xzLnVwZGF0ZSgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLk5PTkU7XG5cdFx0XHR9O1xuXG5cdFx0XHRjb250cm9scy5hZGRFdmVudExpc3RlbmVyKCdzdGFydCcsIGNhbGxiYWNrKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjb250cm9scy5yZW1vdmVFdmVudExpc3RlbmVyKCdzdGFydCcsIGNhbGxiYWNrKSk7XG5cdFx0fSk7XG5cblx0XHRsZXQgY291bnQgPSAwO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbY2xpcCwgZml0LCBvYnNlcnZlXSA9IFtcblx0XHRcdFx0dGhpcy5jbGlwT3B0aW9uKCksXG5cdFx0XHRcdHRoaXMuZml0T3B0aW9uKCksXG5cdFx0XHRcdHRoaXMub2JzZXJ2ZSgpLFxuXHRcdFx0XHR0aGlzLnNpemUoKSxcblx0XHRcdFx0dGhpcy5jYW1lcmEoKSxcblx0XHRcdFx0dGhpcy5jb250cm9scygpLFxuXHRcdFx0XTtcblx0XHRcdGlmIChvYnNlcnZlIHx8IGNvdW50KysgPT09IDApIHtcblx0XHRcdFx0dGhpcy5yZWZyZXNoKCk7XG5cdFx0XHRcdGlmIChmaXQpIHRoaXMucmVzZXQoKS5maXQoKTtcblx0XHRcdFx0aWYgKGNsaXApIHRoaXMuY2xpcCgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGRlbHRhIH0pID0+IHtcblx0XHRcdC8vIFRoaXMgW2FkZGl0aW9uYWwgYW5pbWF0aW9uIHN0ZXAgU1RBUlRdIGlzIG5lZWRlZCB0byBndWFyYW50ZWUgdGhhdCBkZWx0YSB1c2VkIGluIGFuaW1hdGlvbiBpc24ndCBhYnN1cmRseSBoaWdoICgyLTMgc2Vjb25kcykgd2hpY2ggaXMgYWN0dWFsbHkgcG9zc2libGUgaWYgcmVuZGVyaW5nIGhhcHBlbnMgb24gZGVtYW5kLi4uXG5cdFx0XHRpZiAodGhpcy5hbmltYXRpb25TdGF0ZSA9PT0gQW5pbWF0aW9uU3RhdGUuU1RBUlQpIHtcblx0XHRcdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLkFDVElWRTtcblx0XHRcdFx0dGhpcy5pbnZhbGlkYXRlKCk7XG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMuYW5pbWF0aW9uU3RhdGUgPT09IEFuaW1hdGlvblN0YXRlLkFDVElWRSkge1xuXHRcdFx0XHRjb25zdCBbeyBtYXhEdXJhdGlvbiwgaW50ZXJwb2xhdGVGdW5jIH0sIGNhbWVyYSwgY29udHJvbHMsIGludmFsaWRhdGVdID0gW1xuXHRcdFx0XHRcdHRoaXMub3B0aW9ucygpLFxuXHRcdFx0XHRcdHRoaXMuY2FtZXJhKCksXG5cdFx0XHRcdFx0dGhpcy5jb250cm9scygpLFxuXHRcdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHRdO1xuXHRcdFx0XHR0aGlzLnQgKz0gZGVsdGEgLyBtYXhEdXJhdGlvbjtcblxuXHRcdFx0XHRpZiAodGhpcy50ID49IDEpIHtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtUG9zICYmIGNhbWVyYS5wb3NpdGlvbi5jb3B5KHRoaXMuZ29hbC5jYW1Qb3MpO1xuXHRcdFx0XHRcdHRoaXMuZ29hbC5jYW1Sb3QgJiYgY2FtZXJhLnF1YXRlcm5pb24uY29weSh0aGlzLmdvYWwuY2FtUm90KTtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtVXAgJiYgY2FtZXJhLnVwLmNvcHkodGhpcy5nb2FsLmNhbVVwKTtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtWm9vbSAmJiBpcy5vcnRob2dyYXBoaWNDYW1lcmEoY2FtZXJhKSAmJiAoY2FtZXJhLnpvb20gPSB0aGlzLmdvYWwuY2FtWm9vbSk7XG5cblx0XHRcdFx0XHRjYW1lcmEudXBkYXRlTWF0cml4V29ybGQoKTtcblx0XHRcdFx0XHRjYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuXG5cdFx0XHRcdFx0aWYgKGNvbnRyb2xzICYmIHRoaXMuZ29hbC50YXJnZXQpIHtcblx0XHRcdFx0XHRcdGNvbnRyb2xzLnRhcmdldC5jb3B5KHRoaXMuZ29hbC50YXJnZXQpO1xuXHRcdFx0XHRcdFx0Y29udHJvbHMudXBkYXRlKCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLk5PTkU7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Y29uc3QgayA9IGludGVycG9sYXRlRnVuYyh0aGlzLnQpO1xuXG5cdFx0XHRcdFx0dGhpcy5nb2FsLmNhbVBvcyAmJiBjYW1lcmEucG9zaXRpb24ubGVycFZlY3RvcnModGhpcy5vcmlnaW4uY2FtUG9zLCB0aGlzLmdvYWwuY2FtUG9zLCBrKTtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtUm90ICYmIGNhbWVyYS5xdWF0ZXJuaW9uLnNsZXJwUXVhdGVybmlvbnModGhpcy5vcmlnaW4uY2FtUm90LCB0aGlzLmdvYWwuY2FtUm90LCBrKTtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtVXAgJiYgY2FtZXJhLnVwLnNldCgwLCAxLCAwKS5hcHBseVF1YXRlcm5pb24oY2FtZXJhLnF1YXRlcm5pb24pO1xuXHRcdFx0XHRcdHRoaXMuZ29hbC5jYW1ab29tICYmXG5cdFx0XHRcdFx0XHRpcy5vcnRob2dyYXBoaWNDYW1lcmEoY2FtZXJhKSAmJlxuXHRcdFx0XHRcdFx0KGNhbWVyYS56b29tID0gKDEgLSBrKSAqIHRoaXMub3JpZ2luLmNhbVpvb20gKyBrICogdGhpcy5nb2FsLmNhbVpvb20pO1xuXG5cdFx0XHRcdFx0Y2FtZXJhLnVwZGF0ZU1hdHJpeFdvcmxkKCk7XG5cdFx0XHRcdFx0Y2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdGdldFNpemUoKSB7XG5cdFx0Y29uc3QgW2NhbWVyYSwgeyBtYXJnaW4gfV0gPSBbdW50cmFja2VkKHRoaXMuY2FtZXJhKSwgdW50cmFja2VkKHRoaXMub3B0aW9ucyldO1xuXG5cdFx0Y29uc3QgYm94U2l6ZSA9IHRoaXMuYm94LmdldFNpemUobmV3IFZlY3RvcjMoKSk7XG5cdFx0Y29uc3QgY2VudGVyID0gdGhpcy5ib3guZ2V0Q2VudGVyKG5ldyBWZWN0b3IzKCkpO1xuXHRcdGNvbnN0IG1heFNpemUgPSBNYXRoLm1heChib3hTaXplLngsIGJveFNpemUueSwgYm94U2l6ZS56KTtcblx0XHRjb25zdCBmaXRIZWlnaHREaXN0YW5jZSA9IGlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpXG5cdFx0XHQ/IG1heFNpemUgKiA0XG5cdFx0XHQ6IG1heFNpemUgLyAoMiAqIE1hdGguYXRhbigoTWF0aC5QSSAqIGNhbWVyYS5mb3YpIC8gMzYwKSk7XG5cdFx0Y29uc3QgZml0V2lkdGhEaXN0YW5jZSA9IGlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpID8gbWF4U2l6ZSAqIDQgOiBmaXRIZWlnaHREaXN0YW5jZSAvIGNhbWVyYS5hc3BlY3Q7XG5cdFx0Y29uc3QgZGlzdGFuY2UgPSBtYXJnaW4gKiBNYXRoLm1heChmaXRIZWlnaHREaXN0YW5jZSwgZml0V2lkdGhEaXN0YW5jZSk7XG5cblx0XHRyZXR1cm4geyBib3g6IHRoaXMuYm94LCBzaXplOiBib3hTaXplLCBjZW50ZXIsIGRpc3RhbmNlIH07XG5cdH1cblxuXHRyZWZyZXNoKG9iamVjdD86IE9iamVjdDNEIHwgQm94Mykge1xuXHRcdGNvbnN0IFtncm91cCwgY2FtZXJhXSA9IFt1bnRyYWNrZWQodGhpcy5ncm91cFJlZikubmF0aXZlRWxlbWVudCwgdW50cmFja2VkKHRoaXMuY2FtZXJhKV07XG5cblx0XHRpZiAoaXNCb3gzKG9iamVjdCkpIHRoaXMuYm94LmNvcHkob2JqZWN0KTtcblx0XHRlbHNlIHtcblx0XHRcdGNvbnN0IHRhcmdldCA9IG9iamVjdCB8fCBncm91cDtcblx0XHRcdGlmICghdGFyZ2V0KSByZXR1cm4gdGhpcztcblx0XHRcdHRhcmdldC51cGRhdGVXb3JsZE1hdHJpeCh0cnVlLCB0cnVlKTtcblx0XHRcdHRoaXMuYm94LnNldEZyb21PYmplY3QodGFyZ2V0KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuYm94LmlzRW1wdHkoKSkge1xuXHRcdFx0Y29uc3QgbWF4ID0gY2FtZXJhLnBvc2l0aW9uLmxlbmd0aCgpIHx8IDEwO1xuXHRcdFx0dGhpcy5ib3guc2V0RnJvbUNlbnRlckFuZFNpemUobmV3IFZlY3RvcjMoKSwgbmV3IFZlY3RvcjMobWF4LCBtYXgsIG1heCkpO1xuXHRcdH1cblxuXHRcdHRoaXMub3JpZ2luLmNhbVBvcy5jb3B5KGNhbWVyYS5wb3NpdGlvbik7XG5cdFx0dGhpcy5vcmlnaW4uY2FtUm90LmNvcHkoY2FtZXJhLnF1YXRlcm5pb24pO1xuXHRcdGlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpICYmICh0aGlzLm9yaWdpbi5jYW1ab29tID0gY2FtZXJhLnpvb20pO1xuXG5cdFx0dGhpcy5nb2FsLmNhbVBvcyA9IHVuZGVmaW5lZDtcblx0XHR0aGlzLmdvYWwuY2FtUm90ID0gdW5kZWZpbmVkO1xuXHRcdHRoaXMuZ29hbC5jYW1ab29tID0gdW5kZWZpbmVkO1xuXHRcdHRoaXMuZ29hbC5jYW1VcCA9IHVuZGVmaW5lZDtcblx0XHR0aGlzLmdvYWwudGFyZ2V0ID0gdW5kZWZpbmVkO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRyZXNldCgpIHtcblx0XHRjb25zdCBbY2FtZXJhXSA9IFt1bnRyYWNrZWQodGhpcy5jYW1lcmEpXTtcblx0XHRjb25zdCB7IGNlbnRlciwgZGlzdGFuY2UgfSA9IHRoaXMuZ2V0U2l6ZSgpO1xuXG5cdFx0Y29uc3QgZGlyZWN0aW9uID0gY2FtZXJhLnBvc2l0aW9uLmNsb25lKCkuc3ViKGNlbnRlcikubm9ybWFsaXplKCk7XG5cdFx0dGhpcy5nb2FsLmNhbVBvcyA9IGNlbnRlci5jbG9uZSgpLmFkZFNjYWxlZFZlY3RvcihkaXJlY3Rpb24sIGRpc3RhbmNlKTtcblx0XHR0aGlzLmdvYWwudGFyZ2V0ID0gY2VudGVyLmNsb25lKCk7XG5cdFx0Y29uc3QgbUNhbVJvdCA9IG5ldyBNYXRyaXg0KCkubG9va0F0KHRoaXMuZ29hbC5jYW1Qb3MsIHRoaXMuZ29hbC50YXJnZXQsIGNhbWVyYS51cCk7XG5cdFx0dGhpcy5nb2FsLmNhbVJvdCA9IG5ldyBRdWF0ZXJuaW9uKCkuc2V0RnJvbVJvdGF0aW9uTWF0cml4KG1DYW1Sb3QpO1xuXG5cdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLlNUQVJUO1xuXHRcdHRoaXMudCA9IDA7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdG1vdmVUbyhwb3NpdGlvbjogVmVjdG9yMyB8IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSkge1xuXHRcdHRoaXMuZ29hbC5jYW1Qb3MgPSBBcnJheS5pc0FycmF5KHBvc2l0aW9uKSA/IG5ldyBWZWN0b3IzKC4uLnBvc2l0aW9uKSA6IHBvc2l0aW9uLmNsb25lKCk7XG5cblx0XHR0aGlzLmFuaW1hdGlvblN0YXRlID0gQW5pbWF0aW9uU3RhdGUuU1RBUlQ7XG5cdFx0dGhpcy50ID0gMDtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0bG9va0F0KHsgdGFyZ2V0LCB1cCB9OiB7IHRhcmdldDogVmVjdG9yMyB8IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTsgdXA/OiBWZWN0b3IzIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXJdIH0pIHtcblx0XHRjb25zdCBbY2FtZXJhXSA9IFt1bnRyYWNrZWQodGhpcy5jYW1lcmEpXTtcblxuXHRcdHRoaXMuZ29hbC50YXJnZXQgPSBBcnJheS5pc0FycmF5KHRhcmdldCkgPyBuZXcgVmVjdG9yMyguLi50YXJnZXQpIDogdGFyZ2V0LmNsb25lKCk7XG5cdFx0aWYgKHVwKSB7XG5cdFx0XHR0aGlzLmdvYWwuY2FtVXAgPSBBcnJheS5pc0FycmF5KHVwKSA/IG5ldyBWZWN0b3IzKC4uLnVwKSA6IHVwLmNsb25lKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZ29hbC5jYW1VcCA9IGNhbWVyYS51cC5jbG9uZSgpO1xuXHRcdH1cblx0XHRjb25zdCBtQ2FtUm90ID0gbmV3IE1hdHJpeDQoKS5sb29rQXQodGhpcy5nb2FsLmNhbVBvcyB8fCBjYW1lcmEucG9zaXRpb24sIHRoaXMuZ29hbC50YXJnZXQsIHRoaXMuZ29hbC5jYW1VcCk7XG5cdFx0dGhpcy5nb2FsLmNhbVJvdCA9IG5ldyBRdWF0ZXJuaW9uKCkuc2V0RnJvbVJvdGF0aW9uTWF0cml4KG1DYW1Sb3QpO1xuXG5cdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLlNUQVJUO1xuXHRcdHRoaXMudCA9IDA7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGZpdCgpIHtcblx0XHRjb25zdCBbY2FtZXJhLCBjb250cm9scywgeyBtYXJnaW4gfV0gPSBbdW50cmFja2VkKHRoaXMuY2FtZXJhKSwgdW50cmFja2VkKHRoaXMuY29udHJvbHMpLCB1bnRyYWNrZWQodGhpcy5vcHRpb25zKV07XG5cblx0XHRpZiAoIWlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpKSB7XG5cdFx0XHQvLyBGb3Igbm9uLW9ydGhvZ3JhcGhpYyBjYW1lcmFzLCBmaXQgc2hvdWxkIGJlaGF2ZSBleGFjdGx5IGxpa2UgcmVzZXRcblx0XHRcdHJldHVybiB0aGlzLnJlc2V0KCk7XG5cdFx0fVxuXG5cdFx0Ly8gRm9yIG9ydGhvZ3JhcGhpYyBjYW1lcmFzLCBmaXQgc2hvdWxkIG9ubHkgbW9kaWZ5IHRoZSB6b29tIHZhbHVlXG5cdFx0bGV0IG1heEhlaWdodCA9IDA7XG5cdFx0bGV0IG1heFdpZHRoID0gMDtcblx0XHRjb25zdCB2ZXJ0aWNlcyA9IFtcblx0XHRcdG5ldyBWZWN0b3IzKHRoaXMuYm94Lm1pbi54LCB0aGlzLmJveC5taW4ueSwgdGhpcy5ib3gubWluLnopLFxuXHRcdFx0bmV3IFZlY3RvcjModGhpcy5ib3gubWluLngsIHRoaXMuYm94Lm1heC55LCB0aGlzLmJveC5taW4ueiksXG5cdFx0XHRuZXcgVmVjdG9yMyh0aGlzLmJveC5taW4ueCwgdGhpcy5ib3gubWluLnksIHRoaXMuYm94Lm1heC56KSxcblx0XHRcdG5ldyBWZWN0b3IzKHRoaXMuYm94Lm1pbi54LCB0aGlzLmJveC5tYXgueSwgdGhpcy5ib3gubWF4LnopLFxuXHRcdFx0bmV3IFZlY3RvcjModGhpcy5ib3gubWF4LngsIHRoaXMuYm94Lm1heC55LCB0aGlzLmJveC5tYXgueiksXG5cdFx0XHRuZXcgVmVjdG9yMyh0aGlzLmJveC5tYXgueCwgdGhpcy5ib3gubWF4LnksIHRoaXMuYm94Lm1pbi56KSxcblx0XHRcdG5ldyBWZWN0b3IzKHRoaXMuYm94Lm1heC54LCB0aGlzLmJveC5taW4ueSwgdGhpcy5ib3gubWF4LnopLFxuXHRcdFx0bmV3IFZlY3RvcjModGhpcy5ib3gubWF4LngsIHRoaXMuYm94Lm1pbi55LCB0aGlzLmJveC5taW4ueiksXG5cdFx0XTtcblxuXHRcdC8vIFRyYW5zZm9ybSB0aGUgY2VudGVyIGFuZCBlYWNoIGNvcm5lciB0byBjYW1lcmEgc3BhY2Vcblx0XHRjb25zdCBwb3MgPSB0aGlzLmdvYWwuY2FtUG9zIHx8IGNhbWVyYS5wb3NpdGlvbjtcblx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLmdvYWwudGFyZ2V0IHx8IGNvbnRyb2xzLnRhcmdldDtcblx0XHRjb25zdCB1cCA9IHRoaXMuZ29hbC5jYW1VcCB8fCBjYW1lcmEudXA7XG5cdFx0Y29uc3QgbUNhbVdJbnYgPSB0YXJnZXRcblx0XHRcdD8gbmV3IE1hdHJpeDQoKS5sb29rQXQocG9zLCB0YXJnZXQsIHVwKS5zZXRQb3NpdGlvbihwb3MpLmludmVydCgpXG5cdFx0XHQ6IGNhbWVyYS5tYXRyaXhXb3JsZEludmVyc2U7XG5cdFx0Zm9yIChjb25zdCB2IG9mIHZlcnRpY2VzKSB7XG5cdFx0XHR2LmFwcGx5TWF0cml4NChtQ2FtV0ludik7XG5cdFx0XHRtYXhIZWlnaHQgPSBNYXRoLm1heChtYXhIZWlnaHQsIE1hdGguYWJzKHYueSkpO1xuXHRcdFx0bWF4V2lkdGggPSBNYXRoLm1heChtYXhXaWR0aCwgTWF0aC5hYnModi54KSk7XG5cdFx0fVxuXHRcdG1heEhlaWdodCAqPSAyO1xuXHRcdG1heFdpZHRoICo9IDI7XG5cdFx0Y29uc3Qgem9vbUZvckhlaWdodCA9IChjYW1lcmEudG9wIC0gY2FtZXJhLmJvdHRvbSkgLyBtYXhIZWlnaHQ7XG5cdFx0Y29uc3Qgem9vbUZvcldpZHRoID0gKGNhbWVyYS5yaWdodCAtIGNhbWVyYS5sZWZ0KSAvIG1heFdpZHRoO1xuXG5cdFx0dGhpcy5nb2FsLmNhbVpvb20gPSBNYXRoLm1pbih6b29tRm9ySGVpZ2h0LCB6b29tRm9yV2lkdGgpIC8gbWFyZ2luO1xuXG5cdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLlNUQVJUO1xuXHRcdHRoaXMudCA9IDA7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGNsaXAoKSB7XG5cdFx0Y29uc3QgW2NhbWVyYSwgY29udHJvbHMsIGludmFsaWRhdGVdID0gW1xuXHRcdFx0dW50cmFja2VkKHRoaXMuY2FtZXJhKSxcblx0XHRcdHVudHJhY2tlZCh0aGlzLmNvbnRyb2xzKSxcblx0XHRcdHVudHJhY2tlZCh0aGlzLmludmFsaWRhdGUpLFxuXHRcdF07XG5cdFx0Y29uc3QgeyBkaXN0YW5jZSB9ID0gdGhpcy5nZXRTaXplKCk7XG5cblx0XHRjYW1lcmEubmVhciA9IGRpc3RhbmNlIC8gMTAwO1xuXHRcdGNhbWVyYS5mYXIgPSBkaXN0YW5jZSAqIDEwMDtcblx0XHRjYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuXG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5tYXhEaXN0YW5jZSA9IGRpc3RhbmNlICogMTA7XG5cdFx0XHRjb250cm9scy51cGRhdGUoKTtcblx0XHR9XG5cblx0XHRpbnZhbGlkYXRlKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuIl19
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9ib3VuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFFTixLQUFLLEVBRUwsU0FBUyxFQUNULFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQVksSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQVksVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUFXNUUsSUFBSyxjQUlKO0FBSkQsV0FBSyxjQUFjO0lBQ2xCLG1EQUFRLENBQUE7SUFDUixxREFBUyxDQUFBO0lBQ1QsdURBQVUsQ0FBQTtBQUNYLENBQUMsRUFKSSxjQUFjLEtBQWQsY0FBYyxRQUlsQjtBQUVELFNBQVMsTUFBTSxDQUFDLEdBQVk7SUFDM0IsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFLLEdBQVksQ0FBQyxNQUFNLENBQUM7QUFDdEMsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsQ0FBUztJQUN4QyxvREFBb0Q7SUFDcEQsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFXRCxNQUFNLGNBQWMsR0FBc0I7SUFDekMsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLEdBQUc7SUFDWCxlQUFlLEVBQUUsc0JBQXNCO0lBQ3ZDLElBQUksRUFBRSxL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QkFBb0IsQ0FBQyxJQUFJLE9BQU8sRUFBRSxFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELEtBQUs7UUFDSixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFNUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUss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QyxDQUFDLENBQUM7UUFFbkgsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3BDLHFFQUFxRTtZQUNyRSxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRUQsa0VBQWtFO1FBQ2xFLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsTUFBTSxRQUFRLEdBQUc7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMs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QztRQUVwQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDN0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRWhDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLENBQUMsV0FBVyxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDckMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFFRCxVQUFVLEVBQUUsQ0FBQztRQUViLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzsrR0FwUlcsVUFBVTttR0FBVixVQUFVLG9VQVJaOzs7O0VBSVQ7OzRGQUlXLFVBQVU7a0JBWHRCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7RUFJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0U2lnbmFsLFxuXHR1bnRyYWNrZWQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUsIGlzLCBOZ3RHcm91cCwgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQm94MywgR3JvdXAsIE1hdHJpeDQsIE9iamVjdDNELCBRdWF0ZXJuaW9uLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuXG5pbnRlcmZhY2UgQ29udHJvbHNQcm90byB7XG5cdHVwZGF0ZSgpOiB2b2lkO1xuXG5cdHRhcmdldDogVmVjdG9yMztcblx0bWF4RGlzdGFuY2U6IG51bWJlcjtcblx0YWRkRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbn1cblxuZW51bSBBbmltYXRpb25TdGF0ZSB7XG5cdE5PTkUgPSAwLFxuXHRTVEFSVCA9IDEsXG5cdEFDVElWRSA9IDIsXG59XG5cbmZ1bmN0aW9uIGlzQm94MyhkZWY6IHVua25vd24pOiBkZWYgaXMgQm94MyB7XG5cdHJldHVybiAhIWRlZiAmJiAoZGVmIGFzIEJveDMpLmlzQm94Mztcbn1cblxuZnVuY3Rpb24gaW50ZXJwb2xhdGVGdW5jRGVmYXVsdCh0OiBudW1iZXIpIHtcblx0Ly8gSW1pdGF0ZXMgdGhlIHByZXZpb3VzbHkgdXNlZCBUSFJFRS5NYXRoVXRpbHMuZGFtcFxuXHRyZXR1cm4gMSAtIE1hdGguZXhwKC01ICogdCkgKyAwLjAwNyAqIHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0JvdW5kc09wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPE5ndEdyb3VwPiB7XG5cdG1heER1cmF0aW9uOiBudW1iZXI7XG5cdG1hcmdpbjogbnVtYmVyO1xuXHRvYnNlcnZlOiBib29sZWFuO1xuXHRmaXQ6IGJvb2xlYW47XG5cdGNsaXA6IGJvb2xlYW47XG5cdGludGVycG9sYXRlRnVuYzogKHQ6IG51bWJlcikgPT4gbnVtYmVyO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c0JvdW5kc09wdGlvbnMgPSB7XG5cdG1heER1cmF0aW9uOiAxLjAsXG5cdG1hcmdpbjogMS4yLFxuXHRpbnRlcnBvbGF0ZUZ1bmM6IGludGVycG9sYXRlRnVuY0RlZmF1bHQsXG5cdGNsaXA6IGZhbHNlLFxuXHRmaXQ6IGZhbHNlLFxuXHRvYnNlcnZlOiBmYWxzZSxcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtYm91bmRzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNncm91cD5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNCb3VuZHMge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cblx0Z3JvdXBSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdncm91cCcpO1xuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGNhbWVyYSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjYW1lcmEnKTtcblx0cHJpdmF0ZSBpbnZhbGlkYXRlID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2ludmFsaWRhdGUnKTtcblx0cHJpdmF0ZSBzaXplID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3NpemUnKTtcblx0cHJpdmF0ZSBjb250cm9scyA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjb250cm9scycpIGFzIHVua25vd24gYXMgU2lnbmFsPENvbnRyb2xzUHJvdG8+O1xuXG5cdHByaXZhdGUgY2xpcE9wdGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAnY2xpcCcpO1xuXHRwcml2YXRlIGZpdE9wdGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAnZml0Jyk7XG5cdHByaXZhdGUgb2JzZXJ2ZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnb2JzZXJ2ZScpO1xuXG5cdHByaXZhdGUgb3JpZ2luID0ge1xuXHRcdGNhbVBvczogbmV3IFZlY3RvcjMoKSxcblx0XHRjYW1Sb3Q6IG5ldyBRdWF0ZXJuaW9uKCksXG5cdFx0Y2FtWm9vbTogMSxcblx0fTtcblx0cHJpdmF0ZSBnb2FsID0ge1xuXHRcdGNhbVBvczogdW5kZWZpbmVkIGFzIFZlY3RvcjMgfCB1bmRlZmluZWQsXG5cdFx0Y2FtUm90OiB1bmRlZmluZWQgYXMgUXVhdGVybmlvbiB8IHVuZGVmaW5lZCxcblx0XHRjYW1ab29tOiB1bmRlZmluZWQgYXMgbnVtYmVyIHwgdW5kZWZpbmVkLFxuXHRcdGNhbVVwOiB1bmRlZmluZWQgYXMgVmVjdG9yMyB8IHVuZGVmaW5lZCxcblx0XHR0YXJnZXQ6IHVuZGVmaW5lZCBhcyBWZWN0b3IzIHwgdW5kZWZpbmVkLFxuXHR9O1xuXHRwcml2YXRlIGFuaW1hdGlvblN0YXRlID0gQW5pbWF0aW9uU3RhdGUuTk9ORTtcblxuXHQvLyByZXByZXNlbnQgYW5pbWF0aW9uIHN0YXRlIGZyb20gMCB0byAxXG5cdHByaXZhdGUgdCA9IDA7XG5cdHByaXZhdGUgYm94ID0gbmV3IEJveDMoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRleHRlbmQoeyBHcm91cCB9KTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBbY29udHJvbHMsIGNhbWVyYV0gPSBbdGhpcy5jb250cm9scygpLCB1bnRyYWNrZWQodGhpcy5jYW1lcmEpXTtcblx0XHRcdGlmICghY29udHJvbHMpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG5cdFx0XHRcdGlmIChjb250cm9scyAmJiB0aGlzLmdvYWwudGFyZ2V0ICYmIHRoaXMuYW5pbWF0aW9uU3RhdGUgIT09IEFuaW1hdGlvblN0YXRlLk5PTkUpIHtcblx0XHRcdFx0XHRjb25zdCBmcm9udCA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeENvbHVtbihjYW1lcmEubWF0cml4LCAyKTtcblx0XHRcdFx0XHRjb25zdCBkMCA9IHRoaXMub3JpZ2luLmNhbVBvcy5kaXN0YW5jZVRvKGNvbnRyb2xzLnRhcmdldCk7XG5cdFx0XHRcdFx0Y29uc3QgZDEgPSAodGhpcy5nb2FsLmNhbVBvcyB8fCB0aGlzLm9yaWdpbi5jYW1Qb3MpLmRpc3RhbmNlVG8odGhpcy5nb2FsLnRhcmdldCk7XG5cdFx0XHRcdFx0Y29uc3QgZCA9ICgxIC0gdGhpcy50KSAqIGQwICsgdGhpcy50ICogZDE7XG5cblx0XHRcdFx0XHRjb250cm9scy50YXJnZXQuY29weShjYW1lcmEucG9zaXRpb24pLmFkZFNjYWxlZFZlY3Rvcihmcm9udCwgLWQpO1xuXHRcdFx0XHRcdGNvbnRyb2xzLnVwZGF0ZSgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLk5PTkU7XG5cdFx0XHR9O1xuXG5cdFx0XHRjb250cm9scy5hZGRFdmVudExpc3RlbmVyKCdzdGFydCcsIGNhbGxiYWNrKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjb250cm9scy5yZW1vdmVFdmVudExpc3RlbmVyKCdzdGFydCcsIGNhbGxiYWNrKSk7XG5cdFx0fSk7XG5cblx0XHRsZXQgY291bnQgPSAwO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbY2xpcCwgZml0LCBvYnNlcnZlXSA9IFtcblx0XHRcdFx0dGhpcy5jbGlwT3B0aW9uKCksXG5cdFx0XHRcdHRoaXMuZml0T3B0aW9uKCksXG5cdFx0XHRcdHRoaXMub2JzZXJ2ZSgpLFxuXHRcdFx0XHR0aGlzLnNpemUoKSxcblx0XHRcdFx0dGhpcy5jYW1lcmEoKSxcblx0XHRcdFx0dGhpcy5jb250cm9scygpLFxuXHRcdFx0XTtcblx0XHRcdGlmIChvYnNlcnZlIHx8IGNvdW50KysgPT09IDApIHtcblx0XHRcdFx0dGhpcy5yZWZyZXNoKCk7XG5cdFx0XHRcdGlmIChmaXQpIHRoaXMucmVzZXQoKS5maXQoKTtcblx0XHRcdFx0aWYgKGNsaXApIHRoaXMuY2xpcCgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGRlbHRhIH0pID0+IHtcblx0XHRcdC8vIFRoaXMgW2FkZGl0aW9uYWwgYW5pbWF0aW9uIHN0ZXAgU1RBUlRdIGlzIG5lZWRlZCB0byBndWFyYW50ZWUgdGhhdCBkZWx0YSB1c2VkIGluIGFuaW1hdGlvbiBpc24ndCBhYnN1cmRseSBoaWdoICgyLTMgc2Vjb25kcykgd2hpY2ggaXMgYWN0dWFsbHkgcG9zc2libGUgaWYgcmVuZGVyaW5nIGhhcHBlbnMgb24gZGVtYW5kLi4uXG5cdFx0XHRpZiAodGhpcy5hbmltYXRpb25TdGF0ZSA9PT0gQW5pbWF0aW9uU3RhdGUuU1RBUlQpIHtcblx0XHRcdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLkFDVElWRTtcblx0XHRcdFx0dGhpcy5pbnZhbGlkYXRlKCk7XG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMuYW5pbWF0aW9uU3RhdGUgPT09IEFuaW1hdGlvblN0YXRlLkFDVElWRSkge1xuXHRcdFx0XHRjb25zdCBbeyBtYXhEdXJhdGlvbiwgaW50ZXJwb2xhdGVGdW5jIH0sIGNhbWVyYSwgY29udHJvbHMsIGludmFsaWRhdGVdID0gW1xuXHRcdFx0XHRcdHRoaXMub3B0aW9ucygpLFxuXHRcdFx0XHRcdHRoaXMuY2FtZXJhKCksXG5cdFx0XHRcdFx0dGhpcy5jb250cm9scygpLFxuXHRcdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHRdO1xuXHRcdFx0XHR0aGlzLnQgKz0gZGVsdGEgLyBtYXhEdXJhdGlvbjtcblxuXHRcdFx0XHRpZiAodGhpcy50ID49IDEpIHtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtUG9zICYmIGNhbWVyYS5wb3NpdGlvbi5jb3B5KHRoaXMuZ29hbC5jYW1Qb3MpO1xuXHRcdFx0XHRcdHRoaXMuZ29hbC5jYW1Sb3QgJiYgY2FtZXJhLnF1YXRlcm5pb24uY29weSh0aGlzLmdvYWwuY2FtUm90KTtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtVXAgJiYgY2FtZXJhLnVwLmNvcHkodGhpcy5nb2FsLmNhbVVwKTtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtWm9vbSAmJiBpcy5vcnRob2dyYXBoaWNDYW1lcmEoY2FtZXJhKSAmJiAoY2FtZXJhLnpvb20gPSB0aGlzLmdvYWwuY2FtWm9vbSk7XG5cblx0XHRcdFx0XHRjYW1lcmEudXBkYXRlTWF0cml4V29ybGQoKTtcblx0XHRcdFx0XHRjYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuXG5cdFx0XHRcdFx0aWYgKGNvbnRyb2xzICYmIHRoaXMuZ29hbC50YXJnZXQpIHtcblx0XHRcdFx0XHRcdGNvbnRyb2xzLnRhcmdldC5jb3B5KHRoaXMuZ29hbC50YXJnZXQpO1xuXHRcdFx0XHRcdFx0Y29udHJvbHMudXBkYXRlKCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLk5PTkU7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Y29uc3QgayA9IGludGVycG9sYXRlRnVuYyh0aGlzLnQpO1xuXG5cdFx0XHRcdFx0dGhpcy5nb2FsLmNhbVBvcyAmJiBjYW1lcmEucG9zaXRpb24ubGVycFZlY3RvcnModGhpcy5vcmlnaW4uY2FtUG9zLCB0aGlzLmdvYWwuY2FtUG9zLCBrKTtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtUm90ICYmIGNhbWVyYS5xdWF0ZXJuaW9uLnNsZXJwUXVhdGVybmlvbnModGhpcy5vcmlnaW4uY2FtUm90LCB0aGlzLmdvYWwuY2FtUm90LCBrKTtcblx0XHRcdFx0XHR0aGlzLmdvYWwuY2FtVXAgJiYgY2FtZXJhLnVwLnNldCgwLCAxLCAwKS5hcHBseVF1YXRlcm5pb24oY2FtZXJhLnF1YXRlcm5pb24pO1xuXHRcdFx0XHRcdHRoaXMuZ29hbC5jYW1ab29tICYmXG5cdFx0XHRcdFx0XHRpcy5vcnRob2dyYXBoaWNDYW1lcmEoY2FtZXJhKSAmJlxuXHRcdFx0XHRcdFx0KGNhbWVyYS56b29tID0gKDEgLSBrKSAqIHRoaXMub3JpZ2luLmNhbVpvb20gKyBrICogdGhpcy5nb2FsLmNhbVpvb20pO1xuXG5cdFx0XHRcdFx0Y2FtZXJhLnVwZGF0ZU1hdHJpeFdvcmxkKCk7XG5cdFx0XHRcdFx0Y2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdGdldFNpemUoKSB7XG5cdFx0Y29uc3QgW2NhbWVyYSwgeyBtYXJnaW4gfV0gPSBbdW50cmFja2VkKHRoaXMuY2FtZXJhKSwgdW50cmFja2VkKHRoaXMub3B0aW9ucyldO1xuXG5cdFx0Y29uc3QgYm94U2l6ZSA9IHRoaXMuYm94LmdldFNpemUobmV3IFZlY3RvcjMoKSk7XG5cdFx0Y29uc3QgY2VudGVyID0gdGhpcy5ib3guZ2V0Q2VudGVyKG5ldyBWZWN0b3IzKCkpO1xuXHRcdGNvbnN0IG1heFNpemUgPSBNYXRoLm1heChib3hTaXplLngsIGJveFNpemUueSwgYm94U2l6ZS56KTtcblx0XHRjb25zdCBmaXRIZWlnaHREaXN0YW5jZSA9IGlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpXG5cdFx0XHQ/IG1heFNpemUgKiA0XG5cdFx0XHQ6IG1heFNpemUgLyAoMiAqIE1hdGguYXRhbigoTWF0aC5QSSAqIGNhbWVyYS5mb3YpIC8gMzYwKSk7XG5cdFx0Y29uc3QgZml0V2lkdGhEaXN0YW5jZSA9IGlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpID8gbWF4U2l6ZSAqIDQgOiBmaXRIZWlnaHREaXN0YW5jZSAvIGNhbWVyYS5hc3BlY3Q7XG5cdFx0Y29uc3QgZGlzdGFuY2UgPSBtYXJnaW4gKiBNYXRoLm1heChmaXRIZWlnaHREaXN0YW5jZSwgZml0V2lkdGhEaXN0YW5jZSk7XG5cblx0XHRyZXR1cm4geyBib3g6IHRoaXMuYm94LCBzaXplOiBib3hTaXplLCBjZW50ZXIsIGRpc3RhbmNlIH07XG5cdH1cblxuXHRyZWZyZXNoKG9iamVjdD86IE9iamVjdDNEIHwgQm94Mykge1xuXHRcdGNvbnN0IFtncm91cCwgY2FtZXJhXSA9IFt1bnRyYWNrZWQodGhpcy5ncm91cFJlZikubmF0aXZlRWxlbWVudCwgdW50cmFja2VkKHRoaXMuY2FtZXJhKV07XG5cblx0XHRpZiAoaXNCb3gzKG9iamVjdCkpIHRoaXMuYm94LmNvcHkob2JqZWN0KTtcblx0XHRlbHNlIHtcblx0XHRcdGNvbnN0IHRhcmdldCA9IG9iamVjdCB8fCBncm91cDtcblx0XHRcdGlmICghdGFyZ2V0KSByZXR1cm4gdGhpcztcblx0XHRcdHRhcmdldC51cGRhdGVXb3JsZE1hdHJpeCh0cnVlLCB0cnVlKTtcblx0XHRcdHRoaXMuYm94LnNldEZyb21PYmplY3QodGFyZ2V0KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuYm94LmlzRW1wdHkoKSkge1xuXHRcdFx0Y29uc3QgbWF4ID0gY2FtZXJhLnBvc2l0aW9uLmxlbmd0aCgpIHx8IDEwO1xuXHRcdFx0dGhpcy5ib3guc2V0RnJvbUNlbnRlckFuZFNpemUobmV3IFZlY3RvcjMoKSwgbmV3IFZlY3RvcjMobWF4LCBtYXgsIG1heCkpO1xuXHRcdH1cblxuXHRcdHRoaXMub3JpZ2luLmNhbVBvcy5jb3B5KGNhbWVyYS5wb3NpdGlvbik7XG5cdFx0dGhpcy5vcmlnaW4uY2FtUm90LmNvcHkoY2FtZXJhLnF1YXRlcm5pb24pO1xuXHRcdGlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpICYmICh0aGlzLm9yaWdpbi5jYW1ab29tID0gY2FtZXJhLnpvb20pO1xuXG5cdFx0dGhpcy5nb2FsLmNhbVBvcyA9IHVuZGVmaW5lZDtcblx0XHR0aGlzLmdvYWwuY2FtUm90ID0gdW5kZWZpbmVkO1xuXHRcdHRoaXMuZ29hbC5jYW1ab29tID0gdW5kZWZpbmVkO1xuXHRcdHRoaXMuZ29hbC5jYW1VcCA9IHVuZGVmaW5lZDtcblx0XHR0aGlzLmdvYWwudGFyZ2V0ID0gdW5kZWZpbmVkO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRyZXNldCgpIHtcblx0XHRjb25zdCBbY2FtZXJhXSA9IFt1bnRyYWNrZWQodGhpcy5jYW1lcmEpXTtcblx0XHRjb25zdCB7IGNlbnRlciwgZGlzdGFuY2UgfSA9IHRoaXMuZ2V0U2l6ZSgpO1xuXG5cdFx0Y29uc3QgZGlyZWN0aW9uID0gY2FtZXJhLnBvc2l0aW9uLmNsb25lKCkuc3ViKGNlbnRlcikubm9ybWFsaXplKCk7XG5cdFx0dGhpcy5nb2FsLmNhbVBvcyA9IGNlbnRlci5jbG9uZSgpLmFkZFNjYWxlZFZlY3RvcihkaXJlY3Rpb24sIGRpc3RhbmNlKTtcblx0XHR0aGlzLmdvYWwudGFyZ2V0ID0gY2VudGVyLmNsb25lKCk7XG5cdFx0Y29uc3QgbUNhbVJvdCA9IG5ldyBNYXRyaXg0KCkubG9va0F0KHRoaXMuZ29hbC5jYW1Qb3MsIHRoaXMuZ29hbC50YXJnZXQsIGNhbWVyYS51cCk7XG5cdFx0dGhpcy5nb2FsLmNhbVJvdCA9IG5ldyBRdWF0ZXJuaW9uKCkuc2V0RnJvbVJvdGF0aW9uTWF0cml4KG1DYW1Sb3QpO1xuXG5cdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLlNUQVJUO1xuXHRcdHRoaXMudCA9IDA7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdG1vdmVUbyhwb3NpdGlvbjogVmVjdG9yMyB8IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSkge1xuXHRcdHRoaXMuZ29hbC5jYW1Qb3MgPSBBcnJheS5pc0FycmF5KHBvc2l0aW9uKSA/IG5ldyBWZWN0b3IzKC4uLnBvc2l0aW9uKSA6IHBvc2l0aW9uLmNsb25lKCk7XG5cblx0XHR0aGlzLmFuaW1hdGlvblN0YXRlID0gQW5pbWF0aW9uU3RhdGUuU1RBUlQ7XG5cdFx0dGhpcy50ID0gMDtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0bG9va0F0KHsgdGFyZ2V0LCB1cCB9OiB7IHRhcmdldDogVmVjdG9yMyB8IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTsgdXA/OiBWZWN0b3IzIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXJdIH0pIHtcblx0XHRjb25zdCBbY2FtZXJhXSA9IFt1bnRyYWNrZWQodGhpcy5jYW1lcmEpXTtcblxuXHRcdHRoaXMuZ29hbC50YXJnZXQgPSBBcnJheS5pc0FycmF5KHRhcmdldCkgPyBuZXcgVmVjdG9yMyguLi50YXJnZXQpIDogdGFyZ2V0LmNsb25lKCk7XG5cdFx0aWYgKHVwKSB7XG5cdFx0XHR0aGlzLmdvYWwuY2FtVXAgPSBBcnJheS5pc0FycmF5KHVwKSA/IG5ldyBWZWN0b3IzKC4uLnVwKSA6IHVwLmNsb25lKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZ29hbC5jYW1VcCA9IGNhbWVyYS51cC5jbG9uZSgpO1xuXHRcdH1cblx0XHRjb25zdCBtQ2FtUm90ID0gbmV3IE1hdHJpeDQoKS5sb29rQXQodGhpcy5nb2FsLmNhbVBvcyB8fCBjYW1lcmEucG9zaXRpb24sIHRoaXMuZ29hbC50YXJnZXQsIHRoaXMuZ29hbC5jYW1VcCk7XG5cdFx0dGhpcy5nb2FsLmNhbVJvdCA9IG5ldyBRdWF0ZXJuaW9uKCkuc2V0RnJvbVJvdGF0aW9uTWF0cml4KG1DYW1Sb3QpO1xuXG5cdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLlNUQVJUO1xuXHRcdHRoaXMudCA9IDA7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGZpdCgpIHtcblx0XHRjb25zdCBbY2FtZXJhLCBjb250cm9scywgeyBtYXJnaW4gfV0gPSBbdW50cmFja2VkKHRoaXMuY2FtZXJhKSwgdW50cmFja2VkKHRoaXMuY29udHJvbHMpLCB1bnRyYWNrZWQodGhpcy5vcHRpb25zKV07XG5cblx0XHRpZiAoIWlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpKSB7XG5cdFx0XHQvLyBGb3Igbm9uLW9ydGhvZ3JhcGhpYyBjYW1lcmFzLCBmaXQgc2hvdWxkIGJlaGF2ZSBleGFjdGx5IGxpa2UgcmVzZXRcblx0XHRcdHJldHVybiB0aGlzLnJlc2V0KCk7XG5cdFx0fVxuXG5cdFx0Ly8gRm9yIG9ydGhvZ3JhcGhpYyBjYW1lcmFzLCBmaXQgc2hvdWxkIG9ubHkgbW9kaWZ5IHRoZSB6b29tIHZhbHVlXG5cdFx0bGV0IG1heEhlaWdodCA9IDA7XG5cdFx0bGV0IG1heFdpZHRoID0gMDtcblx0XHRjb25zdCB2ZXJ0aWNlcyA9IFtcblx0XHRcdG5ldyBWZWN0b3IzKHRoaXMuYm94Lm1pbi54LCB0aGlzLmJveC5taW4ueSwgdGhpcy5ib3gubWluLnopLFxuXHRcdFx0bmV3IFZlY3RvcjModGhpcy5ib3gubWluLngsIHRoaXMuYm94Lm1heC55LCB0aGlzLmJveC5taW4ueiksXG5cdFx0XHRuZXcgVmVjdG9yMyh0aGlzLmJveC5taW4ueCwgdGhpcy5ib3gubWluLnksIHRoaXMuYm94Lm1heC56KSxcblx0XHRcdG5ldyBWZWN0b3IzKHRoaXMuYm94Lm1pbi54LCB0aGlzLmJveC5tYXgueSwgdGhpcy5ib3gubWF4LnopLFxuXHRcdFx0bmV3IFZlY3RvcjModGhpcy5ib3gubWF4LngsIHRoaXMuYm94Lm1heC55LCB0aGlzLmJveC5tYXgueiksXG5cdFx0XHRuZXcgVmVjdG9yMyh0aGlzLmJveC5tYXgueCwgdGhpcy5ib3gubWF4LnksIHRoaXMuYm94Lm1pbi56KSxcblx0XHRcdG5ldyBWZWN0b3IzKHRoaXMuYm94Lm1heC54LCB0aGlzLmJveC5taW4ueSwgdGhpcy5ib3gubWF4LnopLFxuXHRcdFx0bmV3IFZlY3RvcjModGhpcy5ib3gubWF4LngsIHRoaXMuYm94Lm1pbi55LCB0aGlzLmJveC5taW4ueiksXG5cdFx0XTtcblxuXHRcdC8vIFRyYW5zZm9ybSB0aGUgY2VudGVyIGFuZCBlYWNoIGNvcm5lciB0byBjYW1lcmEgc3BhY2Vcblx0XHRjb25zdCBwb3MgPSB0aGlzLmdvYWwuY2FtUG9zIHx8IGNhbWVyYS5wb3NpdGlvbjtcblx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLmdvYWwudGFyZ2V0IHx8IGNvbnRyb2xzLnRhcmdldDtcblx0XHRjb25zdCB1cCA9IHRoaXMuZ29hbC5jYW1VcCB8fCBjYW1lcmEudXA7XG5cdFx0Y29uc3QgbUNhbVdJbnYgPSB0YXJnZXRcblx0XHRcdD8gbmV3IE1hdHJpeDQoKS5sb29rQXQocG9zLCB0YXJnZXQsIHVwKS5zZXRQb3NpdGlvbihwb3MpLmludmVydCgpXG5cdFx0XHQ6IGNhbWVyYS5tYXRyaXhXb3JsZEludmVyc2U7XG5cdFx0Zm9yIChjb25zdCB2IG9mIHZlcnRpY2VzKSB7XG5cdFx0XHR2LmFwcGx5TWF0cml4NChtQ2FtV0ludik7XG5cdFx0XHRtYXhIZWlnaHQgPSBNYXRoLm1heChtYXhIZWlnaHQsIE1hdGguYWJzKHYueSkpO1xuXHRcdFx0bWF4V2lkdGggPSBNYXRoLm1heChtYXhXaWR0aCwgTWF0aC5hYnModi54KSk7XG5cdFx0fVxuXHRcdG1heEhlaWdodCAqPSAyO1xuXHRcdG1heFdpZHRoICo9IDI7XG5cdFx0Y29uc3Qgem9vbUZvckhlaWdodCA9IChjYW1lcmEudG9wIC0gY2FtZXJhLmJvdHRvbSkgLyBtYXhIZWlnaHQ7XG5cdFx0Y29uc3Qgem9vbUZvcldpZHRoID0gKGNhbWVyYS5yaWdodCAtIGNhbWVyYS5sZWZ0KSAvIG1heFdpZHRoO1xuXG5cdFx0dGhpcy5nb2FsLmNhbVpvb20gPSBNYXRoLm1pbih6b29tRm9ySGVpZ2h0LCB6b29tRm9yV2lkdGgpIC8gbWFyZ2luO1xuXG5cdFx0dGhpcy5hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvblN0YXRlLlNUQVJUO1xuXHRcdHRoaXMudCA9IDA7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGNsaXAoKSB7XG5cdFx0Y29uc3QgW2NhbWVyYSwgY29udHJvbHMsIGludmFsaWRhdGVdID0gW1xuXHRcdFx0dW50cmFja2VkKHRoaXMuY2FtZXJhKSxcblx0XHRcdHVudHJhY2tlZCh0aGlzLmNvbnRyb2xzKSxcblx0XHRcdHVudHJhY2tlZCh0aGlzLmludmFsaWRhdGUpLFxuXHRcdF07XG5cdFx0Y29uc3QgeyBkaXN0YW5jZSB9ID0gdGhpcy5nZXRTaXplKCk7XG5cblx0XHRjYW1lcmEubmVhciA9IGRpc3RhbmNlIC8gMTAwO1xuXHRcdGNhbWVyYS5mYXIgPSBkaXN0YW5jZSAqIDEwMDtcblx0XHRjYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuXG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5tYXhEaXN0YW5jZSA9IGRpc3RhbmNlICogMTA7XG5cdFx0XHRjb250cm9scy51cGRhdGUoKTtcblx0XHR9XG5cblx0XHRpbnZhbGlkYXRlKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuIl19
@@ -55,11 +55,11 @@ export class NgtsCameraShake {
55
55
  }
56
56
  });
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsCameraShake, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
59
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtsCameraShake, isStandalone: true, selector: "ngts-camera-shake", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsCameraShake, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
59
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtsCameraShake, isStandalone: true, selector: "ngts-camera-shake", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsCameraShake, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsCameraShake, decorators: [{
62
62
  type: Directive,
63
63
  args: [{ selector: 'ngts-camera-shake', standalone: true }]
64
64
  }], ctorParameters: () => [] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLXNoYWtlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9jYW1lcmEtc2hha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQXFCNUMsTUFBTSxjQUFjLEdBQTJCO0lBQzlDLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsR0FBRztJQUNYLFFBQVEsRUFBRSxHQUFHO0lBQ2IsT0FBTyxFQUFFLEdBQUc7SUFDWixZQUFZLEVBQUUsR0FBRztJQUNqQixjQUFjLEVBQUUsR0FBRztJQUNuQixhQUFhLEVBQUUsR0FBRztDQUNsQixDQUFDO0FBR0YsTUFBTSxPQUFPLGVBQWU7SUFVM0IsSUFBSSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxHQUFXO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBTUQ7UUFyQkEsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRSxVQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFD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QWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBTaWduYWwsIGVmZmVjdCwgaW5wdXQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IFNpbXBsZXhOb2lzZSB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmludGVyZmFjZSBDb250cm9sc1Byb3RvIHtcblx0dXBkYXRlKCk6IHZvaWQ7XG5cdHRhcmdldDogVmVjdG9yMztcblx0YWRkRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzQ2FtZXJhU2hha2VPcHRpb25zIHtcblx0aW50ZW5zaXR5OiBudW1iZXI7XG5cdGRlY2F5PzogYm9vbGVhbjtcblx0ZGVjYXlSYXRlOiBudW1iZXI7XG5cdG1heFlhdzogbnVtYmVyO1xuXHRtYXhQaXRjaDogbnVtYmVyO1xuXHRtYXhSb2xsOiBudW1iZXI7XG5cdHlhd0ZyZXF1ZW5jeTogbnVtYmVyO1xuXHRwaXRjaEZyZXF1ZW5jeTogbnVtYmVyO1xuXHRyb2xsRnJlcXVlbmN5OiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzQ2FtZXJhU2hha2VPcHRpb25zID0ge1xuXHRpbnRlbnNpdHk6IDEsXG5cdGRlY2F5UmF0ZTogMC42NSxcblx0bWF4WWF3OiAwLjEsXG5cdG1heFBpdGNoOiAwLjEsXG5cdG1heFJvbGw6IDAuMSxcblx0eWF3RnJlcXVlbmN5OiAwLjEsXG5cdHBpdGNoRnJlcXVlbmN5OiAwLjEsXG5cdHJvbGxGcmVxdWVuY3k6IDAuMSxcbn07XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25ndHMtY2FtZXJhLXNoYWtlJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndHNDYW1lcmFTaGFrZSB7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0cHJpdmF0ZSBjYW1lcmEgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG5cdHByaXZhdGUgZGVmYXVsdENvbnRyb2xzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NvbnRyb2xzJykgYXMgdW5rbm93biBhcyBTaWduYWw8Q29udHJvbHNQcm90bz47XG5cblx0cHJpdmF0ZSBpbml0aWFsUm90YXRpb24gPSB1bnRyYWNrZWQodGhpcy5jYW1lcmEpLnJvdGF0aW9uLmNsb25lKCk7XG5cdHByaXZhdGUgaW50ZW5zaXR5T3B0aW9uID0gdW50cmFja2VkKHRoaXMub3B0aW9ucykuaW50ZW5zaXR5O1xuXG5cdGdldCBpbnRlbnNpdHkoKSB7XG5cdFx0cmV0dXJuIHRoaXMuaW50ZW5zaXR5T3B0aW9uO1xuXHR9XG5cblx0c2V0IGludGVuc2l0eSh2YWw6IG51bWJlcikge1xuXHRcdHRoaXMuaW50ZW5zaXR5T3B0aW9uID0gTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgdmFsKSk7XG5cdH1cblxuXHRwcml2YXRlIHlhd05vaXNlID0gbmV3IFNpbXBsZXhOb2lzZSgpO1xuXHRwcml2YXRlIHBpdGNoTm9pc2UgPSBuZXcgU2ltcGxleE5vaXNlKCk7XG5cdHByaXZhdGUgcm9sbE5vaXNlID0gbmV3IFNpbXBsZXhOb2lzZSgpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBkZWZhdWx0Q29udHJvbHMgPSB0aGlzLmRlZmF1bHRDb250cm9scygpO1xuXHRcdFx0aWYgKCFkZWZhdWx0Q29udHJvbHMpIHJldHVybjtcblx0XHRcdGNvbnN0IGNhbWVyYSA9IHRoaXMuY2FtZXJhKCk7XG5cblx0XHRcdGNvbnN0IGNhbGxiYWNrID0gKCkgPT4gdm9pZCAodGhpcy5pbml0aWFsUm90YXRpb24gPSBjYW1lcmEucm90YXRpb24uY2xvbmUoKSk7XG5cdFx0XHRkZWZhdWx0Q29udHJvbHMuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgY2FsbGJhY2spO1xuXHRcdFx0Y2FsbGJhY2soKTtcblxuXHRcdFx0b25DbGVhbnVwKCgpID0+IHZvaWQgZGVmYXVsdENvbnRyb2xzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNhbGxiYWNrKSk7XG5cdFx0fSk7XG5cblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKHsgZGVsdGEsIGNsb2NrIH0pID0+IHtcblx0XHRcdGNvbnN0IFt7IG1heFlhdywgeWF3RnJlcXVlbmN5LCBtYXhQaXRjaCwgcGl0Y2hGcmVxdWVuY3ksIG1heFJvbGwsIHJvbGxGcmVxdWVuY3ksIGRlY2F5LCBkZWNheVJhdGUgfSwgY2FtZXJhXSA9IFtcblx0XHRcdFx0dGhpcy5vcHRpb25zKCksXG5cdFx0XHRcdHRoaXMuY2FtZXJhKCksXG5cdFx0XHRdO1xuXHRcdFx0Y29uc3Qgc2hha2UgPSBNYXRoLnBvdyh0aGlzLmludGVuc2l0eSwgMik7XG5cdFx0XHRjb25zdCB5YXcgPSBtYXhZYXcgKiBzaGFrZSAqIHRoaXMueWF3Tm9pc2Uubm9pc2UoY2xvY2suZWxhcHNlZFRpbWUgKiB5YXdGcmVxdWVuY3ksIDEpO1xuXHRcdFx0Y29uc3QgcGl0Y2ggPSBtYXhQaXRjaCAqIHNoYWtlICogdGhpcy5waXRjaE5vaXNlLm5vaXNlKGNsb2NrLmVsYXBzZWRUaW1lICogcGl0Y2hGcmVxdWVuY3ksIDEpO1xuXHRcdFx0Y29uc3Qgcm9sbCA9IG1heFJvbGwgKiBzaGFrZSAqIHRoaXMucm9sbE5vaXNlLm5vaXNlKGNsb2NrLmVsYXBzZWRUaW1lICogcm9sbEZyZXF1ZW5jeSwgMSk7XG5cblx0XHRcdGNhbWVyYS5yb3RhdGlvbi5zZXQodGhpcy5pbml0aWFsUm90YXRpb24ueCArIHBpdGNoLCB0aGlzLmluaXRpYWxSb3RhdGlvbi55ICsgeWF3LCB0aGlzLmluaXRpYWxSb3RhdGlvbi56ICsgcm9sbCk7XG5cblx0XHRcdGlmIChkZWNheSAmJiB0aGlzLmludGVuc2l0eSA+IDApIHtcblx0XHRcdFx0dGhpcy5pbnRlbnNpdHkgLT0gZGVjYXlSYXRlICogZGVsdGE7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLXNoYWtlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9jYW1lcmEtc2hha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQXFCNUMsTUFBTSxjQUFjLEdBQTJCO0lBQzlDLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsR0FBRztJQUNYLFFBQVEsRUFBRSxHQUFHO0lBQ2IsT0FBTyxFQUFFLEdBQUc7SUFDWixZQUFZLEVBQUUsR0FBRztJQUNqQixjQUFjLEVBQUUsR0FBRztJQUNuQixhQUFhLEVBQUUsR0FBRztDQUNsQixDQUFDO0FBR0YsTUFBTSxPQUFPLGVBQWU7SUFVM0IsSUFBSSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxHQUFXO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBTUQ7UUFyQkEsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRSxVQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFD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QWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBTaWduYWwsIGVmZmVjdCwgaW5wdXQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IFNpbXBsZXhOb2lzZSB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmludGVyZmFjZSBDb250cm9sc1Byb3RvIHtcblx0dXBkYXRlKCk6IHZvaWQ7XG5cdHRhcmdldDogVmVjdG9yMztcblx0YWRkRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzQ2FtZXJhU2hha2VPcHRpb25zIHtcblx0aW50ZW5zaXR5OiBudW1iZXI7XG5cdGRlY2F5PzogYm9vbGVhbjtcblx0ZGVjYXlSYXRlOiBudW1iZXI7XG5cdG1heFlhdzogbnVtYmVyO1xuXHRtYXhQaXRjaDogbnVtYmVyO1xuXHRtYXhSb2xsOiBudW1iZXI7XG5cdHlhd0ZyZXF1ZW5jeTogbnVtYmVyO1xuXHRwaXRjaEZyZXF1ZW5jeTogbnVtYmVyO1xuXHRyb2xsRnJlcXVlbmN5OiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzQ2FtZXJhU2hha2VPcHRpb25zID0ge1xuXHRpbnRlbnNpdHk6IDEsXG5cdGRlY2F5UmF0ZTogMC42NSxcblx0bWF4WWF3OiAwLjEsXG5cdG1heFBpdGNoOiAwLjEsXG5cdG1heFJvbGw6IDAuMSxcblx0eWF3RnJlcXVlbmN5OiAwLjEsXG5cdHBpdGNoRnJlcXVlbmN5OiAwLjEsXG5cdHJvbGxGcmVxdWVuY3k6IDAuMSxcbn07XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25ndHMtY2FtZXJhLXNoYWtlJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndHNDYW1lcmFTaGFrZSB7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0cHJpdmF0ZSBjYW1lcmEgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG5cdHByaXZhdGUgZGVmYXVsdENvbnRyb2xzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NvbnRyb2xzJykgYXMgdW5rbm93biBhcyBTaWduYWw8Q29udHJvbHNQcm90bz47XG5cblx0cHJpdmF0ZSBpbml0aWFsUm90YXRpb24gPSB1bnRyYWNrZWQodGhpcy5jYW1lcmEpLnJvdGF0aW9uLmNsb25lKCk7XG5cdHByaXZhdGUgaW50ZW5zaXR5T3B0aW9uID0gdW50cmFja2VkKHRoaXMub3B0aW9ucykuaW50ZW5zaXR5O1xuXG5cdGdldCBpbnRlbnNpdHkoKSB7XG5cdFx0cmV0dXJuIHRoaXMuaW50ZW5zaXR5T3B0aW9uO1xuXHR9XG5cblx0c2V0IGludGVuc2l0eSh2YWw6IG51bWJlcikge1xuXHRcdHRoaXMuaW50ZW5zaXR5T3B0aW9uID0gTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgdmFsKSk7XG5cdH1cblxuXHRwcml2YXRlIHlhd05vaXNlID0gbmV3IFNpbXBsZXhOb2lzZSgpO1xuXHRwcml2YXRlIHBpdGNoTm9pc2UgPSBuZXcgU2ltcGxleE5vaXNlKCk7XG5cdHByaXZhdGUgcm9sbE5vaXNlID0gbmV3IFNpbXBsZXhOb2lzZSgpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBkZWZhdWx0Q29udHJvbHMgPSB0aGlzLmRlZmF1bHRDb250cm9scygpO1xuXHRcdFx0aWYgKCFkZWZhdWx0Q29udHJvbHMpIHJldHVybjtcblx0XHRcdGNvbnN0IGNhbWVyYSA9IHRoaXMuY2FtZXJhKCk7XG5cblx0XHRcdGNvbnN0IGNhbGxiYWNrID0gKCkgPT4gdm9pZCAodGhpcy5pbml0aWFsUm90YXRpb24gPSBjYW1lcmEucm90YXRpb24uY2xvbmUoKSk7XG5cdFx0XHRkZWZhdWx0Q29udHJvbHMuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgY2FsbGJhY2spO1xuXHRcdFx0Y2FsbGJhY2soKTtcblxuXHRcdFx0b25DbGVhbnVwKCgpID0+IHZvaWQgZGVmYXVsdENvbnRyb2xzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNhbGxiYWNrKSk7XG5cdFx0fSk7XG5cblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKHsgZGVsdGEsIGNsb2NrIH0pID0+IHtcblx0XHRcdGNvbnN0IFt7IG1heFlhdywgeWF3RnJlcXVlbmN5LCBtYXhQaXRjaCwgcGl0Y2hGcmVxdWVuY3ksIG1heFJvbGwsIHJvbGxGcmVxdWVuY3ksIGRlY2F5LCBkZWNheVJhdGUgfSwgY2FtZXJhXSA9IFtcblx0XHRcdFx0dGhpcy5vcHRpb25zKCksXG5cdFx0XHRcdHRoaXMuY2FtZXJhKCksXG5cdFx0XHRdO1xuXHRcdFx0Y29uc3Qgc2hha2UgPSBNYXRoLnBvdyh0aGlzLmludGVuc2l0eSwgMik7XG5cdFx0XHRjb25zdCB5YXcgPSBtYXhZYXcgKiBzaGFrZSAqIHRoaXMueWF3Tm9pc2Uubm9pc2UoY2xvY2suZWxhcHNlZFRpbWUgKiB5YXdGcmVxdWVuY3ksIDEpO1xuXHRcdFx0Y29uc3QgcGl0Y2ggPSBtYXhQaXRjaCAqIHNoYWtlICogdGhpcy5waXRjaE5vaXNlLm5vaXNlKGNsb2NrLmVsYXBzZWRUaW1lICogcGl0Y2hGcmVxdWVuY3ksIDEpO1xuXHRcdFx0Y29uc3Qgcm9sbCA9IG1heFJvbGwgKiBzaGFrZSAqIHRoaXMucm9sbE5vaXNlLm5vaXNlKGNsb2NrLmVsYXBzZWRUaW1lICogcm9sbEZyZXF1ZW5jeSwgMSk7XG5cblx0XHRcdGNhbWVyYS5yb3RhdGlvbi5zZXQodGhpcy5pbml0aWFsUm90YXRpb24ueCArIHBpdGNoLCB0aGlzLmluaXRpYWxSb3RhdGlvbi55ICsgeWF3LCB0aGlzLmluaXRpYWxSb3RhdGlvbi56ICsgcm9sbCk7XG5cblx0XHRcdGlmIChkZWNheSAmJiB0aGlzLmludGVuc2l0eSA+IDApIHtcblx0XHRcdFx0dGhpcy5pbnRlbnNpdHkgLT0gZGVjYXlSYXRlICogZGVsdGE7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -113,8 +113,8 @@ export class NgtsCaustics {
113
113
  });
114
114
  injectBeforeRender(({ gl }) => update(gl));
115
115
  }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsCaustics, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NgtsCaustics, isStandalone: true, selector: "ngts-caustics", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "sceneRef", first: true, predicate: ["scene"], descendants: true, isSignal: true }, { propertyName: "cameraRef", first: true, predicate: ["camera"], descendants: true, isSignal: true }, { propertyName: "planeRef", first: true, predicate: ["plane"], descendants: true, isSignal: true }], ngImport: i0, template: `
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsCaustics, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: NgtsCaustics, isStandalone: true, selector: "ngts-caustics", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "sceneRef", first: true, predicate: ["scene"], descendants: true, isSignal: true }, { propertyName: "cameraRef", first: true, predicate: ["camera"], descendants: true, isSignal: true }, { propertyName: "planeRef", first: true, predicate: ["plane"], descendants: true, isSignal: true }], ngImport: i0, template: `
118
118
  <ngt-group #group [parameters]="parameters()">
119
119
  <ngt-scene #scene>
120
120
  <ngt-orthographic-camera #camera [up]="[0, 1, 0]" />
@@ -143,7 +143,7 @@ export class NgtsCaustics {
143
143
  </ngt-group>
144
144
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsEdges, selector: "ngts-edges", inputs: ["options"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
145
145
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsCaustics, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsCaustics, decorators: [{
147
147
  type: Component,
148
148
  args: [{
149
149
  selector: 'ngts-caustics',
@@ -181,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
181
181
  imports: [NgtsEdges],
182
182
  }]
183
183
  }], ctorParameters: () => [] });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1c3RpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbGliL2NhdXN0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsTUFBTSxFQUVOLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQVksSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFDTixZQUFZLEVBRVosY0FBYyxFQUNkLFNBQVMsRUFDVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsSUFBSSxFQUVKLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLEtBQUssRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLE9BQU8sR0FDUCxNQUFNLE9BQU8sQ0FBQzs7QUFFZixNQUFNLGNBQWMsR0FBRztJQUN0QixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLElBQUksRUFBRSxnQkFBZ0I7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3ZCLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsU0FB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VDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRjb21wdXRlZCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgZ2V0TG9jYWxTdGF0ZSwgaW5qZWN0QmVmb3JlUmVuZGVyLCBOZ3RHcm91cCwgb21pdCwgcGljaywgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0SGVscGVyLCBOZ3RzRWRnZXMgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvYWJzdHJhY3Rpb25zJztcbmltcG9ydCB7IGluamVjdEZCTyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9taXNjJztcbmltcG9ydCB7IENhdXN0aWNzUHJvamVjdGlvbk1hdGVyaWFsLCBjcmVhdGVDYXVzdGljc1VwZGF0ZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS92YW5pbGxhLWV4cG9ydHMnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHtcblx0Q2FtZXJhSGVscGVyLFxuXHRDb2xvclJlcHJlc2VudGF0aW9uLFxuXHRDdXN0b21CbGVuZGluZyxcblx0RmxvYXRUeXBlLFxuXHRHcm91cCxcblx0TGluZWFyRmlsdGVyLFxuXHRMaW5lYXJNaXBtYXBMaW5lYXJGaWx0ZXIsXG5cdExpbmVCYXNpY01hdGVyaWFsLFxuXHRNZXNoLFxuXHRPYmplY3QzRCxcblx0T25lRmFjdG9yLFxuXHRPcnRob2dyYXBoaWNDYW1lcmEsXG5cdFBsYW5lR2VvbWV0cnksXG5cdFNjZW5lLFxuXHRTcmNBbHBoYUZhY3Rvcixcblx0VW5zaWduZWRCeXRlVHlwZSxcblx0VmVjdG9yMyxcbn0gZnJvbSAndGhyZWUnO1xuXG5jb25zdCBOT1JNQUxfT1BUSU9OUyA9IHtcblx0ZGVwdGg6IHRydWUsXG5cdG1pbkZpbHRlcjogTGluZWFyRmlsdGVyLFxuXHRtYWdGaWx0ZXI6IExpbmVhckZpbHRlcixcblx0dHlwZTogVW5zaWduZWRCeXRlVHlwZSxcbn07XG5cbmNvbnN0IENBVVNUSUNfT1BUSU9OUyA9IHtcblx0bWluRmlsdGVyOiBMaW5lYXJNaXBtYXBMaW5lYXJGaWx0ZXIsXG5cdG1hZ0ZpbHRlcjogTGluZWFyRmlsdGVyLFxuXHR0eXBlOiBGbG9hdFR5cGUsXG5cdGdlbmVyYXRlTWlwbWFwczogdHJ1ZSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0NhdXN0aWNzT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0R3JvdXA+IHtcblx0LyoqIEhvdyBtYW55IGZyYW1lcyBpdCB3aWxsIHJlbmRlciwgc2V0IGl0IHRvIEluZmluaXR5IGZvciBydW50aW1lLCBkZWZhdWx0OiAxICovXG5cdGZyYW1lczogbnVtYmVyO1xuXHQvKiogRW5hYmxlcyB2aXN1YWwgY3VlcyB0byBoZWxwIHlvdSBzdGFnZSB5b3VyIHNjZW5lLCBkZWZhdWx0OiBmYWxzZSAqL1xuXHRkZWJ1ZzogYm9vbGVhbjtcblx0LyoqIFdpbGwgZGlzcGxheSBjYXVzdGljcyBvbmx5IGFuZCBza2lwIHRoZSBtb2RlbHMsIGRlZmF1bHQ6IGZhbHNlICovXG5cdGNhdXN0aWNzT25seTogYm9vbGVhbjtcblx0LyoqIFdpbGwgaW5jbHVkZSBiYWNrIGZhY2VzIGFuZCBlbmFibGUgdGhlIGJhY2tzaWRlSU9SIHByb3AsIGRlZmF1bHQ6IGZhbHNlICovXG5cdGJhY2tzaWRlOiBib29sZWFuO1xuXHQvKiogVGhlIElPUiByZWZyYWN0aW9uIGluZGV4LCBkZWZhdWx0OiAxLjEgKi9cblx0aW9yOiBudW1iZXI7XG5cdC8qKiBUaGUgSU9SIHJlZnJhY3Rpb24gaW5kZXggZm9yIGJhY2sgZmFjZXMgKG9ubHkgYXZhaWxhYmxlIHdoZW4gYmFja3NpZGUgaXMgZW5hYmxlZCksIGRlZmF1bHQ6IDEuMSAqL1xuXHRiYWNrc2lkZUlPUjogbnVtYmVyO1xuXHQvKiogVGhlIHRleGVsIHNpemUsIGRlZmF1bHQ6IDAuMzEyNSAqL1xuXHR3b3JsZFJhZGl1czogbnVtYmVyO1xuXHQvKiogSW50ZW5zaXR5IG9mIHRoZSBwcmplY3RlZCBjYXVzdGljcywgZGVmYXVsdDogMC4wNSAqL1xuXHRpbnRlbnNpdHk6IG51bWJlcjtcblx0LyoqIENhdXN0aWNzIGNvbG9yLCBkZWZhdWx0OiB3aGl0ZSAqL1xuXHRjb2xvcjogQ29sb3JSZXByZXNlbnRhdGlvbjtcblx0LyoqIEJ1ZmZlciByZXNvbHV0aW9uLCBkZWZhdWx0OiAyMDQ4ICovXG5cdHJlc29sdXRpb246IG51bWJlcjtcblx0LyoqIENhbWVyYSBwb3NpdGlvbiwgaXQgd2lsbCBwb2ludCB0b3dhcmRzIHRoZSBjb250ZW50cyBib3VuZHMgY2VudGVyLCBkZWZhdWx0OiBbNSwgNSwgNV0gKi9cblx0bGlnaHRTb3VyY2U6IFt4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyXSB8IEVsZW1lbnRSZWY8T2JqZWN0M0Q+IHwgT2JqZWN0M0Q7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzQ2F1c3RpY3NPcHRpb25zID0ge1xuXHRmcmFtZXM6IDEsXG5cdGRlYnVnOiBmYWxzZSxcblx0Y2F1c3RpY3NPbmx5OiBmYWxzZSxcblx0YmFja3NpZGU6IGZhbHNlLFxuXHRpb3I6IDEuMSxcblx0YmFja3NpZGVJT1I6IDEuMSxcblx0d29ybGRSYWRpdXM6IDAuMzEyNSxcblx0aW50ZW5zaXR5OiAwLjA1LFxuXHRjb2xvcjogJ3doaXRlJyxcblx0cmVzb2x1dGlvbjogMjAyNCxcblx0bGlnaHRTb3VyY2U6IFs1LCA1LCA1XSxcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtY2F1c3RpY3MnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgI2dyb3VwIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiPlxuXHRcdFx0PG5ndC1zY2VuZSAjc2NlbmU+XG5cdFx0XHRcdDxuZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYSAjY2FtZXJhIFt1cF09XCJbMCwgMSwgMF1cIiAvPlxuXHRcdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdFx0PC9uZ3Qtc2NlbmU+XG5cblx0XHRcdDxuZ3QtbWVzaCAjcGxhbmUgW3JlbmRlck9yZGVyXT1cIjJcIiBbcm90YXRpb25dPVwiWy1NYXRoLlBJIC8gMiwgMCwgMF1cIj5cblx0XHRcdFx0PG5ndC1wbGFuZS1nZW9tZXRyeSAvPlxuXHRcdFx0XHQ8bmd0LWNhdXN0aWNzLXByb2plY3Rpb24tbWF0ZXJpYWxcblx0XHRcdFx0XHRbdHJhbnNwYXJlbnRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0W2NvbG9yXT1cImNvbG9yKClcIlxuXHRcdFx0XHRcdFtjYXVzdGljc1RleHR1cmVdPVwiY2F1c3RpY3NUYXJnZXQoKS50ZXh0dXJlXCJcblx0XHRcdFx0XHRbY2F1c3RpY3NUZXh0dXJlQl09XCJjYXVzdGljc1RhcmdldEIoKS50ZXh0dXJlXCJcblx0XHRcdFx0XHRbYmxlbmRpbmddPVwiQ3VzdG9tQmxlbmRpbmdcIlxuXHRcdFx0XHRcdFtibGVuZFNyY109XCJPbmVGYWN0b3JcIlxuXHRcdFx0XHRcdFtibGVuZERzdF09XCJTcmNBbHBoYUZhY3RvclwiXG5cdFx0XHRcdFx0W2RlcHRoV3JpdGVdPVwiZmFsc2VcIlxuXHRcdFx0XHQvPlxuXG5cdFx0XHRcdEBpZiAoZGVidWcoKSkge1xuXHRcdFx0XHRcdDxuZ3RzLWVkZ2VzPlxuXHRcdFx0XHRcdFx0PG5ndC1saW5lLWJhc2ljLW1hdGVyaWFsIGNvbG9yPVwiI2ZmZmYwMFwiIFt0b25lTWFwcGVkXT1cImZhbHNlXCIgLz5cblx0XHRcdFx0XHQ8L25ndHMtZWRnZXM+XG5cdFx0XHRcdH1cblx0XHRcdDwvbmd0LW1lc2g+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RzRWRnZXNdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzQ2F1c3RpY3Mge1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgTWF0aCA9IE1hdGg7XG5cdHByb3RlY3RlZCByZWFkb25seSBDdXN0b21CbGVuZGluZyA9IEN1c3RvbUJsZW5kaW5nO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgT25lRmFjdG9yID0gT25lRmFjdG9yO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgU3JjQWxwaGFGYWN0b3IgPSBTcmNBbHBoYUZhY3RvcjtcblxuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdmcmFtZXMnLFxuXHRcdCdkZWJ1ZycsXG5cdFx0J2NhdXN0aWNzT25seScsXG5cdFx0J2JhY2tzaWRlJyxcblx0XHQnaW9yJyxcblx0XHQnYmFja3NpZGVJT1InLFxuXHRcdCd3b3JsZFJhZGl1cycsXG5cdFx0J2ludGVuc2l0eScsXG5cdFx0J2NvbG9yJyxcblx0XHQncmVzb2x1dGlvbicsXG5cdFx0J2xpZ2h0U291cmNlJyxcblx0XSk7XG5cblx0ZGVidWcgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2RlYnVnJyk7XG5cdGNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdjb2xvcicpO1xuXHRwcml2YXRlIHJlc29sdXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Jlc29sdXRpb24nKTtcblxuXHRncm91cFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ2dyb3VwJyk7XG5cdHByaXZhdGUgc2NlbmVSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxTY2VuZT4+KCdzY2VuZScpO1xuXHRwcml2YXRlIGNhbWVyYVJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPE9ydGhvZ3JhcGhpY0NhbWVyYT4+KCdjYW1lcmEnKTtcblx0cHJpdmF0ZSBwbGFuZVJlZiA9XG5cdFx0dmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8TWVzaDxQbGFuZUdlb21ldHJ5LCBJbnN0YW5jZVR5cGU8dHlwZW9mIENhdXN0aWNzUHJvamVjdGlvbk1hdGVyaWFsPj4+PigncGxhbmUnKTtcblxuXHRwcml2YXRlIG5vcm1hbFRhcmdldFBhcmFtcyA9IGNvbXB1dGVkKCgpID0+ICh7XG5cdFx0d2lkdGg6IHRoaXMucmVzb2x1dGlvbigpLFxuXHRcdGhlaWdodDogdGhpcy5yZXNvbHV0aW9uKCksXG5cdFx0c2V0dGluZ3M6IE5PUk1BTF9PUFRJT05TLFxuXHR9KSk7XG5cblx0Ly8gQnVmZmVycyBmb3IgZnJvbnQgYW5kIGJhY2sgZmFjZXNcblx0cHJpdmF0ZSBub3JtYWxUYXJnZXQgPSBpbmplY3RGQk8odGhpcy5ub3JtYWxUYXJnZXRQYXJhbXMpO1xuXHRwcml2YXRlIG5vcm1hbFRhcmdldEIgPSBpbmplY3RGQk8odGhpcy5ub3JtYWxUYXJnZXRQYXJhbXMpO1xuXG5cdHByaXZhdGUgY2F1c3RpY3NUYXJnZXRQYXJhbXMgPSBjb21wdXRlZCgoKSA9PiAoe1xuXHRcdHdpZHRoOiB0aGlzLnJlc29sdXRpb24oKSxcblx0XHRoZWlnaHQ6IHRoaXMucmVzb2x1dGlvbigpLFxuXHRcdHNldHRpbmdzOiBDQVVTVElDX09QVElPTlMsXG5cdH0pKTtcblx0Y2F1c3RpY3NUYXJnZXQgPSBpbmplY3RGQk8odGhpcy5jYXVzdGljc1RhcmdldFBhcmFtcyk7XG5cdGNhdXN0aWNzVGFyZ2V0QiA9IGluamVjdEZCTyh0aGlzLmNhdXN0aWNzVGFyZ2V0UGFyYW1zKTtcblxuXHRwcml2YXRlIGNhbWVyYUhlbHBlciA9IGluamVjdEhlbHBlcihcblx0XHQoKSA9PiAodGhpcy5kZWJ1ZygpID8gdGhpcy5jYW1lcmFSZWYoKS5uYXRpdmVFbGVtZW50IDogbnVsbCksXG5cdFx0KCkgPT4gQ2FtZXJhSGVscGVyLFxuXHQpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IENhdXN0aWNzUHJvamVjdGlvbk1hdGVyaWFsLCBHcm91cCwgU2NlbmUsIE1lc2gsIFBsYW5lR2VvbWV0cnksIExpbmVCYXNpY01hdGVyaWFsLCBPcnRob2dyYXBoaWNDYW1lcmEgfSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Ly8gdHJhY2sgYWxsIGNoYW5nZXNcblx0XHRcdGNvbnN0IFtncm91cCwgc2NlbmUsIHBsYW5lXSA9IFtcblx0XHRcdFx0dGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuc2NlbmVSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLnBsYW5lUmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5vcHRpb25zKCksXG5cdFx0XHRdO1xuXHRcdFx0Y29uc3QgZ3JvdXBMb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShncm91cCk7XG5cdFx0XHRjb25zdCBzY2VuZUxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKHNjZW5lKTtcblx0XHRcdGNvbnN0IHBsYW5lTG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUocGxhbmUpO1xuXG5cdFx0XHRpZiAoIWdyb3VwTG9jYWxTdGF0ZSB8fCAhc2NlbmVMb2NhbFN0YXRlIHx8ICFwbGFuZUxvY2FsU3RhdGUpIHJldHVybjtcblxuXHRcdFx0Z3JvdXBMb2NhbFN0YXRlLm9iamVjdHMoKTtcblx0XHRcdHNjZW5lTG9jYWxTdGF0ZS5vYmplY3RzKCk7XG5cdFx0XHRwbGFuZUxvY2FsU3RhdGUub2JqZWN0cygpO1xuXHRcdFx0cGxhbmVMb2NhbFN0YXRlLm5vbk9iamVjdHMoKTtcblxuXHRcdFx0Z3JvdXAudXBkYXRlV29ybGRNYXRyaXgoZmFsc2UsIHRydWUpO1xuXHRcdH0pO1xuXG5cdFx0Y29uc3QgdXBkYXRlID0gY3JlYXRlQ2F1c3RpY3NVcGRhdGUoKCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBsaWdodFNvdXJjZSwgLi4ucmVzdCB9ID0gdGhpcy5vcHRpb25zKCk7XG5cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHBhcmFtczogT2JqZWN0LmFzc2lnbihyZXN0LCB7XG5cdFx0XHRcdFx0bGlnaHRTb3VyY2U6IEFycmF5LmlzQXJyYXkobGlnaHRTb3VyY2UpID8gbmV3IFZlY3RvcjMoLi4ubGlnaHRTb3VyY2UpIDogcmVzb2x2ZVJlZihsaWdodFNvdXJjZSksXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRub3JtYWxUYXJnZXQ6IHRoaXMubm9ybWFsVGFyZ2V0KCksXG5cdFx0XHRcdG5vcm1hbFRhcmdldEI6IHRoaXMubm9ybWFsVGFyZ2V0QigpLFxuXHRcdFx0XHRjYXVzdGljc1RhcmdldDogdGhpcy5jYXVzdGljc1RhcmdldCgpLFxuXHRcdFx0XHRjYXVzdGljc1RhcmdldEI6IHRoaXMuY2F1c3RpY3NUYXJnZXRCKCksXG5cdFx0XHRcdGNhbWVyYTogdGhpcy5jYW1lcmFSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHRzY2VuZTogdGhpcy5zY2VuZVJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdGdyb3VwOiB0aGlzLmdyb3VwUmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0cGxhbmU6IHRoaXMucGxhbmVSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHRoZWxwZXI6IHRoaXMuY2FtZXJhSGVscGVyKCksXG5cdFx0XHR9O1xuXHRcdH0pO1xuXG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGdsIH0pID0+IHVwZGF0ZShnbCkpO1xuXHR9XG59XG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1c3RpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbGliL2NhdXN0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsTUFBTSxFQUVOLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQVksSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFDTixZQUFZLEVBRVosY0FBYyxFQUNkLFNBQVMsRUFDVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsSUFBSSxFQUVKLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLEtBQUssRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLE9BQU8sR0FDUCxNQUFNLE9BQU8sQ0FBQzs7QUFFZixNQUFNLGNBQWMsR0FBRztJQUN0QixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLElBQUksRUFBRSxnQkFBZ0I7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3ZCLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsU0FB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VDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRjb21wdXRlZCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgZ2V0TG9jYWxTdGF0ZSwgaW5qZWN0QmVmb3JlUmVuZGVyLCBOZ3RHcm91cCwgb21pdCwgcGljaywgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0SGVscGVyLCBOZ3RzRWRnZXMgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvYWJzdHJhY3Rpb25zJztcbmltcG9ydCB7IGluamVjdEZCTyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9taXNjJztcbmltcG9ydCB7IENhdXN0aWNzUHJvamVjdGlvbk1hdGVyaWFsLCBjcmVhdGVDYXVzdGljc1VwZGF0ZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS92YW5pbGxhLWV4cG9ydHMnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHtcblx0Q2FtZXJhSGVscGVyLFxuXHRDb2xvclJlcHJlc2VudGF0aW9uLFxuXHRDdXN0b21CbGVuZGluZyxcblx0RmxvYXRUeXBlLFxuXHRHcm91cCxcblx0TGluZWFyRmlsdGVyLFxuXHRMaW5lYXJNaXBtYXBMaW5lYXJGaWx0ZXIsXG5cdExpbmVCYXNpY01hdGVyaWFsLFxuXHRNZXNoLFxuXHRPYmplY3QzRCxcblx0T25lRmFjdG9yLFxuXHRPcnRob2dyYXBoaWNDYW1lcmEsXG5cdFBsYW5lR2VvbWV0cnksXG5cdFNjZW5lLFxuXHRTcmNBbHBoYUZhY3Rvcixcblx0VW5zaWduZWRCeXRlVHlwZSxcblx0VmVjdG9yMyxcbn0gZnJvbSAndGhyZWUnO1xuXG5jb25zdCBOT1JNQUxfT1BUSU9OUyA9IHtcblx0ZGVwdGg6IHRydWUsXG5cdG1pbkZpbHRlcjogTGluZWFyRmlsdGVyLFxuXHRtYWdGaWx0ZXI6IExpbmVhckZpbHRlcixcblx0dHlwZTogVW5zaWduZWRCeXRlVHlwZSxcbn07XG5cbmNvbnN0IENBVVNUSUNfT1BUSU9OUyA9IHtcblx0bWluRmlsdGVyOiBMaW5lYXJNaXBtYXBMaW5lYXJGaWx0ZXIsXG5cdG1hZ0ZpbHRlcjogTGluZWFyRmlsdGVyLFxuXHR0eXBlOiBGbG9hdFR5cGUsXG5cdGdlbmVyYXRlTWlwbWFwczogdHJ1ZSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0NhdXN0aWNzT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0R3JvdXA+IHtcblx0LyoqIEhvdyBtYW55IGZyYW1lcyBpdCB3aWxsIHJlbmRlciwgc2V0IGl0IHRvIEluZmluaXR5IGZvciBydW50aW1lLCBkZWZhdWx0OiAxICovXG5cdGZyYW1lczogbnVtYmVyO1xuXHQvKiogRW5hYmxlcyB2aXN1YWwgY3VlcyB0byBoZWxwIHlvdSBzdGFnZSB5b3VyIHNjZW5lLCBkZWZhdWx0OiBmYWxzZSAqL1xuXHRkZWJ1ZzogYm9vbGVhbjtcblx0LyoqIFdpbGwgZGlzcGxheSBjYXVzdGljcyBvbmx5IGFuZCBza2lwIHRoZSBtb2RlbHMsIGRlZmF1bHQ6IGZhbHNlICovXG5cdGNhdXN0aWNzT25seTogYm9vbGVhbjtcblx0LyoqIFdpbGwgaW5jbHVkZSBiYWNrIGZhY2VzIGFuZCBlbmFibGUgdGhlIGJhY2tzaWRlSU9SIHByb3AsIGRlZmF1bHQ6IGZhbHNlICovXG5cdGJhY2tzaWRlOiBib29sZWFuO1xuXHQvKiogVGhlIElPUiByZWZyYWN0aW9uIGluZGV4LCBkZWZhdWx0OiAxLjEgKi9cblx0aW9yOiBudW1iZXI7XG5cdC8qKiBUaGUgSU9SIHJlZnJhY3Rpb24gaW5kZXggZm9yIGJhY2sgZmFjZXMgKG9ubHkgYXZhaWxhYmxlIHdoZW4gYmFja3NpZGUgaXMgZW5hYmxlZCksIGRlZmF1bHQ6IDEuMSAqL1xuXHRiYWNrc2lkZUlPUjogbnVtYmVyO1xuXHQvKiogVGhlIHRleGVsIHNpemUsIGRlZmF1bHQ6IDAuMzEyNSAqL1xuXHR3b3JsZFJhZGl1czogbnVtYmVyO1xuXHQvKiogSW50ZW5zaXR5IG9mIHRoZSBwcmplY3RlZCBjYXVzdGljcywgZGVmYXVsdDogMC4wNSAqL1xuXHRpbnRlbnNpdHk6IG51bWJlcjtcblx0LyoqIENhdXN0aWNzIGNvbG9yLCBkZWZhdWx0OiB3aGl0ZSAqL1xuXHRjb2xvcjogQ29sb3JSZXByZXNlbnRhdGlvbjtcblx0LyoqIEJ1ZmZlciByZXNvbHV0aW9uLCBkZWZhdWx0OiAyMDQ4ICovXG5cdHJlc29sdXRpb246IG51bWJlcjtcblx0LyoqIENhbWVyYSBwb3NpdGlvbiwgaXQgd2lsbCBwb2ludCB0b3dhcmRzIHRoZSBjb250ZW50cyBib3VuZHMgY2VudGVyLCBkZWZhdWx0OiBbNSwgNSwgNV0gKi9cblx0bGlnaHRTb3VyY2U6IFt4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyXSB8IEVsZW1lbnRSZWY8T2JqZWN0M0Q+IHwgT2JqZWN0M0Q7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzQ2F1c3RpY3NPcHRpb25zID0ge1xuXHRmcmFtZXM6IDEsXG5cdGRlYnVnOiBmYWxzZSxcblx0Y2F1c3RpY3NPbmx5OiBmYWxzZSxcblx0YmFja3NpZGU6IGZhbHNlLFxuXHRpb3I6IDEuMSxcblx0YmFja3NpZGVJT1I6IDEuMSxcblx0d29ybGRSYWRpdXM6IDAuMzEyNSxcblx0aW50ZW5zaXR5OiAwLjA1LFxuXHRjb2xvcjogJ3doaXRlJyxcblx0cmVzb2x1dGlvbjogMjAyNCxcblx0bGlnaHRTb3VyY2U6IFs1LCA1LCA1XSxcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtY2F1c3RpY3MnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgI2dyb3VwIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiPlxuXHRcdFx0PG5ndC1zY2VuZSAjc2NlbmU+XG5cdFx0XHRcdDxuZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYSAjY2FtZXJhIFt1cF09XCJbMCwgMSwgMF1cIiAvPlxuXHRcdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdFx0PC9uZ3Qtc2NlbmU+XG5cblx0XHRcdDxuZ3QtbWVzaCAjcGxhbmUgW3JlbmRlck9yZGVyXT1cIjJcIiBbcm90YXRpb25dPVwiWy1NYXRoLlBJIC8gMiwgMCwgMF1cIj5cblx0XHRcdFx0PG5ndC1wbGFuZS1nZW9tZXRyeSAvPlxuXHRcdFx0XHQ8bmd0LWNhdXN0aWNzLXByb2plY3Rpb24tbWF0ZXJpYWxcblx0XHRcdFx0XHRbdHJhbnNwYXJlbnRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0W2NvbG9yXT1cImNvbG9yKClcIlxuXHRcdFx0XHRcdFtjYXVzdGljc1RleHR1cmVdPVwiY2F1c3RpY3NUYXJnZXQoKS50ZXh0dXJlXCJcblx0XHRcdFx0XHRbY2F1c3RpY3NUZXh0dXJlQl09XCJjYXVzdGljc1RhcmdldEIoKS50ZXh0dXJlXCJcblx0XHRcdFx0XHRbYmxlbmRpbmddPVwiQ3VzdG9tQmxlbmRpbmdcIlxuXHRcdFx0XHRcdFtibGVuZFNyY109XCJPbmVGYWN0b3JcIlxuXHRcdFx0XHRcdFtibGVuZERzdF09XCJTcmNBbHBoYUZhY3RvclwiXG5cdFx0XHRcdFx0W2RlcHRoV3JpdGVdPVwiZmFsc2VcIlxuXHRcdFx0XHQvPlxuXG5cdFx0XHRcdEBpZiAoZGVidWcoKSkge1xuXHRcdFx0XHRcdDxuZ3RzLWVkZ2VzPlxuXHRcdFx0XHRcdFx0PG5ndC1saW5lLWJhc2ljLW1hdGVyaWFsIGNvbG9yPVwiI2ZmZmYwMFwiIFt0b25lTWFwcGVkXT1cImZhbHNlXCIgLz5cblx0XHRcdFx0XHQ8L25ndHMtZWRnZXM+XG5cdFx0XHRcdH1cblx0XHRcdDwvbmd0LW1lc2g+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RzRWRnZXNdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzQ2F1c3RpY3Mge1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgTWF0aCA9IE1hdGg7XG5cdHByb3RlY3RlZCByZWFkb25seSBDdXN0b21CbGVuZGluZyA9IEN1c3RvbUJsZW5kaW5nO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgT25lRmFjdG9yID0gT25lRmFjdG9yO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgU3JjQWxwaGFGYWN0b3IgPSBTcmNBbHBoYUZhY3RvcjtcblxuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdmcmFtZXMnLFxuXHRcdCdkZWJ1ZycsXG5cdFx0J2NhdXN0aWNzT25seScsXG5cdFx0J2JhY2tzaWRlJyxcblx0XHQnaW9yJyxcblx0XHQnYmFja3NpZGVJT1InLFxuXHRcdCd3b3JsZFJhZGl1cycsXG5cdFx0J2ludGVuc2l0eScsXG5cdFx0J2NvbG9yJyxcblx0XHQncmVzb2x1dGlvbicsXG5cdFx0J2xpZ2h0U291cmNlJyxcblx0XSk7XG5cblx0ZGVidWcgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2RlYnVnJyk7XG5cdGNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdjb2xvcicpO1xuXHRwcml2YXRlIHJlc29sdXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Jlc29sdXRpb24nKTtcblxuXHRncm91cFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ2dyb3VwJyk7XG5cdHByaXZhdGUgc2NlbmVSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxTY2VuZT4+KCdzY2VuZScpO1xuXHRwcml2YXRlIGNhbWVyYVJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPE9ydGhvZ3JhcGhpY0NhbWVyYT4+KCdjYW1lcmEnKTtcblx0cHJpdmF0ZSBwbGFuZVJlZiA9XG5cdFx0dmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8TWVzaDxQbGFuZUdlb21ldHJ5LCBJbnN0YW5jZVR5cGU8dHlwZW9mIENhdXN0aWNzUHJvamVjdGlvbk1hdGVyaWFsPj4+PigncGxhbmUnKTtcblxuXHRwcml2YXRlIG5vcm1hbFRhcmdldFBhcmFtcyA9IGNvbXB1dGVkKCgpID0+ICh7XG5cdFx0d2lkdGg6IHRoaXMucmVzb2x1dGlvbigpLFxuXHRcdGhlaWdodDogdGhpcy5yZXNvbHV0aW9uKCksXG5cdFx0c2V0dGluZ3M6IE5PUk1BTF9PUFRJT05TLFxuXHR9KSk7XG5cblx0Ly8gQnVmZmVycyBmb3IgZnJvbnQgYW5kIGJhY2sgZmFjZXNcblx0cHJpdmF0ZSBub3JtYWxUYXJnZXQgPSBpbmplY3RGQk8odGhpcy5ub3JtYWxUYXJnZXRQYXJhbXMpO1xuXHRwcml2YXRlIG5vcm1hbFRhcmdldEIgPSBpbmplY3RGQk8odGhpcy5ub3JtYWxUYXJnZXRQYXJhbXMpO1xuXG5cdHByaXZhdGUgY2F1c3RpY3NUYXJnZXRQYXJhbXMgPSBjb21wdXRlZCgoKSA9PiAoe1xuXHRcdHdpZHRoOiB0aGlzLnJlc29sdXRpb24oKSxcblx0XHRoZWlnaHQ6IHRoaXMucmVzb2x1dGlvbigpLFxuXHRcdHNldHRpbmdzOiBDQVVTVElDX09QVElPTlMsXG5cdH0pKTtcblx0Y2F1c3RpY3NUYXJnZXQgPSBpbmplY3RGQk8odGhpcy5jYXVzdGljc1RhcmdldFBhcmFtcyk7XG5cdGNhdXN0aWNzVGFyZ2V0QiA9IGluamVjdEZCTyh0aGlzLmNhdXN0aWNzVGFyZ2V0UGFyYW1zKTtcblxuXHRwcml2YXRlIGNhbWVyYUhlbHBlciA9IGluamVjdEhlbHBlcihcblx0XHQoKSA9PiAodGhpcy5kZWJ1ZygpID8gdGhpcy5jYW1lcmFSZWYoKS5uYXRpdmVFbGVtZW50IDogbnVsbCksXG5cdFx0KCkgPT4gQ2FtZXJhSGVscGVyLFxuXHQpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IENhdXN0aWNzUHJvamVjdGlvbk1hdGVyaWFsLCBHcm91cCwgU2NlbmUsIE1lc2gsIFBsYW5lR2VvbWV0cnksIExpbmVCYXNpY01hdGVyaWFsLCBPcnRob2dyYXBoaWNDYW1lcmEgfSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Ly8gdHJhY2sgYWxsIGNoYW5nZXNcblx0XHRcdGNvbnN0IFtncm91cCwgc2NlbmUsIHBsYW5lXSA9IFtcblx0XHRcdFx0dGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuc2NlbmVSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLnBsYW5lUmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5vcHRpb25zKCksXG5cdFx0XHRdO1xuXHRcdFx0Y29uc3QgZ3JvdXBMb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShncm91cCk7XG5cdFx0XHRjb25zdCBzY2VuZUxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKHNjZW5lKTtcblx0XHRcdGNvbnN0IHBsYW5lTG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUocGxhbmUpO1xuXG5cdFx0XHRpZiAoIWdyb3VwTG9jYWxTdGF0ZSB8fCAhc2NlbmVMb2NhbFN0YXRlIHx8ICFwbGFuZUxvY2FsU3RhdGUpIHJldHVybjtcblxuXHRcdFx0Z3JvdXBMb2NhbFN0YXRlLm9iamVjdHMoKTtcblx0XHRcdHNjZW5lTG9jYWxTdGF0ZS5vYmplY3RzKCk7XG5cdFx0XHRwbGFuZUxvY2FsU3RhdGUub2JqZWN0cygpO1xuXHRcdFx0cGxhbmVMb2NhbFN0YXRlLm5vbk9iamVjdHMoKTtcblxuXHRcdFx0Z3JvdXAudXBkYXRlV29ybGRNYXRyaXgoZmFsc2UsIHRydWUpO1xuXHRcdH0pO1xuXG5cdFx0Y29uc3QgdXBkYXRlID0gY3JlYXRlQ2F1c3RpY3NVcGRhdGUoKCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBsaWdodFNvdXJjZSwgLi4ucmVzdCB9ID0gdGhpcy5vcHRpb25zKCk7XG5cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHBhcmFtczogT2JqZWN0LmFzc2lnbihyZXN0LCB7XG5cdFx0XHRcdFx0bGlnaHRTb3VyY2U6IEFycmF5LmlzQXJyYXkobGlnaHRTb3VyY2UpID8gbmV3IFZlY3RvcjMoLi4ubGlnaHRTb3VyY2UpIDogcmVzb2x2ZVJlZihsaWdodFNvdXJjZSksXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRub3JtYWxUYXJnZXQ6IHRoaXMubm9ybWFsVGFyZ2V0KCksXG5cdFx0XHRcdG5vcm1hbFRhcmdldEI6IHRoaXMubm9ybWFsVGFyZ2V0QigpLFxuXHRcdFx0XHRjYXVzdGljc1RhcmdldDogdGhpcy5jYXVzdGljc1RhcmdldCgpLFxuXHRcdFx0XHRjYXVzdGljc1RhcmdldEI6IHRoaXMuY2F1c3RpY3NUYXJnZXRCKCksXG5cdFx0XHRcdGNhbWVyYTogdGhpcy5jYW1lcmFSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHRzY2VuZTogdGhpcy5zY2VuZVJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdGdyb3VwOiB0aGlzLmdyb3VwUmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0cGxhbmU6IHRoaXMucGxhbmVSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHRoZWxwZXI6IHRoaXMuY2FtZXJhSGVscGVyKCksXG5cdFx0XHR9O1xuXHRcdH0pO1xuXG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGdsIH0pID0+IHVwZGF0ZShnbCkpO1xuXHR9XG59XG4iXX0=
@@ -82,8 +82,8 @@ export class NgtsCenter {
82
82
  });
83
83
  });
84
84
  }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsCenter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.9", type: NgtsCenter, isStandalone: true, selector: "ngts-center", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { centered: "centered" }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "outerRef", first: true, predicate: ["outer"], descendants: true, isSignal: true }, { propertyName: "innerRef", first: true, predicate: ["inner"], descendants: true, isSignal: true }], ngImport: i0, template: `
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsCenter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsCenter, isStandalone: true, selector: "ngts-center", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { centered: "centered" }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "outerRef", first: true, predicate: ["outer"], descendants: true, isSignal: true }, { propertyName: "innerRef", first: true, predicate: ["inner"], descendants: true, isSignal: true }], ngImport: i0, template: `
87
87
  <ngt-group #group [parameters]="parameters()">
88
88
  <ngt-group #outer>
89
89
  <ngt-group #inner>
@@ -93,7 +93,7 @@ export class NgtsCenter {
93
93
  </ngt-group>
94
94
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsCenter, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsCenter, decorators: [{
97
97
  type: Component,
98
98
  args: [{
99
99
  selector: 'ngts-center',
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
111
111
  changeDetection: ChangeDetectionStrategy.OnPush,
112
112
  }]
113
113
  }], ctorParameters: () => [] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9jZW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQVksSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVksTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUF1Qy9ELE1BQU0sY0FBYyxHQUEwQztJQUM3RCxPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxDQUFDO0NBQ1gsQ0FBQztBQWlCRixNQUFNLE9BQU8sVUFBVTtJQXNDdEI7UUFyQ0EsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RSxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDL0IsS0FBSztZQUNMLE9BQU87WUFDUCxRQUFRO1lBQ1IsTUFBTTtZQUNOLE9BQU87WUFDUCxNQUFNO1lBQ04sU0FBUztZQUNULFVBQVU7WUFDVixVQUFVO1lBQ1YsVUFBVTtZQUNWLFNBQVM7WUFDVCxVQUFVO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsYUFBUSxHQUFHLE1BQU0sRUFBbUIsQ0FBQztRQUVyQyxhQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBb0IsT0FBTyxDQUFDLENBQUM7UUFDbEQs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RGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0b3V0cHV0LFxuXHR1bnRyYWNrZWQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGdldExvY2FsU3RhdGUsIE5ndEdyb3VwLCBvbWl0LCBwaWNrIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBCb3gzLCBHcm91cCwgT2JqZWN0M0QsIFNwaGVyZSwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzQ2VudGVyU3RhdGUge1xuXHQvKiogVGhlIG5leHQgcGFyZW50IGFib3ZlIDxDZW50ZXI+ICovXG5cdHBhcmVudDogT2JqZWN0M0Q7XG5cdC8qKiBUaGUgb3V0bW9zdCBjb250YWluZXIgZ3JvdXAgb2YgdGhlIDxDZW50ZXI+IGNvbXBvbmVudCAqL1xuXHRjb250YWluZXI6IE9iamVjdDNEO1xuXHR3aWR0aDogbnVtYmVyO1xuXHRoZWlnaHQ6IG51bWJlcjtcblx0ZGVwdGg6IG51bWJlcjtcblx0Ym91bmRpbmdCb3g6IEJveDM7XG5cdGJvdW5kaW5nU3BoZXJlOiBTcGhlcmU7XG5cdGNlbnRlcjogVmVjdG9yMztcblx0dmVydGljYWxBbGlnbm1lbnQ6IG51bWJlcjtcblx0aG9yaXpvbnRhbEFsaWdubWVudDogbnVtYmVyO1xuXHRkZXB0aEFsaWdubWVudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNDZW50ZXJPcHRpb25zIHtcblx0dG9wPzogYm9vbGVhbjtcblx0cmlnaHQ/OiBib29sZWFuO1xuXHRib3R0b20/OiBib29sZWFuO1xuXHRsZWZ0PzogYm9vbGVhbjtcblx0ZnJvbnQ/OiBib29sZWFuO1xuXHRiYWNrPzogYm9vbGVhbjtcblx0LyoqIERpc2FibGUgYWxsIGF4ZXMgKi9cblx0ZGlzYWJsZT86IGJvb2xlYW47XG5cdC8qKiBEaXNhYmxlIHgtYXhpcyBjZW50ZXJpbmcgKi9cblx0ZGlzYWJsZVg/OiBib29sZWFuO1xuXHQvKiogRGlzYWJsZSB5LWF4aXMgY2VudGVyaW5nICovXG5cdGRpc2FibGVZPzogYm9vbGVhbjtcblx0LyoqIERpc2FibGUgei1heGlzIGNlbnRlcmluZyAqL1xuXHRkaXNhYmxlWj86IGJvb2xlYW47XG5cdC8qKiBTZWUgaHR0cHM6Ly90aHJlZWpzLm9yZy9kb2NzL2luZGV4Lmh0bWw/cT1ib3gzI2FwaS9lbi9tYXRoL0JveDMuc2V0RnJvbU9iamVjdCAqL1xuXHRwcmVjaXNlOiBib29sZWFuO1xuXHQvKiogT3B0aW9uYWwgY2FjaGVLZXkgdG8ga2VlcCB0aGUgY29tcG9uZW50IGZyb20gcmVjYWxjdWxhdGluZyBvbiBldmVyeSByZW5kZXIgKi9cblx0Y2FjaGVLZXk6IGFueTtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IFBhcnRpYWw8Tmd0R3JvdXA+ICYgTmd0c0NlbnRlck9wdGlvbnMgPSB7XG5cdHByZWNpc2U6IHRydWUsXG5cdGNhY2hlS2V5OiAwLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1jZW50ZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgI2dyb3VwIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiPlxuXHRcdFx0PG5ndC1ncm91cCAjb3V0ZXI+XG5cdFx0XHRcdDxuZ3QtZ3JvdXAgI2lubmVyPlxuXHRcdFx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdFx0PC9uZ3QtZ3JvdXA+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNDZW50ZXIge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCd0b3AnLFxuXHRcdCdyaWdodCcsXG5cdFx0J2JvdHRvbScsXG5cdFx0J2xlZnQnLFxuXHRcdCdmcm9udCcsXG5cdFx0J2JhY2snLFxuXHRcdCdkaXNhYmxlJyxcblx0XHQnZGlzYWJsZVgnLFxuXHRcdCdkaXNhYmxlWScsXG5cdFx0J2Rpc2FibGVaJyxcblx0XHQncHJlY2lzZScsXG5cdFx0J2NhY2hlS2V5Jyxcblx0XSk7XG5cblx0Y2VudGVyZWQgPSBvdXRwdXQ8Tmd0c0NlbnRlclN0YXRlPigpO1xuXG5cdGdyb3VwUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ3JvdXAnKTtcblx0cHJpdmF0ZSBvdXRlclJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ291dGVyJyk7XG5cdHByaXZhdGUgaW5uZXJSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdpbm5lcicpO1xuXG5cdGNlbnRlck9wdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgW1xuXHRcdCd0b3AnLFxuXHRcdCdyaWdodCcsXG5cdFx0J2JvdHRvbScsXG5cdFx0J2xlZnQnLFxuXHRcdCdmcm9udCcsXG5cdFx0J2JhY2snLFxuXHRcdCdkaXNhYmxlJyxcblx0XHQnZGlzYWJsZVgnLFxuXHRcdCdkaXNhYmxlWScsXG5cdFx0J2Rpc2FibGVaJyxcblx0XHQncHJlY2lzZScsXG5cdFx0J2NhY2hlS2V5Jyxcblx0XSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgR3JvdXAgfSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgaW5uZXIgPSB0aGlzLmlubmVyUmVmKCkubmF0aXZlRWxlbWVudDtcblx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGlubmVyKTtcblx0XHRcdGlmICghbG9jYWxTdGF0ZSkgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBjaGlsZHJlbiA9IFtsb2NhbFN0YXRlLm9iamVjdHMoKSwgbG9jYWxTdGF0ZS5ub25PYmplY3RzKCldO1xuXHRcdFx0aWYgKCFjaGlsZHJlbj8ubGVuZ3RoKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFt7IHByZWNpc2UsIHRvcCwgYm90dG9tLCByaWdodCwgbGVmdCwgZnJvbnQsIGJhY2ssIGRpc2FibGUsIGRpc2FibGVaLCBkaXNhYmxlWSwgZGlzYWJsZVggfSwgZ3JvdXAsIG91dGVyXSA9XG5cdFx0XHRcdFt0aGlzLmNlbnRlck9wdGlvbnMoKSwgdGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQsIHRoaXMub3V0ZXJSZWYoKS5uYXRpdmVFbGVtZW50XTtcblxuXHRcdFx0b3V0ZXIubWF0cml4V29ybGQuaWRlbnRpdHkoKTtcblx0XHRcdGNvbnN0IGJveDMgPSBuZXcgQm94MygpLnNldEZyb21PYmplY3QoaW5uZXIsIHByZWNpc2UpO1xuXHRcdFx0Y29uc3QgY2VudGVyID0gbmV3IFZlY3RvcjMoKTtcblx0XHRcdGNvbnN0IHNwaGVyZSA9IG5ldyBTcGhlcmUoKTtcblxuXHRcdFx0Y29uc3Qgd2lkdGggPSBib3gzLm1heC54IC0gYm94My5taW4ueDtcblx0XHRcdGNvbnN0IGhlaWdodCA9IGJveDMubWF4LnkgLSBib3gzLm1pbi55O1xuXHRcdFx0Y29uc3QgZGVwdGggPSBib3gzLm1heC56IC0gYm94My5taW4uejtcblxuXHRcdFx0Ym94My5nZXRDZW50ZXIoY2VudGVyKTtcblx0XHRcdGJveDMuZ2V0Qm91bmRpbmdTcGhlcmUoc3BoZXJlKTtcblxuXHRcdFx0Y29uc3QgdkFsaWduID0gdG9wID8gaGVpZ2h0IC8gMiA6IGJvdHRvbSA/IC1oZWlnaHQgLyAyIDogMDtcblx0XHRcdGNvbnN0IGhBbGlnbiA9IGxlZnQgPyAtd2lkdGggLyAyIDogcmlnaHQgPyB3aWR0aCAvIDIgOiAwO1xuXHRcdFx0Y29uc3QgZEFsaWduID0gZnJvbnQgPyBkZXB0aCAvIDIgOiBiYWNrID8gLWRlcHRoIC8gMiA6IDA7XG5cblx0XHRcdG91dGVyLnBvc2l0aW9uLnNldChcblx0XHRcdFx0ZGlzYWJsZSB8fCBkaXNhYmxlWCA/IDAgOiAtY2VudGVyLnggKyBoQWxpZ24sXG5cdFx0XHRcdGRpc2FibGUgfHwgZGlzYWJsZVkgPyAwIDogLWNlbnRlci55ICsgdkFsaWduLFxuXHRcdFx0XHRkaXNhYmxlIHx8IGRpc2FibGVaID8gMCA6IC1jZW50ZXIueiArIGRBbGlnbixcblx0XHRcdCk7XG5cblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuY2VudGVyZWQuZW1pdCh7XG5cdFx0XHRcdFx0cGFyZW50OiBncm91cC5wYXJlbnQhLFxuXHRcdFx0XHRcdGNvbnRhaW5lcjogZ3JvdXAsXG5cdFx0XHRcdFx0d2lkdGgsXG5cdFx0XHRcdFx0aGVpZ2h0LFxuXHRcdFx0XHRcdGRlcHRoLFxuXHRcdFx0XHRcdGJvdW5kaW5nQm94OiBib3gzLFxuXHRcdFx0XHRcdGJvdW5kaW5nU3BoZXJlOiBzcGhlcmUsXG5cdFx0XHRcdFx0Y2VudGVyLFxuXHRcdFx0XHRcdHZlcnRpY2FsQWxpZ25tZW50OiB2QWxpZ24sXG5cdFx0XHRcdFx0aG9yaXpvbnRhbEFsaWdubWVudDogaEFsaWduLFxuXHRcdFx0XHRcdGRlcHRoQWxpZ25tZW50OiBkQWxpZ24sXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9jZW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQVksSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVksTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUF1Qy9ELE1BQU0sY0FBYyxHQUEwQztJQUM3RCxPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxDQUFDO0NBQ1gsQ0FBQztBQWlCRixNQUFNLE9BQU8sVUFBVTtJQXNDdEI7UUFyQ0EsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RSxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDL0IsS0FBSztZQUNMLE9BQU87WUFDUCxRQUFRO1lBQ1IsTUFBTTtZQUNOLE9BQU87WUFDUCxNQUFNO1lBQ04sU0FBUztZQUNULFVBQVU7WUFDVixVQUFVO1lBQ1YsVUFBVTtZQUNWLFNBQVM7WUFDVCxVQUFVO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsYUFBUSxHQUFHLE1BQU0sRUFBbUIsQ0FBQztRQUVyQyxhQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBb0IsT0FBTyxDQUFDLENBQUM7UUFDbEQs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RGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0b3V0cHV0LFxuXHR1bnRyYWNrZWQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGdldExvY2FsU3RhdGUsIE5ndEdyb3VwLCBvbWl0LCBwaWNrIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBCb3gzLCBHcm91cCwgT2JqZWN0M0QsIFNwaGVyZSwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzQ2VudGVyU3RhdGUge1xuXHQvKiogVGhlIG5leHQgcGFyZW50IGFib3ZlIDxDZW50ZXI+ICovXG5cdHBhcmVudDogT2JqZWN0M0Q7XG5cdC8qKiBUaGUgb3V0bW9zdCBjb250YWluZXIgZ3JvdXAgb2YgdGhlIDxDZW50ZXI+IGNvbXBvbmVudCAqL1xuXHRjb250YWluZXI6IE9iamVjdDNEO1xuXHR3aWR0aDogbnVtYmVyO1xuXHRoZWlnaHQ6IG51bWJlcjtcblx0ZGVwdGg6IG51bWJlcjtcblx0Ym91bmRpbmdCb3g6IEJveDM7XG5cdGJvdW5kaW5nU3BoZXJlOiBTcGhlcmU7XG5cdGNlbnRlcjogVmVjdG9yMztcblx0dmVydGljYWxBbGlnbm1lbnQ6IG51bWJlcjtcblx0aG9yaXpvbnRhbEFsaWdubWVudDogbnVtYmVyO1xuXHRkZXB0aEFsaWdubWVudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNDZW50ZXJPcHRpb25zIHtcblx0dG9wPzogYm9vbGVhbjtcblx0cmlnaHQ/OiBib29sZWFuO1xuXHRib3R0b20/OiBib29sZWFuO1xuXHRsZWZ0PzogYm9vbGVhbjtcblx0ZnJvbnQ/OiBib29sZWFuO1xuXHRiYWNrPzogYm9vbGVhbjtcblx0LyoqIERpc2FibGUgYWxsIGF4ZXMgKi9cblx0ZGlzYWJsZT86IGJvb2xlYW47XG5cdC8qKiBEaXNhYmxlIHgtYXhpcyBjZW50ZXJpbmcgKi9cblx0ZGlzYWJsZVg/OiBib29sZWFuO1xuXHQvKiogRGlzYWJsZSB5LWF4aXMgY2VudGVyaW5nICovXG5cdGRpc2FibGVZPzogYm9vbGVhbjtcblx0LyoqIERpc2FibGUgei1heGlzIGNlbnRlcmluZyAqL1xuXHRkaXNhYmxlWj86IGJvb2xlYW47XG5cdC8qKiBTZWUgaHR0cHM6Ly90aHJlZWpzLm9yZy9kb2NzL2luZGV4Lmh0bWw/cT1ib3gzI2FwaS9lbi9tYXRoL0JveDMuc2V0RnJvbU9iamVjdCAqL1xuXHRwcmVjaXNlOiBib29sZWFuO1xuXHQvKiogT3B0aW9uYWwgY2FjaGVLZXkgdG8ga2VlcCB0aGUgY29tcG9uZW50IGZyb20gcmVjYWxjdWxhdGluZyBvbiBldmVyeSByZW5kZXIgKi9cblx0Y2FjaGVLZXk6IGFueTtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IFBhcnRpYWw8Tmd0R3JvdXA+ICYgTmd0c0NlbnRlck9wdGlvbnMgPSB7XG5cdHByZWNpc2U6IHRydWUsXG5cdGNhY2hlS2V5OiAwLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1jZW50ZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgI2dyb3VwIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiPlxuXHRcdFx0PG5ndC1ncm91cCAjb3V0ZXI+XG5cdFx0XHRcdDxuZ3QtZ3JvdXAgI2lubmVyPlxuXHRcdFx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdFx0PC9uZ3QtZ3JvdXA+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNDZW50ZXIge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCd0b3AnLFxuXHRcdCdyaWdodCcsXG5cdFx0J2JvdHRvbScsXG5cdFx0J2xlZnQnLFxuXHRcdCdmcm9udCcsXG5cdFx0J2JhY2snLFxuXHRcdCdkaXNhYmxlJyxcblx0XHQnZGlzYWJsZVgnLFxuXHRcdCdkaXNhYmxlWScsXG5cdFx0J2Rpc2FibGVaJyxcblx0XHQncHJlY2lzZScsXG5cdFx0J2NhY2hlS2V5Jyxcblx0XSk7XG5cblx0Y2VudGVyZWQgPSBvdXRwdXQ8Tmd0c0NlbnRlclN0YXRlPigpO1xuXG5cdGdyb3VwUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ3JvdXAnKTtcblx0cHJpdmF0ZSBvdXRlclJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ291dGVyJyk7XG5cdHByaXZhdGUgaW5uZXJSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdpbm5lcicpO1xuXG5cdGNlbnRlck9wdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgW1xuXHRcdCd0b3AnLFxuXHRcdCdyaWdodCcsXG5cdFx0J2JvdHRvbScsXG5cdFx0J2xlZnQnLFxuXHRcdCdmcm9udCcsXG5cdFx0J2JhY2snLFxuXHRcdCdkaXNhYmxlJyxcblx0XHQnZGlzYWJsZVgnLFxuXHRcdCdkaXNhYmxlWScsXG5cdFx0J2Rpc2FibGVaJyxcblx0XHQncHJlY2lzZScsXG5cdFx0J2NhY2hlS2V5Jyxcblx0XSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgR3JvdXAgfSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgaW5uZXIgPSB0aGlzLmlubmVyUmVmKCkubmF0aXZlRWxlbWVudDtcblx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGlubmVyKTtcblx0XHRcdGlmICghbG9jYWxTdGF0ZSkgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBjaGlsZHJlbiA9IFtsb2NhbFN0YXRlLm9iamVjdHMoKSwgbG9jYWxTdGF0ZS5ub25PYmplY3RzKCldO1xuXHRcdFx0aWYgKCFjaGlsZHJlbj8ubGVuZ3RoKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFt7IHByZWNpc2UsIHRvcCwgYm90dG9tLCByaWdodCwgbGVmdCwgZnJvbnQsIGJhY2ssIGRpc2FibGUsIGRpc2FibGVaLCBkaXNhYmxlWSwgZGlzYWJsZVggfSwgZ3JvdXAsIG91dGVyXSA9XG5cdFx0XHRcdFt0aGlzLmNlbnRlck9wdGlvbnMoKSwgdGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQsIHRoaXMub3V0ZXJSZWYoKS5uYXRpdmVFbGVtZW50XTtcblxuXHRcdFx0b3V0ZXIubWF0cml4V29ybGQuaWRlbnRpdHkoKTtcblx0XHRcdGNvbnN0IGJveDMgPSBuZXcgQm94MygpLnNldEZyb21PYmplY3QoaW5uZXIsIHByZWNpc2UpO1xuXHRcdFx0Y29uc3QgY2VudGVyID0gbmV3IFZlY3RvcjMoKTtcblx0XHRcdGNvbnN0IHNwaGVyZSA9IG5ldyBTcGhlcmUoKTtcblxuXHRcdFx0Y29uc3Qgd2lkdGggPSBib3gzLm1heC54IC0gYm94My5taW4ueDtcblx0XHRcdGNvbnN0IGhlaWdodCA9IGJveDMubWF4LnkgLSBib3gzLm1pbi55O1xuXHRcdFx0Y29uc3QgZGVwdGggPSBib3gzLm1heC56IC0gYm94My5taW4uejtcblxuXHRcdFx0Ym94My5nZXRDZW50ZXIoY2VudGVyKTtcblx0XHRcdGJveDMuZ2V0Qm91bmRpbmdTcGhlcmUoc3BoZXJlKTtcblxuXHRcdFx0Y29uc3QgdkFsaWduID0gdG9wID8gaGVpZ2h0IC8gMiA6IGJvdHRvbSA/IC1oZWlnaHQgLyAyIDogMDtcblx0XHRcdGNvbnN0IGhBbGlnbiA9IGxlZnQgPyAtd2lkdGggLyAyIDogcmlnaHQgPyB3aWR0aCAvIDIgOiAwO1xuXHRcdFx0Y29uc3QgZEFsaWduID0gZnJvbnQgPyBkZXB0aCAvIDIgOiBiYWNrID8gLWRlcHRoIC8gMiA6IDA7XG5cblx0XHRcdG91dGVyLnBvc2l0aW9uLnNldChcblx0XHRcdFx0ZGlzYWJsZSB8fCBkaXNhYmxlWCA/IDAgOiAtY2VudGVyLnggKyBoQWxpZ24sXG5cdFx0XHRcdGRpc2FibGUgfHwgZGlzYWJsZVkgPyAwIDogLWNlbnRlci55ICsgdkFsaWduLFxuXHRcdFx0XHRkaXNhYmxlIHx8IGRpc2FibGVaID8gMCA6IC1jZW50ZXIueiArIGRBbGlnbixcblx0XHRcdCk7XG5cblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuY2VudGVyZWQuZW1pdCh7XG5cdFx0XHRcdFx0cGFyZW50OiBncm91cC5wYXJlbnQhLFxuXHRcdFx0XHRcdGNvbnRhaW5lcjogZ3JvdXAsXG5cdFx0XHRcdFx0d2lkdGgsXG5cdFx0XHRcdFx0aGVpZ2h0LFxuXHRcdFx0XHRcdGRlcHRoLFxuXHRcdFx0XHRcdGJvdW5kaW5nQm94OiBib3gzLFxuXHRcdFx0XHRcdGJvdW5kaW5nU3BoZXJlOiBzcGhlcmUsXG5cdFx0XHRcdFx0Y2VudGVyLFxuXHRcdFx0XHRcdHZlcnRpY2FsQWxpZ25tZW50OiB2QWxpZ24sXG5cdFx0XHRcdFx0aG9yaXpvbnRhbEFsaWdubWVudDogaEFsaWduLFxuXHRcdFx0XHRcdGRlcHRoQWxpZ25tZW50OiBkQWxpZ24sXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -163,8 +163,8 @@ export class NgtsContactShadows {
163
163
  renderTarget.texture.generateMipmaps = false;
164
164
  return renderTarget;
165
165
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsContactShadows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.9", type: NgtsContactShadows, isStandalone: true, selector: "ngts-contact-shadows", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "contactShadowsRef", first: true, predicate: ["contactShadows"], descendants: true, isSignal: true }, { propertyName: "shadowsCameraRef", first: true, predicate: ["shadowsCamera"], descendants: true, isSignal: true }], ngImport: i0, template: `
166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsContactShadows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsContactShadows, isStandalone: true, selector: "ngts-contact-shadows", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "contactShadowsRef", first: true, predicate: ["contactShadows"], descendants: true, isSignal: true }, { propertyName: "shadowsCameraRef", first: true, predicate: ["shadowsCamera"], descendants: true, isSignal: true }], ngImport: i0, template: `
168
168
  <ngt-group #contactShadows [rotation]="[Math.PI / 2, 0, 0]" [parameters]="parameters()">
169
169
  <ngt-mesh
170
170
  [scale]="[1, -1, 1]"
@@ -183,7 +183,7 @@ export class NgtsContactShadows {
183
183
  </ngt-group>
184
184
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtsContactShadows, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsContactShadows, decorators: [{
187
187
  type: Component,
188
188
  args: [{
189
189
  selector: 'ngts-contact-shadows',
@@ -211,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
211
211
  changeDetection: ChangeDetectionStrategy.OnPush,
212
212
  }]
213
213
  }], ctorParameters: () => [] });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1zaGFkb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9jb250YWN0LXNoYWRvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ04sS0FBSyxFQUVMLEtBQUssRUFDTCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGNBQWMsRUFDZCxpQkFBaUIsR0FDakIsTUFBTSxPQUFPLENBQUM7QUFDZixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBaUJ4RSxNQUFNLGNBQWMsR0FBOEI7SUFDakQsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLElBQUksRUFBRSxDQUFDO0lBQ1AsR0FBRyxFQUFFLEVBQUU7SUFDUCxVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLFNBQVM7SUFDaEIsVUFBVSxFQUFFLEtBQUs7Q0FDakIsQ0FBQztBQTJCRixNQUFNLE9BQU8sa0JBQWtCO0lBZ0Y5QjtRQS9FQSxTQUFJLEdBQUcs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X0VMRU1FTlRTX1NDSEVNQSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0Y29tcHV0ZWQsXG5cdGlucHV0LFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0R3JvdXAsIGV4dGVuZCwgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSwgb21pdCwgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHtcblx0Q29sb3IsXG5cdENvbG9yUmVwcmVzZW50YXRpb24sXG5cdEdyb3VwLFxuXHRNZXNoLFxuXHRNZXNoQmFzaWNNYXRlcmlhbCxcblx0TWVzaERlcHRoTWF0ZXJpYWwsXG5cdE9ydGhvZ3JhcGhpY0NhbWVyYSxcblx0UGxhbmVHZW9tZXRyeSxcblx0U2hhZGVyTWF0ZXJpYWwsXG5cdFdlYkdMUmVuZGVyVGFyZ2V0LFxufSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBIb3Jpem9udGFsQmx1clNoYWRlciwgVmVydGljYWxCbHVyU2hhZGVyIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzQ29udGFjdFNoYWRvd3NPcHRpb25zIGV4dGVuZHMgUGFydGlhbDxPbWl0PE5ndEdyb3VwLCAnc2NhbGUnPj4ge1xuXHRvcGFjaXR5OiBudW1iZXI7XG5cdHdpZHRoOiBudW1iZXI7XG5cdGhlaWdodDogbnVtYmVyO1xuXHRibHVyOiBudW1iZXI7XG5cdG5lYXI6IG51bWJlcjtcblx0ZmFyOiBudW1iZXI7XG5cdHNtb290aDogYm9vbGVhbjtcblx0cmVzb2x1dGlvbjogbnVtYmVyO1xuXHRmcmFtZXM6IG51bWJlcjtcblx0c2NhbGU6IG51bWJlciB8IFt4OiBudW1iZXIsIHk6IG51bWJlcl07XG5cdGNvbG9yOiBDb2xvclJlcHJlc2VudGF0aW9uO1xuXHRkZXB0aFdyaXRlOiBib29sZWFuO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c0NvbnRhY3RTaGFkb3dzT3B0aW9ucyA9IHtcblx0c2NhbGU6IDEwLFxuXHRmcmFtZXM6IEluZmluaXR5LFxuXHRvcGFjaXR5OiAxLFxuXHR3aWR0aDogMSxcblx0aGVpZ2h0OiAxLFxuXHRibHVyOiAxLFxuXHRuZWFyOiAwLFxuXHRmYXI6IDEwLFxuXHRyZXNvbHV0aW9uOiA1MTIsXG5cdHNtb290aDogdHJ1ZSxcblx0Y29sb3I6ICcjMDAwMDAwJyxcblx0ZGVwdGhXcml0ZTogZmFsc2UsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWNvbnRhY3Qtc2hhZG93cycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCAjY29udGFjdFNoYWRvd3MgW3JvdGF0aW9uXT1cIltNYXRoLlBJIC8gMiwgMCwgMF1cIiBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzKClcIj5cblx0XHRcdDxuZ3QtbWVzaFxuXHRcdFx0XHRbc2NhbGVdPVwiWzEsIC0xLCAxXVwiXG5cdFx0XHRcdFtyb3RhdGlvbl09XCJbLU1hdGguUEkgLyAyLCAwLCAwXVwiXG5cdFx0XHRcdFtyZW5kZXJPcmRlcl09XCJyZW5kZXJPcmRlcigpID8/IDBcIlxuXHRcdFx0XHRbZ2VvbWV0cnldPVwicGxhbmVHZW9tZXRyeSgpXCJcblx0XHRcdD5cblx0XHRcdFx0PG5ndC1tZXNoLWJhc2ljLW1hdGVyaWFsXG5cdFx0XHRcdFx0W3RyYW5zcGFyZW50XT1cInRydWVcIlxuXHRcdFx0XHRcdFtvcGFjaXR5XT1cIm9wYWNpdHkoKVwiXG5cdFx0XHRcdFx0W2RlcHRoV3JpdGVdPVwiZGVwdGhXcml0ZSgpXCJcblx0XHRcdFx0XHRbbWFwXT1cInRleHR1cmUoKVwiXG5cdFx0XHRcdC8+XG5cdFx0XHQ8L25ndC1tZXNoPlxuXHRcdFx0PG5ndC1vcnRob2dyYXBoaWMtY2FtZXJhICphcmdzPVwiY2FtZXJhQXJncygpXCIgI3NoYWRvd3NDYW1lcmEgLz5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzQ29udGFjdFNoYWRvd3Mge1xuXHRNYXRoID0gTWF0aDtcblxuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdzY2FsZScsXG5cdFx0J2ZyYW1lcycsXG5cdFx0J29wYWNpdHknLFxuXHRcdCd3aWR0aCcsXG5cdFx0J2hlaWdodCcsXG5cdFx0J2JsdXInLFxuXHRcdCduZWFyJyxcblx0XHQnZmFyJyxcblx0XHQncmVzb2x1dGlvbicsXG5cdFx0J3Ntb290aCcsXG5cdFx0J2NvbG9yJyxcblx0XHQnZGVwdGhXcml0ZScsXG5cdFx0J3JlbmRlck9yZGVyJyxcblx0XSk7XG5cblx0Y29udGFjdFNoYWRvd3NSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdjb250YWN0U2hhZG93cycpO1xuXHRzaGFkb3dzQ2FtZXJhUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8T3J0aG9ncmFwaGljQ2FtZXJhPj4oJ3NoYWRvd3NDYW1lcmEnKTtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0cHJpdmF0ZSBzY2VuZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzY2VuZScpO1xuXHRwcml2YXRlIGdsID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2dsJyk7XG5cblx0cHJpdmF0ZSBzY2FsZWRXaWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB7IHdpZHRoLCBzY2FsZSB9ID0gdGhpcy5vcHRpb25zKCk7XG5cdFx0cmV0dXJuIHdpZHRoICogKEFycmF5LmlzQXJyYXkoc2NhbGUpID8gc2NhbGVbMF0gOiBzY2FsZSk7XG5cdH0pO1xuXHRwcml2YXRlIHNjYWxlZEhlaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB7IGhlaWdodCwgc2NhbGUgfSA9IHRoaXMub3B0aW9ucygpO1xuXHRcdHJldHVybiBoZWlnaHQgKiAoQXJyYXkuaXNBcnJheShzY2FsZSkgPyBzY2FsZVsxXSA6IHNjYWxlKTtcblx0fSk7XG5cdHByaXZhdGUgcmVzb2x1dGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAncmVzb2x1dGlvbicpO1xuXHRwcml2YXRlIGNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdjb2xvcicpO1xuXHRwcml2YXRlIG5lYXIgPSBwaWNrKHRoaXMub3B0aW9ucywgJ25lYXInKTtcblx0cHJpdmF0ZSBmYXIgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2ZhcicpO1xuXHRwcml2YXRlIHNtb290aCA9IHBpY2sodGhpcy5vcHRpb25zLCAnc21vb3RoJyk7XG5cdHByaXZhdGUgZnJhbWVzID0gcGljayh0aGlzLm9wdGlvbnMsICdmcmFtZXMnKTtcblx0cHJpdmF0ZSBibHVyID0gcGljayh0aGlzLm9wdGlvbnMsICdibHVyJyk7XG5cblx0cHJpdmF0ZSByZW5kZXJUYXJnZXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNyZWF0ZVJlbmRlclRhcmdldCh0aGlzLnJlc29sdXRpb24oKSkpO1xuXHRwcml2YXRlIHJlbmRlclRhcmdldEJsdXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNyZWF0ZVJlbmRlclRhcmdldCh0aGlzLnJlc29sdXRpb24oKSkpO1xuXHRwbGFuZUdlb21ldHJ5ID0gY29tcHV0ZWQoKCkgPT4gbmV3IFBsYW5lR2VvbWV0cnkodGhpcy5zY2FsZWRXaWR0aCgpLCB0aGlzLnNjYWxlZEhlaWdodCgpKS5yb3RhdGVYKE1hdGguUEkgLyAyKSk7XG5cdHByaXZhdGUgYmx1clBsYW5lID0gY29tcHV0ZWQoKCkgPT4gbmV3IE1lc2godGhpcy5wbGFuZUdlb21ldHJ5KCkpKTtcblx0cHJpdmF0ZSBkZXB0aE1hdGVyaWFsID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNvbG9yID0gbmV3IENvbG9yKHRoaXMuY29sb3IoKSk7XG5cdFx0Y29uc3QgbWF0ZXJpYWwgPSBuZXcgTWVzaERlcHRoTWF0ZXJpYWwoKTtcblx0XHRtYXRlcmlhbC5kZXB0aFRlc3QgPSBtYXRlcmlhbC5kZXB0aFdyaXRlID0gZmFsc2U7XG5cdFx0bWF0ZXJpYWwub25CZWZvcmVDb21waWxlID0gKHNoYWRlcikgPT4ge1xuXHRcdFx0c2hhZGVyLnVuaWZvcm1zID0geyAuLi5zaGFkZXIudW5pZm9ybXMsIHVjb2xvcjogeyB2YWx1ZTogY29sb3IgfSB9O1xuXHRcdFx0c2hhZGVyLmZyYWdtZW50U2hhZGVyID0gc2hhZGVyLmZyYWdtZW50U2hhZGVyLnJlcGxhY2UoXG5cdFx0XHRcdGB2b2lkIG1haW4oKSB7YCwgLy9cblx0XHRcdFx0YHVuaWZvcm0gdmVjMyB1Y29sb3I7XG4gICAgICAgICB2b2lkIG1haW4oKSB7XG4gICAgICAgIGAsXG5cdFx0XHQpO1xuXHRcdFx0c2hhZGVyLmZyYWdtZW50U2hhZGVyID0gc2hhZGVyLmZyYWdtZW50U2hhZGVyLnJlcGxhY2UoXG5cdFx0XHRcdCd2ZWM0KCB2ZWMzKCAxLjAgLSBmcmFnQ29vcmRaICksIG9wYWNpdHkgKTsnLFxuXHRcdFx0XHQvLyBDb2xvcml6ZSB0aGUgc2hhZG93LCBtdWx0aXBseSBieSB0aGUgZmFsbG9mZiBzbyB0aGF0IHRoZSBjZW50ZXIgY2FuIHJlbWFpbiBkYXJrZXJcblx0XHRcdFx0J3ZlYzQoIHVjb2xvciAqIGZyYWdDb29yZFogKiAyLjAsICggMS4wIC0gZnJhZ0Nvb3JkWiApICogMS4wICk7Jyxcblx0XHRcdCk7XG5cdFx0fTtcblx0XHRyZXR1cm4gbWF0ZXJpYWw7XG5cdH0pO1xuXG5cdHByaXZhdGUgaG9yaXpvbnRhbEJsdXJNYXRlcmlhbCA9IG5ldyBTaGFkZXJNYXRlcmlhbCh7IC4uLkhvcml6b250YWxCbHVyU2hhZGVyLCBkZXB0aFRlc3Q6IGZhbHNlIH0pO1xuXHRwcml2YXRlIHZlcnRpY2FsQmx1ck1hdGVyaWFsID0gbmV3IFNoYWRlck1hdGVyaWFsKHsgLi4uVmVydGljYWxCbHVyU2hhZGVyLCBkZXB0aFRlc3Q6IGZhbHNlIH0pO1xuXG5cdHJlbmRlck9yZGVyID0gcGljayh0aGlzLm9wdGlvbnMsICdyZW5kZXJPcmRlcicpO1xuXHRvcGFjaXR5ID0gcGljayh0aGlzLm9wdGlvbnMsICdvcGFjaXR5Jyk7XG5cdGRlcHRoV3JpdGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2RlcHRoV3JpdGUnKTtcblx0dGV4dHVyZSA9IHBpY2sodGhpcy5yZW5kZXJUYXJnZXQsICd0ZXh0dXJlJyk7XG5cdGNhbWVyYUFyZ3MgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgW3dpZHRoLCBoZWlnaHQsIG5lYXIsIGZhcl0gPSBbdGhpcy5zY2FsZWRXaWR0aCgpLCB0aGlzLnNjYWxlZEhlaWdodCgpLCB0aGlzLm5lYXIoKSwgdGhpcy5mYXIoKV07XG5cdFx0cmV0dXJuIFstd2lkdGggLyAyLCB3aWR0aCAvIDIsIGhlaWdodCAvIDIsIC1oZWlnaHQgLyAyLCBuZWFyLCBmYXJdO1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRleHRlbmQoeyBHcm91cCwgTWVzaCwgTWVzaEJhc2ljTWF0ZXJpYWwsIE9ydGhvZ3JhcGhpY0NhbWVyYSB9KTtcblxuXHRcdGxldCBjb3VudCA9IDA7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGNvbnN0IHNoYWRvd3NDYW1lcmEgPSB0aGlzLnNoYWRvd3NDYW1lcmFSZWYoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmICghc2hhZG93c0NhbWVyYSkgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBmcmFtZXMgPSB0aGlzLmZyYW1lcygpO1xuXHRcdFx0aWYgKGZyYW1lcyA9PT0gSW5maW5pdHkgfHwgY291bnQgPCBmcmFtZXMpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJTaGFkb3dzKCk7XG5cdFx0XHRcdGNvdW50Kys7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIHJlbmRlclNoYWRvd3MoKSB7XG5cdFx0Y29uc3Qgc2hhZG93c0NhbWVyYSA9IHRoaXMuc2hhZG93c0NhbWVyYVJlZigpPy5uYXRpdmVFbGVtZW50O1xuXHRcdGlmICghc2hhZG93c0NhbWVyYSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgW2JsdXIsIHNtb290aCwgZ2wsIHNjZW5lLCBjb250YWN0U2hhZG93cywgZGVwdGhNYXRlcmlhbCwgcmVuZGVyVGFyZ2V0XSA9IFtcblx0XHRcdHRoaXMuYmx1cigpLFxuXHRcdFx0dGhpcy5zbW9vdGgoKSxcblx0XHRcdHRoaXMuZ2woKSxcblx0XHRcdHRoaXMuc2NlbmUoKSxcblx0XHRcdHRoaXMuY29udGFjdFNoYWRvd3NSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5kZXB0aE1hdGVyaWFsKCksXG5cdFx0XHR0aGlzLnJlbmRlclRhcmdldCgpLFxuXHRcdF07XG5cblx0XHRjb25zdCBpbml0aWFsQmFja2dyb3VuZCA9IHNjZW5lLmJhY2tncm91bmQ7XG5cdFx0Y29uc3QgaW5pdGlhbE92ZXJyaWRlTWF0ZXJpYWwgPSBzY2VuZS5vdmVycmlkZU1hdGVyaWFsO1xuXHRcdGNvbnN0IGluaXRpYWxDbGVhckFscGhhID0gZ2wuZ2V0Q2xlYXJBbHBoYSgpO1xuXG5cdFx0Y29udGFjdFNoYWRvd3MudmlzaWJsZSA9IGZhbHNlO1xuXHRcdHNjZW5lLmJhY2tncm91bmQgPSBudWxsO1xuXHRcdHNjZW5lLm92ZXJyaWRlTWF0ZXJpYWwgPSBkZXB0aE1hdGVyaWFsO1xuXHRcdGdsLnNldENsZWFyQWxwaGEoMCk7XG5cblx0XHQvLyByZW5kZXIgdG8gdGhlIHJlbmRlciB0YXJnZXQgdG8gZ2V0IHRoZSBkZXB0aHNcblx0XHRnbC5zZXRSZW5kZXJUYXJnZXQocmVuZGVyVGFyZ2V0KTtcblx0XHRnbC5yZW5kZXIoc2NlbmUsIHNoYWRvd3NDYW1lcmEpO1xuXG5cdFx0dGhpcy5ibHVyU2hhZG93cyhibHVyKTtcblx0XHRpZiAoc21vb3RoKSB0aGlzLmJsdXJTaGFkb3dzKGJsdXIgKiAwLjQpO1xuXG5cdFx0Ly8gcmVzZXRcblx0XHRnbC5zZXRSZW5kZXJUYXJnZXQobnVsbCk7XG5cblx0XHRjb250YWN0U2hhZG93cy52aXNpYmxlID0gdHJ1ZTtcblx0XHRzY2VuZS5vdmVycmlkZU1hdGVyaWFsID0gaW5pdGlhbE92ZXJyaWRlTWF0ZXJpYWw7XG5cdFx0c2NlbmUuYmFja2dyb3VuZCA9IGluaXRpYWxCYWNrZ3JvdW5kO1xuXHRcdGdsLnNldENsZWFyQWxwaGEoaW5pdGlhbENsZWFyQWxwaGEpO1xuXHR9XG5cblx0cHJpdmF0ZSBibHVyU2hhZG93cyhibHVyOiBudW1iZXIpIHtcblx0XHRjb25zdCBzaGFkb3dzQ2FtZXJhID0gdGhpcy5zaGFkb3dzQ2FtZXJhUmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cdFx0aWYgKCFzaGFkb3dzQ2FtZXJhKSByZXR1cm47XG5cblx0XHRjb25zdCBbYmx1clBsYW5lLCBob3Jpem9udGFsQmx1ck1hdGVyaWFsLCB2ZXJ0aWNhbEJsdXJNYXRlcmlhbCwgcmVuZGVyVGFyZ2V0Qmx1ciwgcmVuZGVyVGFyZ2V0LCBnbF0gPSBbXG5cdFx0XHR0aGlzLmJsdXJQbGFuZSgpLFxuXHRcdFx0dGhpcy5ob3Jpem9udGFsQmx1ck1hdGVyaWFsLFxuXHRcdFx0dGhpcy52ZXJ0aWNhbEJsdXJNYXRlcmlhbCxcblx0XHRcdHRoaXMucmVuZGVyVGFyZ2V0Qmx1cigpLFxuXHRcdFx0dGhpcy5yZW5kZXJUYXJnZXQoKSxcblx0XHRcdHRoaXMuZ2woKSxcblx0XHRdO1xuXG5cdFx0Ymx1clBsYW5lLnZpc2libGUgPSB0cnVlO1xuXHRcdGJsdXJQbGFuZS5tYXRlcmlhbCA9IGhvcml6b250YWxCbHVyTWF0ZXJpYWw7XG5cdFx0aG9yaXpvbnRhbEJsdXJNYXRlcmlhbC51bmlmb3Jtc1sndERpZmZ1c2UnXS52YWx1ZSA9IHJlbmRlclRhcmdldC50ZXh0dXJlO1xuXHRcdGhvcml6b250YWxCbHVyTWF0ZXJpYWwudW5pZm9ybXNbJ2gnXS52YWx1ZSA9IGJsdXIgLyAyNTY7XG5cdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KHJlbmRlclRhcmdldEJsdXIpO1xuXHRcdGdsLnJlbmRlcihibHVyUGxhbmUsIHNoYWRvd3NDYW1lcmEpO1xuXG5cdFx0Ymx1clBsYW5lLm1hdGVyaWFsID0gdmVydGljYWxCbHVyTWF0ZXJpYWw7XG5cdFx0dmVydGljYWxCbHVyTWF0ZXJpYWwudW5pZm9ybXNbJ3REaWZmdXNlJ10udmFsdWUgPSByZW5kZXJUYXJnZXRCbHVyLnRleHR1cmU7XG5cdFx0dmVydGljYWxCbHVyTWF0ZXJpYWwudW5pZm9ybXNbJ3YnXS52YWx1ZSA9IGJsdXIgLyAyNTY7XG5cdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KHJlbmRlclRhcmdldCk7XG5cdFx0Z2wucmVuZGVyKGJsdXJQbGFuZSwgc2hhZG93c0NhbWVyYSk7XG5cdFx0Ymx1clBsYW5lLnZpc2libGUgPSBmYWxzZTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlUmVuZGVyVGFyZ2V0KHJlc29sdXRpb246IG51bWJlcikge1xuXHRcdGNvbnN0IHJlbmRlclRhcmdldCA9IG5ldyBXZWJHTFJlbmRlclRhcmdldChyZXNvbHV0aW9uLCByZXNvbHV0aW9uKTtcblx0XHRyZW5kZXJUYXJnZXQudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHMgPSBmYWxzZTtcblx0XHRyZXR1cm4gcmVuZGVyVGFyZ2V0O1xuXHR9XG59XG4iXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1zaGFkb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9jb250YWN0LXNoYWRvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ04sS0FBSyxFQUVMLEtBQUssRUFDTCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGNBQWMsRUFDZCxpQkFBaUIsR0FDakIsTUFBTSxPQUFPLENBQUM7QUFDZixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBaUJ4RSxNQUFNLGNBQWMsR0FBOEI7SUFDakQsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLElBQUksRUFBRSxDQUFDO0lBQ1AsR0FBRyxFQUFFLEVBQUU7SUFDUCxVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLFNBQVM7SUFDaEIsVUFBVSxFQUFFLEtBQUs7Q0FDakIsQ0FBQztBQTJCRixNQUFNLE9BQU8sa0JBQWtCO0lBZ0Y5QjtRQS9FQSxTQUFJLEdBQUcs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X0VMRU1FTlRTX1NDSEVNQSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0Y29tcHV0ZWQsXG5cdGlucHV0LFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0R3JvdXAsIGV4dGVuZCwgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSwgb21pdCwgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHtcblx0Q29sb3IsXG5cdENvbG9yUmVwcmVzZW50YXRpb24sXG5cdEdyb3VwLFxuXHRNZXNoLFxuXHRNZXNoQmFzaWNNYXRlcmlhbCxcblx0TWVzaERlcHRoTWF0ZXJpYWwsXG5cdE9ydGhvZ3JhcGhpY0NhbWVyYSxcblx0UGxhbmVHZW9tZXRyeSxcblx0U2hhZGVyTWF0ZXJpYWwsXG5cdFdlYkdMUmVuZGVyVGFyZ2V0LFxufSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBIb3Jpem9udGFsQmx1clNoYWRlciwgVmVydGljYWxCbHVyU2hhZGVyIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzQ29udGFjdFNoYWRvd3NPcHRpb25zIGV4dGVuZHMgUGFydGlhbDxPbWl0PE5ndEdyb3VwLCAnc2NhbGUnPj4ge1xuXHRvcGFjaXR5OiBudW1iZXI7XG5cdHdpZHRoOiBudW1iZXI7XG5cdGhlaWdodDogbnVtYmVyO1xuXHRibHVyOiBudW1iZXI7XG5cdG5lYXI6IG51bWJlcjtcblx0ZmFyOiBudW1iZXI7XG5cdHNtb290aDogYm9vbGVhbjtcblx0cmVzb2x1dGlvbjogbnVtYmVyO1xuXHRmcmFtZXM6IG51bWJlcjtcblx0c2NhbGU6IG51bWJlciB8IFt4OiBudW1iZXIsIHk6IG51bWJlcl07XG5cdGNvbG9yOiBDb2xvclJlcHJlc2VudGF0aW9uO1xuXHRkZXB0aFdyaXRlOiBib29sZWFuO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c0NvbnRhY3RTaGFkb3dzT3B0aW9ucyA9IHtcblx0c2NhbGU6IDEwLFxuXHRmcmFtZXM6IEluZmluaXR5LFxuXHRvcGFjaXR5OiAxLFxuXHR3aWR0aDogMSxcblx0aGVpZ2h0OiAxLFxuXHRibHVyOiAxLFxuXHRuZWFyOiAwLFxuXHRmYXI6IDEwLFxuXHRyZXNvbHV0aW9uOiA1MTIsXG5cdHNtb290aDogdHJ1ZSxcblx0Y29sb3I6ICcjMDAwMDAwJyxcblx0ZGVwdGhXcml0ZTogZmFsc2UsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWNvbnRhY3Qtc2hhZG93cycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCAjY29udGFjdFNoYWRvd3MgW3JvdGF0aW9uXT1cIltNYXRoLlBJIC8gMiwgMCwgMF1cIiBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzKClcIj5cblx0XHRcdDxuZ3QtbWVzaFxuXHRcdFx0XHRbc2NhbGVdPVwiWzEsIC0xLCAxXVwiXG5cdFx0XHRcdFtyb3RhdGlvbl09XCJbLU1hdGguUEkgLyAyLCAwLCAwXVwiXG5cdFx0XHRcdFtyZW5kZXJPcmRlcl09XCJyZW5kZXJPcmRlcigpID8/IDBcIlxuXHRcdFx0XHRbZ2VvbWV0cnldPVwicGxhbmVHZW9tZXRyeSgpXCJcblx0XHRcdD5cblx0XHRcdFx0PG5ndC1tZXNoLWJhc2ljLW1hdGVyaWFsXG5cdFx0XHRcdFx0W3RyYW5zcGFyZW50XT1cInRydWVcIlxuXHRcdFx0XHRcdFtvcGFjaXR5XT1cIm9wYWNpdHkoKVwiXG5cdFx0XHRcdFx0W2RlcHRoV3JpdGVdPVwiZGVwdGhXcml0ZSgpXCJcblx0XHRcdFx0XHRbbWFwXT1cInRleHR1cmUoKVwiXG5cdFx0XHRcdC8+XG5cdFx0XHQ8L25ndC1tZXNoPlxuXHRcdFx0PG5ndC1vcnRob2dyYXBoaWMtY2FtZXJhICphcmdzPVwiY2FtZXJhQXJncygpXCIgI3NoYWRvd3NDYW1lcmEgLz5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzQ29udGFjdFNoYWRvd3Mge1xuXHRNYXRoID0gTWF0aDtcblxuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdzY2FsZScsXG5cdFx0J2ZyYW1lcycsXG5cdFx0J29wYWNpdHknLFxuXHRcdCd3aWR0aCcsXG5cdFx0J2hlaWdodCcsXG5cdFx0J2JsdXInLFxuXHRcdCduZWFyJyxcblx0XHQnZmFyJyxcblx0XHQncmVzb2x1dGlvbicsXG5cdFx0J3Ntb290aCcsXG5cdFx0J2NvbG9yJyxcblx0XHQnZGVwdGhXcml0ZScsXG5cdFx0J3JlbmRlck9yZGVyJyxcblx0XSk7XG5cblx0Y29udGFjdFNoYWRvd3NSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdjb250YWN0U2hhZG93cycpO1xuXHRzaGFkb3dzQ2FtZXJhUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8T3J0aG9ncmFwaGljQ2FtZXJhPj4oJ3NoYWRvd3NDYW1lcmEnKTtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0cHJpdmF0ZSBzY2VuZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzY2VuZScpO1xuXHRwcml2YXRlIGdsID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2dsJyk7XG5cblx0cHJpdmF0ZSBzY2FsZWRXaWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB7IHdpZHRoLCBzY2FsZSB9ID0gdGhpcy5vcHRpb25zKCk7XG5cdFx0cmV0dXJuIHdpZHRoICogKEFycmF5LmlzQXJyYXkoc2NhbGUpID8gc2NhbGVbMF0gOiBzY2FsZSk7XG5cdH0pO1xuXHRwcml2YXRlIHNjYWxlZEhlaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB7IGhlaWdodCwgc2NhbGUgfSA9IHRoaXMub3B0aW9ucygpO1xuXHRcdHJldHVybiBoZWlnaHQgKiAoQXJyYXkuaXNBcnJheShzY2FsZSkgPyBzY2FsZVsxXSA6IHNjYWxlKTtcblx0fSk7XG5cdHByaXZhdGUgcmVzb2x1dGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAncmVzb2x1dGlvbicpO1xuXHRwcml2YXRlIGNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdjb2xvcicpO1xuXHRwcml2YXRlIG5lYXIgPSBwaWNrKHRoaXMub3B0aW9ucywgJ25lYXInKTtcblx0cHJpdmF0ZSBmYXIgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2ZhcicpO1xuXHRwcml2YXRlIHNtb290aCA9IHBpY2sodGhpcy5vcHRpb25zLCAnc21vb3RoJyk7XG5cdHByaXZhdGUgZnJhbWVzID0gcGljayh0aGlzLm9wdGlvbnMsICdmcmFtZXMnKTtcblx0cHJpdmF0ZSBibHVyID0gcGljayh0aGlzLm9wdGlvbnMsICdibHVyJyk7XG5cblx0cHJpdmF0ZSByZW5kZXJUYXJnZXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNyZWF0ZVJlbmRlclRhcmdldCh0aGlzLnJlc29sdXRpb24oKSkpO1xuXHRwcml2YXRlIHJlbmRlclRhcmdldEJsdXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNyZWF0ZVJlbmRlclRhcmdldCh0aGlzLnJlc29sdXRpb24oKSkpO1xuXHRwbGFuZUdlb21ldHJ5ID0gY29tcHV0ZWQoKCkgPT4gbmV3IFBsYW5lR2VvbWV0cnkodGhpcy5zY2FsZWRXaWR0aCgpLCB0aGlzLnNjYWxlZEhlaWdodCgpKS5yb3RhdGVYKE1hdGguUEkgLyAyKSk7XG5cdHByaXZhdGUgYmx1clBsYW5lID0gY29tcHV0ZWQoKCkgPT4gbmV3IE1lc2godGhpcy5wbGFuZUdlb21ldHJ5KCkpKTtcblx0cHJpdmF0ZSBkZXB0aE1hdGVyaWFsID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNvbG9yID0gbmV3IENvbG9yKHRoaXMuY29sb3IoKSk7XG5cdFx0Y29uc3QgbWF0ZXJpYWwgPSBuZXcgTWVzaERlcHRoTWF0ZXJpYWwoKTtcblx0XHRtYXRlcmlhbC5kZXB0aFRlc3QgPSBtYXRlcmlhbC5kZXB0aFdyaXRlID0gZmFsc2U7XG5cdFx0bWF0ZXJpYWwub25CZWZvcmVDb21waWxlID0gKHNoYWRlcikgPT4ge1xuXHRcdFx0c2hhZGVyLnVuaWZvcm1zID0geyAuLi5zaGFkZXIudW5pZm9ybXMsIHVjb2xvcjogeyB2YWx1ZTogY29sb3IgfSB9O1xuXHRcdFx0c2hhZGVyLmZyYWdtZW50U2hhZGVyID0gc2hhZGVyLmZyYWdtZW50U2hhZGVyLnJlcGxhY2UoXG5cdFx0XHRcdGB2b2lkIG1haW4oKSB7YCwgLy9cblx0XHRcdFx0YHVuaWZvcm0gdmVjMyB1Y29sb3I7XG4gICAgICAgICB2b2lkIG1haW4oKSB7XG4gICAgICAgIGAsXG5cdFx0XHQpO1xuXHRcdFx0c2hhZGVyLmZyYWdtZW50U2hhZGVyID0gc2hhZGVyLmZyYWdtZW50U2hhZGVyLnJlcGxhY2UoXG5cdFx0XHRcdCd2ZWM0KCB2ZWMzKCAxLjAgLSBmcmFnQ29vcmRaICksIG9wYWNpdHkgKTsnLFxuXHRcdFx0XHQvLyBDb2xvcml6ZSB0aGUgc2hhZG93LCBtdWx0aXBseSBieSB0aGUgZmFsbG9mZiBzbyB0aGF0IHRoZSBjZW50ZXIgY2FuIHJlbWFpbiBkYXJrZXJcblx0XHRcdFx0J3ZlYzQoIHVjb2xvciAqIGZyYWdDb29yZFogKiAyLjAsICggMS4wIC0gZnJhZ0Nvb3JkWiApICogMS4wICk7Jyxcblx0XHRcdCk7XG5cdFx0fTtcblx0XHRyZXR1cm4gbWF0ZXJpYWw7XG5cdH0pO1xuXG5cdHByaXZhdGUgaG9yaXpvbnRhbEJsdXJNYXRlcmlhbCA9IG5ldyBTaGFkZXJNYXRlcmlhbCh7IC4uLkhvcml6b250YWxCbHVyU2hhZGVyLCBkZXB0aFRlc3Q6IGZhbHNlIH0pO1xuXHRwcml2YXRlIHZlcnRpY2FsQmx1ck1hdGVyaWFsID0gbmV3IFNoYWRlck1hdGVyaWFsKHsgLi4uVmVydGljYWxCbHVyU2hhZGVyLCBkZXB0aFRlc3Q6IGZhbHNlIH0pO1xuXG5cdHJlbmRlck9yZGVyID0gcGljayh0aGlzLm9wdGlvbnMsICdyZW5kZXJPcmRlcicpO1xuXHRvcGFjaXR5ID0gcGljayh0aGlzLm9wdGlvbnMsICdvcGFjaXR5Jyk7XG5cdGRlcHRoV3JpdGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2RlcHRoV3JpdGUnKTtcblx0dGV4dHVyZSA9IHBpY2sodGhpcy5yZW5kZXJUYXJnZXQsICd0ZXh0dXJlJyk7XG5cdGNhbWVyYUFyZ3MgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgW3dpZHRoLCBoZWlnaHQsIG5lYXIsIGZhcl0gPSBbdGhpcy5zY2FsZWRXaWR0aCgpLCB0aGlzLnNjYWxlZEhlaWdodCgpLCB0aGlzLm5lYXIoKSwgdGhpcy5mYXIoKV07XG5cdFx0cmV0dXJuIFstd2lkdGggLyAyLCB3aWR0aCAvIDIsIGhlaWdodCAvIDIsIC1oZWlnaHQgLyAyLCBuZWFyLCBmYXJdO1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRleHRlbmQoeyBHcm91cCwgTWVzaCwgTWVzaEJhc2ljTWF0ZXJpYWwsIE9ydGhvZ3JhcGhpY0NhbWVyYSB9KTtcblxuXHRcdGxldCBjb3VudCA9IDA7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGNvbnN0IHNoYWRvd3NDYW1lcmEgPSB0aGlzLnNoYWRvd3NDYW1lcmFSZWYoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmICghc2hhZG93c0NhbWVyYSkgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBmcmFtZXMgPSB0aGlzLmZyYW1lcygpO1xuXHRcdFx0aWYgKGZyYW1lcyA9PT0gSW5maW5pdHkgfHwgY291bnQgPCBmcmFtZXMpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJTaGFkb3dzKCk7XG5cdFx0XHRcdGNvdW50Kys7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIHJlbmRlclNoYWRvd3MoKSB7XG5cdFx0Y29uc3Qgc2hhZG93c0NhbWVyYSA9IHRoaXMuc2hhZG93c0NhbWVyYVJlZigpPy5uYXRpdmVFbGVtZW50O1xuXHRcdGlmICghc2hhZG93c0NhbWVyYSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgW2JsdXIsIHNtb290aCwgZ2wsIHNjZW5lLCBjb250YWN0U2hhZG93cywgZGVwdGhNYXRlcmlhbCwgcmVuZGVyVGFyZ2V0XSA9IFtcblx0XHRcdHRoaXMuYmx1cigpLFxuXHRcdFx0dGhpcy5zbW9vdGgoKSxcblx0XHRcdHRoaXMuZ2woKSxcblx0XHRcdHRoaXMuc2NlbmUoKSxcblx0XHRcdHRoaXMuY29udGFjdFNoYWRvd3NSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5kZXB0aE1hdGVyaWFsKCksXG5cdFx0XHR0aGlzLnJlbmRlclRhcmdldCgpLFxuXHRcdF07XG5cblx0XHRjb25zdCBpbml0aWFsQmFja2dyb3VuZCA9IHNjZW5lLmJhY2tncm91bmQ7XG5cdFx0Y29uc3QgaW5pdGlhbE92ZXJyaWRlTWF0ZXJpYWwgPSBzY2VuZS5vdmVycmlkZU1hdGVyaWFsO1xuXHRcdGNvbnN0IGluaXRpYWxDbGVhckFscGhhID0gZ2wuZ2V0Q2xlYXJBbHBoYSgpO1xuXG5cdFx0Y29udGFjdFNoYWRvd3MudmlzaWJsZSA9IGZhbHNlO1xuXHRcdHNjZW5lLmJhY2tncm91bmQgPSBudWxsO1xuXHRcdHNjZW5lLm92ZXJyaWRlTWF0ZXJpYWwgPSBkZXB0aE1hdGVyaWFsO1xuXHRcdGdsLnNldENsZWFyQWxwaGEoMCk7XG5cblx0XHQvLyByZW5kZXIgdG8gdGhlIHJlbmRlciB0YXJnZXQgdG8gZ2V0IHRoZSBkZXB0aHNcblx0XHRnbC5zZXRSZW5kZXJUYXJnZXQocmVuZGVyVGFyZ2V0KTtcblx0XHRnbC5yZW5kZXIoc2NlbmUsIHNoYWRvd3NDYW1lcmEpO1xuXG5cdFx0dGhpcy5ibHVyU2hhZG93cyhibHVyKTtcblx0XHRpZiAoc21vb3RoKSB0aGlzLmJsdXJTaGFkb3dzKGJsdXIgKiAwLjQpO1xuXG5cdFx0Ly8gcmVzZXRcblx0XHRnbC5zZXRSZW5kZXJUYXJnZXQobnVsbCk7XG5cblx0XHRjb250YWN0U2hhZG93cy52aXNpYmxlID0gdHJ1ZTtcblx0XHRzY2VuZS5vdmVycmlkZU1hdGVyaWFsID0gaW5pdGlhbE92ZXJyaWRlTWF0ZXJpYWw7XG5cdFx0c2NlbmUuYmFja2dyb3VuZCA9IGluaXRpYWxCYWNrZ3JvdW5kO1xuXHRcdGdsLnNldENsZWFyQWxwaGEoaW5pdGlhbENsZWFyQWxwaGEpO1xuXHR9XG5cblx0cHJpdmF0ZSBibHVyU2hhZG93cyhibHVyOiBudW1iZXIpIHtcblx0XHRjb25zdCBzaGFkb3dzQ2FtZXJhID0gdGhpcy5zaGFkb3dzQ2FtZXJhUmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cdFx0aWYgKCFzaGFkb3dzQ2FtZXJhKSByZXR1cm47XG5cblx0XHRjb25zdCBbYmx1clBsYW5lLCBob3Jpem9udGFsQmx1ck1hdGVyaWFsLCB2ZXJ0aWNhbEJsdXJNYXRlcmlhbCwgcmVuZGVyVGFyZ2V0Qmx1ciwgcmVuZGVyVGFyZ2V0LCBnbF0gPSBbXG5cdFx0XHR0aGlzLmJsdXJQbGFuZSgpLFxuXHRcdFx0dGhpcy5ob3Jpem9udGFsQmx1ck1hdGVyaWFsLFxuXHRcdFx0dGhpcy52ZXJ0aWNhbEJsdXJNYXRlcmlhbCxcblx0XHRcdHRoaXMucmVuZGVyVGFyZ2V0Qmx1cigpLFxuXHRcdFx0dGhpcy5yZW5kZXJUYXJnZXQoKSxcblx0XHRcdHRoaXMuZ2woKSxcblx0XHRdO1xuXG5cdFx0Ymx1clBsYW5lLnZpc2libGUgPSB0cnVlO1xuXHRcdGJsdXJQbGFuZS5tYXRlcmlhbCA9IGhvcml6b250YWxCbHVyTWF0ZXJpYWw7XG5cdFx0aG9yaXpvbnRhbEJsdXJNYXRlcmlhbC51bmlmb3Jtc1sndERpZmZ1c2UnXS52YWx1ZSA9IHJlbmRlclRhcmdldC50ZXh0dXJlO1xuXHRcdGhvcml6b250YWxCbHVyTWF0ZXJpYWwudW5pZm9ybXNbJ2gnXS52YWx1ZSA9IGJsdXIgLyAyNTY7XG5cdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KHJlbmRlclRhcmdldEJsdXIpO1xuXHRcdGdsLnJlbmRlcihibHVyUGxhbmUsIHNoYWRvd3NDYW1lcmEpO1xuXG5cdFx0Ymx1clBsYW5lLm1hdGVyaWFsID0gdmVydGljYWxCbHVyTWF0ZXJpYWw7XG5cdFx0dmVydGljYWxCbHVyTWF0ZXJpYWwudW5pZm9ybXNbJ3REaWZmdXNlJ10udmFsdWUgPSByZW5kZXJUYXJnZXRCbHVyLnRleHR1cmU7XG5cdFx0dmVydGljYWxCbHVyTWF0ZXJpYWwudW5pZm9ybXNbJ3YnXS52YWx1ZSA9IGJsdXIgLyAyNTY7XG5cdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KHJlbmRlclRhcmdldCk7XG5cdFx0Z2wucmVuZGVyKGJsdXJQbGFuZSwgc2hhZG93c0NhbWVyYSk7XG5cdFx0Ymx1clBsYW5lLnZpc2libGUgPSBmYWxzZTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlUmVuZGVyVGFyZ2V0KHJlc29sdXRpb246IG51bWJlcikge1xuXHRcdGNvbnN0IHJlbmRlclRhcmdldCA9IG5ldyBXZWJHTFJlbmRlclRhcmdldChyZXNvbHV0aW9uLCByZXNvbHV0aW9uKTtcblx0XHRyZW5kZXJUYXJnZXQudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHMgPSBmYWxzZTtcblx0XHRyZXR1cm4gcmVuZGVyVGFyZ2V0O1xuXHR9XG59XG4iXX0=