@seniorsistemas/components-ai 1.2.0-master-bdba3eed → 1.2.0-master-07d4af7d
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.
- package/esm2022/lib/components/loading/loading.component.mjs +15 -27
- package/esm2022/lib/directives/table-loading/table-loading.directive.mjs +44 -42
- package/fesm2022/seniorsistemas-components-ai.mjs +57 -67
- package/fesm2022/seniorsistemas-components-ai.mjs.map +1 -1
- package/lib/directives/table-loading/table-loading.directive.d.ts +5 -17
- package/package.json +1 -1
|
@@ -120,36 +120,30 @@ export class LoadingComponent {
|
|
|
120
120
|
</svg>
|
|
121
121
|
</div>
|
|
122
122
|
|
|
123
|
-
<!-- senior-reveal: tennis ball bouncing
|
|
124
|
-
<div class="sia-senior-reveal" *ngIf="variant === 'senior-reveal'" [style.--size]="size + 'px'">
|
|
125
|
-
<!-- Tennis ball -->
|
|
123
|
+
<!-- senior-reveal: tennis ball bouncing with Senior logo inside -->
|
|
124
|
+
<div class="sia-senior-reveal" *ngIf="variant === 'senior-reveal'" [style.--size]="size * 1.3 + 'px'">
|
|
125
|
+
<!-- Tennis ball with Senior logo inside -->
|
|
126
126
|
<svg class="sr-ball" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
127
127
|
<defs>
|
|
128
128
|
<clipPath id="sr-clip"><circle cx="50" cy="50" r="48" /></clipPath>
|
|
129
129
|
</defs>
|
|
130
130
|
<circle cx="50" cy="50" r="48" [attr.fill]="colorBase" />
|
|
131
131
|
<g clip-path="url(#sr-clip)">
|
|
132
|
-
<!-- top-right seam curve -->
|
|
133
132
|
<path d="M38 -2 C58 18, 62 38, 102 48" stroke="white" stroke-width="9" fill="none" stroke-linecap="round" opacity="0.15" />
|
|
134
133
|
<path d="M38 -2 C58 18, 62 38, 102 48" stroke="white" stroke-width="4" fill="none" stroke-linecap="round" opacity="0.8" />
|
|
135
|
-
<!-- bottom-left seam curve -->
|
|
136
134
|
<path d="M-2 52 C38 62, 42 82, 62 102" stroke="white" stroke-width="9" fill="none" stroke-linecap="round" opacity="0.15" />
|
|
137
135
|
<path d="M-2 52 C38 62, 42 82, 62 102" stroke="white" stroke-width="4" fill="none" stroke-linecap="round" opacity="0.8" />
|
|
136
|
+
<g transform="translate(32.6, 19.4) scale(0.10)">
|
|
137
|
+
<path [attr.d]="pathFull" fill="white" opacity="0.8" />
|
|
138
|
+
</g>
|
|
138
139
|
</g>
|
|
139
140
|
</svg>
|
|
140
|
-
<!-- Shadow under ball -->
|
|
141
141
|
<div class="sr-shadow"></div>
|
|
142
|
-
<!-- Senior logo (no circle, just the logo) -->
|
|
143
|
-
<div class="sr-logo">
|
|
144
|
-
<svg [attr.width]="size * 0.6" [attr.height]="size" viewBox="0 0 348 613" fill="none">
|
|
145
|
-
<path [attr.d]="pathFull" [attr.fill]="colorBase" />
|
|
146
|
-
</svg>
|
|
147
|
-
</div>
|
|
148
142
|
</div>
|
|
149
143
|
|
|
150
144
|
<span class="sia-loading-text" *ngIf="text && variant !== 'skeleton'">{{ text }}</span>
|
|
151
145
|
</div>
|
|
152
|
-
`, isInline: true, styles: [":host{display:block}.sia-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 0}.sia-loading--skeleton{align-items:stretch}.sia-loading-text{color:var(--p-text-muted-color, #94a3b8);font-size:.8rem;letter-spacing:.02em}.sia-dots{display:flex;gap:6px;align-items:center}.sia-dots .dot{width:10px;height:10px;border-radius:50%;background:var(--sia-c);animation:sia-dot-bounce 1.2s calc(var(--i) * .15s) ease-in-out infinite}@keyframes sia-dot-bounce{0%,60%,to{transform:translateY(0) scale(1);opacity:.4}30%{transform:translateY(-12px) scale(1.15);opacity:1}}.sia-pulse{position:relative;width:var(--size, 40px);height:var(--size, 40px)}.sia-pulse .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--sia-c);opacity:0}.sia-pulse .ring-1{animation:sia-ripple 1.8s 0s ease-out infinite}.sia-pulse .ring-2{animation:sia-ripple 1.8s .6s ease-out infinite}.sia-pulse .core{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--sia-c);animation:sia-core-pulse 1.8s ease-in-out infinite}@keyframes sia-ripple{0%{transform:scale(.3);opacity:.8}to{transform:scale(1);opacity:0}}@keyframes sia-core-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:1}}.sia-bars{display:flex;align-items:center;gap:3px;height:var(--h, 40px)}.sia-bars .bar{width:4px;height:40%;border-radius:2px;background:var(--sia-c);animation:sia-bar-wave 1s calc(var(--i) * .1s) ease-in-out infinite}@keyframes sia-bar-wave{0%,to{height:20%;opacity:.4}50%{height:100%;opacity:1}}.sia-orbit{position:relative;width:var(--size, 40px);height:var(--size, 40px)}.sia-orbit .orbit-track{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--p-surface-200, #e2e8f0)}.sia-orbit .orbit-dot{position:absolute;width:8px;height:8px;border-radius:50%;top:-4px;left:calc(50% - 4px)}.sia-orbit .orbit-dot-1{background:var(--sia-c);animation:sia-orbit-spin 1.4s linear infinite;transform-origin:50% calc(var(--size, 40px) / 2 + 4px)}.sia-orbit .orbit-dot-2{background:var(--sia-cl);animation:sia-orbit-spin 1.4s .7s linear infinite;transform-origin:50% calc(var(--size, 40px) / 2 + 4px)}@keyframes sia-orbit-spin{to{transform:rotate(360deg)}}.sia-morph{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-morph .morph-shape{width:70%;height:70%;background:var(--sia-c);animation:sia-morph 2.4s ease-in-out infinite}@keyframes sia-morph{0%{border-radius:50%;transform:rotate(0) scale(1)}25%{border-radius:30% 70% 50% 50%;transform:rotate(90deg) scale(.85)}50%{border-radius:50% 30% 70%;transform:rotate(180deg) scale(1)}75%{border-radius:70% 50% 30% 70%;transform:rotate(270deg) scale(.85)}to{border-radius:50%;transform:rotate(360deg) scale(1)}}.sia-wave{display:flex;align-items:center;gap:3px}.sia-wave .wave-dot{width:6px;height:6px;border-radius:50%;background:var(--sia-c);animation:sia-wave-flow 1.6s calc(var(--i) * .12s) ease-in-out infinite}@keyframes sia-wave-flow{0%,to{transform:translateY(0) scale(.6);opacity:.3}50%{transform:translateY(-10px) scale(1);opacity:1}}.sia-skeleton{display:flex;flex-direction:column;gap:.75rem;padding:0 1rem;width:100%}.skel-row{display:flex;align-items:center;gap:.75rem}.skel-row--header{margin-bottom:.25rem}.skel-circle{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--p-surface-200, #e2e8f0);animation:sia-shimmer 1.6s ease-in-out infinite}.skel-lines{flex:1;display:flex;flex-direction:column;gap:.4rem}.skel-line{height:10px;border-radius:4px;background:var(--p-surface-200, #e2e8f0);animation:sia-shimmer 1.6s ease-in-out infinite}.skel-line--full{width:100%;animation-delay:.1s}.skel-line--lg{width:75%;animation-delay:.2s}.skel-line--md{width:55%;animation-delay:.3s}.skel-line--sm{width:35%;animation-delay:.15s}@keyframes sia-shimmer{0%,to{opacity:.4}50%{opacity:1}}.sia-senior-draw{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-draw .sp{stroke-dasharray:1200;stroke-dashoffset:1200}.sia-senior-draw .sp-r{animation:sia-sd-r 2s ease-in-out infinite}.sia-senior-draw .sp-l{animation:sia-sd-l 2s ease-in-out infinite}@keyframes sia-sd-r{0%{stroke-dashoffset:1200;opacity:.2}35%{stroke-dashoffset:0;opacity:1}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1200;opacity:.2}}@keyframes sia-sd-l{0%{stroke-dashoffset:1200;opacity:.2}15%{stroke-dashoffset:1200;opacity:.2}50%{stroke-dashoffset:0;opacity:1}65%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1200;opacity:.2}}.sia-senior-pulse{display:flex;align-items:center;justify-content:center}.sia-senior-pulse .sp-circle{width:var(--size, 64px);height:var(--size, 64px);border-radius:50%;background-color:var(--sia-c);display:flex;align-items:center;justify-content:center;position:relative;animation:sia-sp-pulse 1.4s ease-out infinite,sia-sp-scale 1.4s ease-in-out infinite}@keyframes sia-sp-pulse{0%{box-shadow:0 0 0 0 var(--sia-cl)}70%{box-shadow:0 0 0 20px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes sia-sp-scale{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.sia-senior-glow{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-glow .glow-shadow{opacity:.3;filter:blur(4px);animation:sia-sg-breathe 2s ease-in-out infinite}.sia-senior-glow .glow-main{animation:sia-sg-breathe 2s ease-in-out infinite}@keyframes sia-sg-breathe{0%,to{opacity:.4;filter:drop-shadow(0 0 2px var(--sia-cl))}50%{opacity:1;filter:drop-shadow(0 0 10px var(--sia-cl)) drop-shadow(0 0 20px var(--sia-c))}}.sia-senior-flip{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center;perspective:300px}.sia-senior-flip svg{animation:sia-sf-flip 2s ease-in-out infinite;transform-style:preserve-3d}@keyframes sia-sf-flip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}.sia-senior-bounce{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-bounce .bounce-r{animation:sia-sb-r 1.2s ease-in-out infinite;transform-origin:center center}.sia-senior-bounce .bounce-l{animation:sia-sb-l 1.2s ease-in-out infinite;transform-origin:center center}@keyframes sia-sb-r{0%,to{transform:translateY(0) scale(1);opacity:.7}50%{transform:translateY(-8px) scale(1.05);opacity:1}}@keyframes sia-sb-l{0%,to{transform:translateY(-8px) scale(1.05);opacity:1}50%{transform:translateY(0) scale(1);opacity:.7}}.sia-senior-reveal{width:var(--size, 64px);height:calc(var(--size, 64px) * 1.4);position:relative;display:flex;align-items:center;justify-content:center}.sia-senior-reveal .sr-ball{position:absolute;width:var(--size, 64px);height:var(--size, 64px);border-radius:50%;overflow:hidden;animation:sia-sr-
|
|
146
|
+
`, isInline: true, styles: [":host{display:block}.sia-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 0}.sia-loading--skeleton{align-items:stretch}.sia-loading-text{color:var(--p-text-muted-color, #94a3b8);font-size:.8rem;letter-spacing:.02em}.sia-dots{display:flex;gap:6px;align-items:center}.sia-dots .dot{width:10px;height:10px;border-radius:50%;background:var(--sia-c);animation:sia-dot-bounce 1.2s calc(var(--i) * .15s) ease-in-out infinite}@keyframes sia-dot-bounce{0%,60%,to{transform:translateY(0) scale(1);opacity:.4}30%{transform:translateY(-12px) scale(1.15);opacity:1}}.sia-pulse{position:relative;width:var(--size, 40px);height:var(--size, 40px)}.sia-pulse .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--sia-c);opacity:0}.sia-pulse .ring-1{animation:sia-ripple 1.8s 0s ease-out infinite}.sia-pulse .ring-2{animation:sia-ripple 1.8s .6s ease-out infinite}.sia-pulse .core{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--sia-c);animation:sia-core-pulse 1.8s ease-in-out infinite}@keyframes sia-ripple{0%{transform:scale(.3);opacity:.8}to{transform:scale(1);opacity:0}}@keyframes sia-core-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:1}}.sia-bars{display:flex;align-items:center;gap:3px;height:var(--h, 40px)}.sia-bars .bar{width:4px;height:40%;border-radius:2px;background:var(--sia-c);animation:sia-bar-wave 1s calc(var(--i) * .1s) ease-in-out infinite}@keyframes sia-bar-wave{0%,to{height:20%;opacity:.4}50%{height:100%;opacity:1}}.sia-orbit{position:relative;width:var(--size, 40px);height:var(--size, 40px)}.sia-orbit .orbit-track{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--p-surface-200, #e2e8f0)}.sia-orbit .orbit-dot{position:absolute;width:8px;height:8px;border-radius:50%;top:-4px;left:calc(50% - 4px)}.sia-orbit .orbit-dot-1{background:var(--sia-c);animation:sia-orbit-spin 1.4s linear infinite;transform-origin:50% calc(var(--size, 40px) / 2 + 4px)}.sia-orbit .orbit-dot-2{background:var(--sia-cl);animation:sia-orbit-spin 1.4s .7s linear infinite;transform-origin:50% calc(var(--size, 40px) / 2 + 4px)}@keyframes sia-orbit-spin{to{transform:rotate(360deg)}}.sia-morph{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-morph .morph-shape{width:70%;height:70%;background:var(--sia-c);animation:sia-morph 2.4s ease-in-out infinite}@keyframes sia-morph{0%{border-radius:50%;transform:rotate(0) scale(1)}25%{border-radius:30% 70% 50% 50%;transform:rotate(90deg) scale(.85)}50%{border-radius:50% 30% 70%;transform:rotate(180deg) scale(1)}75%{border-radius:70% 50% 30% 70%;transform:rotate(270deg) scale(.85)}to{border-radius:50%;transform:rotate(360deg) scale(1)}}.sia-wave{display:flex;align-items:center;gap:3px}.sia-wave .wave-dot{width:6px;height:6px;border-radius:50%;background:var(--sia-c);animation:sia-wave-flow 1.6s calc(var(--i) * .12s) ease-in-out infinite}@keyframes sia-wave-flow{0%,to{transform:translateY(0) scale(.6);opacity:.3}50%{transform:translateY(-10px) scale(1);opacity:1}}.sia-skeleton{display:flex;flex-direction:column;gap:.75rem;padding:0 1rem;width:100%}.skel-row{display:flex;align-items:center;gap:.75rem}.skel-row--header{margin-bottom:.25rem}.skel-circle{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--p-surface-200, #e2e8f0);animation:sia-shimmer 1.6s ease-in-out infinite}.skel-lines{flex:1;display:flex;flex-direction:column;gap:.4rem}.skel-line{height:10px;border-radius:4px;background:var(--p-surface-200, #e2e8f0);animation:sia-shimmer 1.6s ease-in-out infinite}.skel-line--full{width:100%;animation-delay:.1s}.skel-line--lg{width:75%;animation-delay:.2s}.skel-line--md{width:55%;animation-delay:.3s}.skel-line--sm{width:35%;animation-delay:.15s}@keyframes sia-shimmer{0%,to{opacity:.4}50%{opacity:1}}.sia-senior-draw{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-draw .sp{stroke-dasharray:1200;stroke-dashoffset:1200}.sia-senior-draw .sp-r{animation:sia-sd-r 2s ease-in-out infinite}.sia-senior-draw .sp-l{animation:sia-sd-l 2s ease-in-out infinite}@keyframes sia-sd-r{0%{stroke-dashoffset:1200;opacity:.2}35%{stroke-dashoffset:0;opacity:1}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1200;opacity:.2}}@keyframes sia-sd-l{0%{stroke-dashoffset:1200;opacity:.2}15%{stroke-dashoffset:1200;opacity:.2}50%{stroke-dashoffset:0;opacity:1}65%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1200;opacity:.2}}.sia-senior-pulse{display:flex;align-items:center;justify-content:center}.sia-senior-pulse .sp-circle{width:var(--size, 64px);height:var(--size, 64px);border-radius:50%;background-color:var(--sia-c);display:flex;align-items:center;justify-content:center;position:relative;animation:sia-sp-pulse 1.4s ease-out infinite,sia-sp-scale 1.4s ease-in-out infinite}@keyframes sia-sp-pulse{0%{box-shadow:0 0 0 0 var(--sia-cl)}70%{box-shadow:0 0 0 20px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes sia-sp-scale{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.sia-senior-glow{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-glow .glow-shadow{opacity:.3;filter:blur(4px);animation:sia-sg-breathe 2s ease-in-out infinite}.sia-senior-glow .glow-main{animation:sia-sg-breathe 2s ease-in-out infinite}@keyframes sia-sg-breathe{0%,to{opacity:.4;filter:drop-shadow(0 0 2px var(--sia-cl))}50%{opacity:1;filter:drop-shadow(0 0 10px var(--sia-cl)) drop-shadow(0 0 20px var(--sia-c))}}.sia-senior-flip{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center;perspective:300px}.sia-senior-flip svg{animation:sia-sf-flip 2s ease-in-out infinite;transform-style:preserve-3d}@keyframes sia-sf-flip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}.sia-senior-bounce{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-bounce .bounce-r{animation:sia-sb-r 1.2s ease-in-out infinite;transform-origin:center center}.sia-senior-bounce .bounce-l{animation:sia-sb-l 1.2s ease-in-out infinite;transform-origin:center center}@keyframes sia-sb-r{0%,to{transform:translateY(0) scale(1);opacity:.7}50%{transform:translateY(-8px) scale(1.05);opacity:1}}@keyframes sia-sb-l{0%,to{transform:translateY(-8px) scale(1.05);opacity:1}50%{transform:translateY(0) scale(1);opacity:.7}}.sia-senior-reveal{width:var(--size, 64px);height:calc(var(--size, 64px) * 1.4);position:relative;display:flex;align-items:center;justify-content:center}.sia-senior-reveal .sr-ball{position:absolute;width:var(--size, 64px);height:var(--size, 64px);border-radius:50%;overflow:hidden;animation:sia-sr-bounce 1.2s ease-in-out infinite}.sia-senior-reveal .sr-shadow{position:absolute;bottom:0;width:60%;height:6px;border-radius:50%;background:#0000001f;animation:sia-sr-shadow 1.2s ease-in-out infinite}@keyframes sia-sr-bounce{0%,to{transform:translateY(20%) scaleX(1.06) scaleY(.94)}50%{transform:translateY(-25%) scaleX(.96) scaleY(1.04)}}@keyframes sia-sr-shadow{0%,to{transform:scaleX(1);opacity:.12}50%{transform:scaleX(.6);opacity:.06}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
153
147
|
}
|
|
154
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingComponent, decorators: [{
|
|
155
149
|
type: Component,
|
|
@@ -243,36 +237,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
243
237
|
</svg>
|
|
244
238
|
</div>
|
|
245
239
|
|
|
246
|
-
<!-- senior-reveal: tennis ball bouncing
|
|
247
|
-
<div class="sia-senior-reveal" *ngIf="variant === 'senior-reveal'" [style.--size]="size + 'px'">
|
|
248
|
-
<!-- Tennis ball -->
|
|
240
|
+
<!-- senior-reveal: tennis ball bouncing with Senior logo inside -->
|
|
241
|
+
<div class="sia-senior-reveal" *ngIf="variant === 'senior-reveal'" [style.--size]="size * 1.3 + 'px'">
|
|
242
|
+
<!-- Tennis ball with Senior logo inside -->
|
|
249
243
|
<svg class="sr-ball" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
250
244
|
<defs>
|
|
251
245
|
<clipPath id="sr-clip"><circle cx="50" cy="50" r="48" /></clipPath>
|
|
252
246
|
</defs>
|
|
253
247
|
<circle cx="50" cy="50" r="48" [attr.fill]="colorBase" />
|
|
254
248
|
<g clip-path="url(#sr-clip)">
|
|
255
|
-
<!-- top-right seam curve -->
|
|
256
249
|
<path d="M38 -2 C58 18, 62 38, 102 48" stroke="white" stroke-width="9" fill="none" stroke-linecap="round" opacity="0.15" />
|
|
257
250
|
<path d="M38 -2 C58 18, 62 38, 102 48" stroke="white" stroke-width="4" fill="none" stroke-linecap="round" opacity="0.8" />
|
|
258
|
-
<!-- bottom-left seam curve -->
|
|
259
251
|
<path d="M-2 52 C38 62, 42 82, 62 102" stroke="white" stroke-width="9" fill="none" stroke-linecap="round" opacity="0.15" />
|
|
260
252
|
<path d="M-2 52 C38 62, 42 82, 62 102" stroke="white" stroke-width="4" fill="none" stroke-linecap="round" opacity="0.8" />
|
|
253
|
+
<g transform="translate(32.6, 19.4) scale(0.10)">
|
|
254
|
+
<path [attr.d]="pathFull" fill="white" opacity="0.8" />
|
|
255
|
+
</g>
|
|
261
256
|
</g>
|
|
262
257
|
</svg>
|
|
263
|
-
<!-- Shadow under ball -->
|
|
264
258
|
<div class="sr-shadow"></div>
|
|
265
|
-
<!-- Senior logo (no circle, just the logo) -->
|
|
266
|
-
<div class="sr-logo">
|
|
267
|
-
<svg [attr.width]="size * 0.6" [attr.height]="size" viewBox="0 0 348 613" fill="none">
|
|
268
|
-
<path [attr.d]="pathFull" [attr.fill]="colorBase" />
|
|
269
|
-
</svg>
|
|
270
|
-
</div>
|
|
271
259
|
</div>
|
|
272
260
|
|
|
273
261
|
<span class="sia-loading-text" *ngIf="text && variant !== 'skeleton'">{{ text }}</span>
|
|
274
262
|
</div>
|
|
275
|
-
`, styles: [":host{display:block}.sia-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 0}.sia-loading--skeleton{align-items:stretch}.sia-loading-text{color:var(--p-text-muted-color, #94a3b8);font-size:.8rem;letter-spacing:.02em}.sia-dots{display:flex;gap:6px;align-items:center}.sia-dots .dot{width:10px;height:10px;border-radius:50%;background:var(--sia-c);animation:sia-dot-bounce 1.2s calc(var(--i) * .15s) ease-in-out infinite}@keyframes sia-dot-bounce{0%,60%,to{transform:translateY(0) scale(1);opacity:.4}30%{transform:translateY(-12px) scale(1.15);opacity:1}}.sia-pulse{position:relative;width:var(--size, 40px);height:var(--size, 40px)}.sia-pulse .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--sia-c);opacity:0}.sia-pulse .ring-1{animation:sia-ripple 1.8s 0s ease-out infinite}.sia-pulse .ring-2{animation:sia-ripple 1.8s .6s ease-out infinite}.sia-pulse .core{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--sia-c);animation:sia-core-pulse 1.8s ease-in-out infinite}@keyframes sia-ripple{0%{transform:scale(.3);opacity:.8}to{transform:scale(1);opacity:0}}@keyframes sia-core-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:1}}.sia-bars{display:flex;align-items:center;gap:3px;height:var(--h, 40px)}.sia-bars .bar{width:4px;height:40%;border-radius:2px;background:var(--sia-c);animation:sia-bar-wave 1s calc(var(--i) * .1s) ease-in-out infinite}@keyframes sia-bar-wave{0%,to{height:20%;opacity:.4}50%{height:100%;opacity:1}}.sia-orbit{position:relative;width:var(--size, 40px);height:var(--size, 40px)}.sia-orbit .orbit-track{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--p-surface-200, #e2e8f0)}.sia-orbit .orbit-dot{position:absolute;width:8px;height:8px;border-radius:50%;top:-4px;left:calc(50% - 4px)}.sia-orbit .orbit-dot-1{background:var(--sia-c);animation:sia-orbit-spin 1.4s linear infinite;transform-origin:50% calc(var(--size, 40px) / 2 + 4px)}.sia-orbit .orbit-dot-2{background:var(--sia-cl);animation:sia-orbit-spin 1.4s .7s linear infinite;transform-origin:50% calc(var(--size, 40px) / 2 + 4px)}@keyframes sia-orbit-spin{to{transform:rotate(360deg)}}.sia-morph{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-morph .morph-shape{width:70%;height:70%;background:var(--sia-c);animation:sia-morph 2.4s ease-in-out infinite}@keyframes sia-morph{0%{border-radius:50%;transform:rotate(0) scale(1)}25%{border-radius:30% 70% 50% 50%;transform:rotate(90deg) scale(.85)}50%{border-radius:50% 30% 70%;transform:rotate(180deg) scale(1)}75%{border-radius:70% 50% 30% 70%;transform:rotate(270deg) scale(.85)}to{border-radius:50%;transform:rotate(360deg) scale(1)}}.sia-wave{display:flex;align-items:center;gap:3px}.sia-wave .wave-dot{width:6px;height:6px;border-radius:50%;background:var(--sia-c);animation:sia-wave-flow 1.6s calc(var(--i) * .12s) ease-in-out infinite}@keyframes sia-wave-flow{0%,to{transform:translateY(0) scale(.6);opacity:.3}50%{transform:translateY(-10px) scale(1);opacity:1}}.sia-skeleton{display:flex;flex-direction:column;gap:.75rem;padding:0 1rem;width:100%}.skel-row{display:flex;align-items:center;gap:.75rem}.skel-row--header{margin-bottom:.25rem}.skel-circle{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--p-surface-200, #e2e8f0);animation:sia-shimmer 1.6s ease-in-out infinite}.skel-lines{flex:1;display:flex;flex-direction:column;gap:.4rem}.skel-line{height:10px;border-radius:4px;background:var(--p-surface-200, #e2e8f0);animation:sia-shimmer 1.6s ease-in-out infinite}.skel-line--full{width:100%;animation-delay:.1s}.skel-line--lg{width:75%;animation-delay:.2s}.skel-line--md{width:55%;animation-delay:.3s}.skel-line--sm{width:35%;animation-delay:.15s}@keyframes sia-shimmer{0%,to{opacity:.4}50%{opacity:1}}.sia-senior-draw{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-draw .sp{stroke-dasharray:1200;stroke-dashoffset:1200}.sia-senior-draw .sp-r{animation:sia-sd-r 2s ease-in-out infinite}.sia-senior-draw .sp-l{animation:sia-sd-l 2s ease-in-out infinite}@keyframes sia-sd-r{0%{stroke-dashoffset:1200;opacity:.2}35%{stroke-dashoffset:0;opacity:1}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1200;opacity:.2}}@keyframes sia-sd-l{0%{stroke-dashoffset:1200;opacity:.2}15%{stroke-dashoffset:1200;opacity:.2}50%{stroke-dashoffset:0;opacity:1}65%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1200;opacity:.2}}.sia-senior-pulse{display:flex;align-items:center;justify-content:center}.sia-senior-pulse .sp-circle{width:var(--size, 64px);height:var(--size, 64px);border-radius:50%;background-color:var(--sia-c);display:flex;align-items:center;justify-content:center;position:relative;animation:sia-sp-pulse 1.4s ease-out infinite,sia-sp-scale 1.4s ease-in-out infinite}@keyframes sia-sp-pulse{0%{box-shadow:0 0 0 0 var(--sia-cl)}70%{box-shadow:0 0 0 20px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes sia-sp-scale{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.sia-senior-glow{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-glow .glow-shadow{opacity:.3;filter:blur(4px);animation:sia-sg-breathe 2s ease-in-out infinite}.sia-senior-glow .glow-main{animation:sia-sg-breathe 2s ease-in-out infinite}@keyframes sia-sg-breathe{0%,to{opacity:.4;filter:drop-shadow(0 0 2px var(--sia-cl))}50%{opacity:1;filter:drop-shadow(0 0 10px var(--sia-cl)) drop-shadow(0 0 20px var(--sia-c))}}.sia-senior-flip{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center;perspective:300px}.sia-senior-flip svg{animation:sia-sf-flip 2s ease-in-out infinite;transform-style:preserve-3d}@keyframes sia-sf-flip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}.sia-senior-bounce{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-bounce .bounce-r{animation:sia-sb-r 1.2s ease-in-out infinite;transform-origin:center center}.sia-senior-bounce .bounce-l{animation:sia-sb-l 1.2s ease-in-out infinite;transform-origin:center center}@keyframes sia-sb-r{0%,to{transform:translateY(0) scale(1);opacity:.7}50%{transform:translateY(-8px) scale(1.05);opacity:1}}@keyframes sia-sb-l{0%,to{transform:translateY(-8px) scale(1.05);opacity:1}50%{transform:translateY(0) scale(1);opacity:.7}}.sia-senior-reveal{width:var(--size, 64px);height:calc(var(--size, 64px) * 1.4);position:relative;display:flex;align-items:center;justify-content:center}.sia-senior-reveal .sr-ball{position:absolute;width:var(--size, 64px);height:var(--size, 64px);border-radius:50%;overflow:hidden;animation:sia-sr-
|
|
263
|
+
`, styles: [":host{display:block}.sia-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 0}.sia-loading--skeleton{align-items:stretch}.sia-loading-text{color:var(--p-text-muted-color, #94a3b8);font-size:.8rem;letter-spacing:.02em}.sia-dots{display:flex;gap:6px;align-items:center}.sia-dots .dot{width:10px;height:10px;border-radius:50%;background:var(--sia-c);animation:sia-dot-bounce 1.2s calc(var(--i) * .15s) ease-in-out infinite}@keyframes sia-dot-bounce{0%,60%,to{transform:translateY(0) scale(1);opacity:.4}30%{transform:translateY(-12px) scale(1.15);opacity:1}}.sia-pulse{position:relative;width:var(--size, 40px);height:var(--size, 40px)}.sia-pulse .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--sia-c);opacity:0}.sia-pulse .ring-1{animation:sia-ripple 1.8s 0s ease-out infinite}.sia-pulse .ring-2{animation:sia-ripple 1.8s .6s ease-out infinite}.sia-pulse .core{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--sia-c);animation:sia-core-pulse 1.8s ease-in-out infinite}@keyframes sia-ripple{0%{transform:scale(.3);opacity:.8}to{transform:scale(1);opacity:0}}@keyframes sia-core-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:1}}.sia-bars{display:flex;align-items:center;gap:3px;height:var(--h, 40px)}.sia-bars .bar{width:4px;height:40%;border-radius:2px;background:var(--sia-c);animation:sia-bar-wave 1s calc(var(--i) * .1s) ease-in-out infinite}@keyframes sia-bar-wave{0%,to{height:20%;opacity:.4}50%{height:100%;opacity:1}}.sia-orbit{position:relative;width:var(--size, 40px);height:var(--size, 40px)}.sia-orbit .orbit-track{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--p-surface-200, #e2e8f0)}.sia-orbit .orbit-dot{position:absolute;width:8px;height:8px;border-radius:50%;top:-4px;left:calc(50% - 4px)}.sia-orbit .orbit-dot-1{background:var(--sia-c);animation:sia-orbit-spin 1.4s linear infinite;transform-origin:50% calc(var(--size, 40px) / 2 + 4px)}.sia-orbit .orbit-dot-2{background:var(--sia-cl);animation:sia-orbit-spin 1.4s .7s linear infinite;transform-origin:50% calc(var(--size, 40px) / 2 + 4px)}@keyframes sia-orbit-spin{to{transform:rotate(360deg)}}.sia-morph{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-morph .morph-shape{width:70%;height:70%;background:var(--sia-c);animation:sia-morph 2.4s ease-in-out infinite}@keyframes sia-morph{0%{border-radius:50%;transform:rotate(0) scale(1)}25%{border-radius:30% 70% 50% 50%;transform:rotate(90deg) scale(.85)}50%{border-radius:50% 30% 70%;transform:rotate(180deg) scale(1)}75%{border-radius:70% 50% 30% 70%;transform:rotate(270deg) scale(.85)}to{border-radius:50%;transform:rotate(360deg) scale(1)}}.sia-wave{display:flex;align-items:center;gap:3px}.sia-wave .wave-dot{width:6px;height:6px;border-radius:50%;background:var(--sia-c);animation:sia-wave-flow 1.6s calc(var(--i) * .12s) ease-in-out infinite}@keyframes sia-wave-flow{0%,to{transform:translateY(0) scale(.6);opacity:.3}50%{transform:translateY(-10px) scale(1);opacity:1}}.sia-skeleton{display:flex;flex-direction:column;gap:.75rem;padding:0 1rem;width:100%}.skel-row{display:flex;align-items:center;gap:.75rem}.skel-row--header{margin-bottom:.25rem}.skel-circle{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--p-surface-200, #e2e8f0);animation:sia-shimmer 1.6s ease-in-out infinite}.skel-lines{flex:1;display:flex;flex-direction:column;gap:.4rem}.skel-line{height:10px;border-radius:4px;background:var(--p-surface-200, #e2e8f0);animation:sia-shimmer 1.6s ease-in-out infinite}.skel-line--full{width:100%;animation-delay:.1s}.skel-line--lg{width:75%;animation-delay:.2s}.skel-line--md{width:55%;animation-delay:.3s}.skel-line--sm{width:35%;animation-delay:.15s}@keyframes sia-shimmer{0%,to{opacity:.4}50%{opacity:1}}.sia-senior-draw{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-draw .sp{stroke-dasharray:1200;stroke-dashoffset:1200}.sia-senior-draw .sp-r{animation:sia-sd-r 2s ease-in-out infinite}.sia-senior-draw .sp-l{animation:sia-sd-l 2s ease-in-out infinite}@keyframes sia-sd-r{0%{stroke-dashoffset:1200;opacity:.2}35%{stroke-dashoffset:0;opacity:1}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1200;opacity:.2}}@keyframes sia-sd-l{0%{stroke-dashoffset:1200;opacity:.2}15%{stroke-dashoffset:1200;opacity:.2}50%{stroke-dashoffset:0;opacity:1}65%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1200;opacity:.2}}.sia-senior-pulse{display:flex;align-items:center;justify-content:center}.sia-senior-pulse .sp-circle{width:var(--size, 64px);height:var(--size, 64px);border-radius:50%;background-color:var(--sia-c);display:flex;align-items:center;justify-content:center;position:relative;animation:sia-sp-pulse 1.4s ease-out infinite,sia-sp-scale 1.4s ease-in-out infinite}@keyframes sia-sp-pulse{0%{box-shadow:0 0 0 0 var(--sia-cl)}70%{box-shadow:0 0 0 20px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes sia-sp-scale{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.sia-senior-glow{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-glow .glow-shadow{opacity:.3;filter:blur(4px);animation:sia-sg-breathe 2s ease-in-out infinite}.sia-senior-glow .glow-main{animation:sia-sg-breathe 2s ease-in-out infinite}@keyframes sia-sg-breathe{0%,to{opacity:.4;filter:drop-shadow(0 0 2px var(--sia-cl))}50%{opacity:1;filter:drop-shadow(0 0 10px var(--sia-cl)) drop-shadow(0 0 20px var(--sia-c))}}.sia-senior-flip{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center;perspective:300px}.sia-senior-flip svg{animation:sia-sf-flip 2s ease-in-out infinite;transform-style:preserve-3d}@keyframes sia-sf-flip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}.sia-senior-bounce{width:var(--size, 40px);height:var(--size, 40px);display:flex;align-items:center;justify-content:center}.sia-senior-bounce .bounce-r{animation:sia-sb-r 1.2s ease-in-out infinite;transform-origin:center center}.sia-senior-bounce .bounce-l{animation:sia-sb-l 1.2s ease-in-out infinite;transform-origin:center center}@keyframes sia-sb-r{0%,to{transform:translateY(0) scale(1);opacity:.7}50%{transform:translateY(-8px) scale(1.05);opacity:1}}@keyframes sia-sb-l{0%,to{transform:translateY(-8px) scale(1.05);opacity:1}50%{transform:translateY(0) scale(1);opacity:.7}}.sia-senior-reveal{width:var(--size, 64px);height:calc(var(--size, 64px) * 1.4);position:relative;display:flex;align-items:center;justify-content:center}.sia-senior-reveal .sr-ball{position:absolute;width:var(--size, 64px);height:var(--size, 64px);border-radius:50%;overflow:hidden;animation:sia-sr-bounce 1.2s ease-in-out infinite}.sia-senior-reveal .sr-shadow{position:absolute;bottom:0;width:60%;height:6px;border-radius:50%;background:#0000001f;animation:sia-sr-shadow 1.2s ease-in-out infinite}@keyframes sia-sr-bounce{0%,to{transform:translateY(20%) scaleX(1.06) scaleY(.94)}50%{transform:translateY(-25%) scaleX(.96) scaleY(1.04)}}@keyframes sia-sr-shadow{0%,to{transform:scaleX(1);opacity:.12}50%{transform:scaleX(.6);opacity:.06}}\n"] }]
|
|
276
264
|
}], propDecorators: { variant: [{
|
|
277
265
|
type: Input
|
|
278
266
|
}], color: [{
|
|
@@ -284,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
284
272
|
}], padding: [{
|
|
285
273
|
type: Input
|
|
286
274
|
}] } });
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTy9DLE1BQU0sU0FBUyxHQUEwRDtJQUN2RSxPQUFPLEVBQUksRUFBRSxJQUFJLEVBQUUsK0JBQStCLEVBQUcsS0FBSyxFQUFFLCtCQUErQixFQUFFO0lBQzdGLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSwrQkFBK0IsRUFBRyxLQUFLLEVBQUUsK0JBQStCLEVBQUU7SUFDN0YsT0FBTyxFQUFJLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFLLEtBQUssRUFBRSw2QkFBNkIsRUFBRTtJQUMzRixJQUFJLEVBQU8sRUFBRSxJQUFJLEVBQUUsOEJBQThCLEVBQUksS0FBSyxFQUFFLDhCQUE4QixFQUFFO0lBQzVGLE1BQU0sRUFBSyxFQUFFLElBQUksRUFBRSwyQkFBMkIsRUFBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7SUFDekYsSUFBSSxFQUFPLEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFNLEtBQUssRUFBRSw0QkFBNEIsRUFBRTtJQUMxRixNQUFNLEVBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUF5QixLQUFLLEVBQUUsU0FBUyxFQUFFO0NBQ3hFLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLG90QkFBb3RCLENBQUM7QUFDL3VCLE1BQU0sZ0JBQWdCLEdBQUcsNm1CQUE2bUIsQ0FBQztBQUN2b0IsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsR0FBRyxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7QUFvWXBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsT0FBTyxHQUFtQixlQUFlLENBQUM7SUFDMUMsS0FBSyxHQUFpQixRQUFRLENBQUM7SUFDL0IsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLE9BQU8sR0FBVyxRQUFRLENBQUM7SUFFcEMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztJQUM5QixRQUFRLEdBQUcsZ0JBQWdCLENBQUM7SUFDNUIsUUFBUSxHQUFHLGdCQUFnQixDQUFDO3dHQWpCakIsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsdUtBN1hqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1SFQsb2dSQXhIUyxZQUFZOzs0RkE4WFgsZ0JBQWdCO2tCQWxZNUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsWUFBWSxDQUFDLFlBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUhUOzhCQXVRUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdWYXJpYW50ID1cbiAgfCAnZG90cycgfCAncHVsc2UnIHwgJ2JhcnMnIHwgJ29yYml0JyB8ICdtb3JwaCcgfCAnd2F2ZScgfCAnc2tlbGV0b24nXG4gIHwgJ3Nlbmlvci1kcmF3JyB8ICdzZW5pb3ItcHVsc2UnIHwgJ3Nlbmlvci1nbG93JyB8ICdzZW5pb3ItZmxpcCcgfCAnc2VuaW9yLWJvdW5jZScgfCAnc2VuaW9yLXJldmVhbCc7XG5leHBvcnQgdHlwZSBMb2FkaW5nQ29sb3IgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuJyB8ICdkYW5nZXInIHwgJ2luZm8nIHwgJ3Nlbmlvcic7XG5cbmNvbnN0IENPTE9SX01BUDogUmVjb3JkPExvYWRpbmdDb2xvciwgeyBiYXNlOiBzdHJpbmc7IGxpZ2h0OiBzdHJpbmcgfT4gPSB7XG4gIHByaW1hcnk6ICAgeyBiYXNlOiAndmFyKC0tcC1wcmltYXJ5LTUwMCwgIzNiODJmNiknLCAgbGlnaHQ6ICd2YXIoLS1wLXByaW1hcnktMzAwLCAjOTNjNWZkKScgfSxcbiAgc2Vjb25kYXJ5OiB7IGJhc2U6ICd2YXIoLS1wLXN1cmZhY2UtNTAwLCAjNjQ3NDhiKScsICBsaWdodDogJ3ZhcigtLXAtc3VyZmFjZS0zMDAsICNjYmQ1ZTEpJyB9LFxuICBzdWNjZXNzOiAgIHsgYmFzZTogJ3ZhcigtLXAtZ3JlZW4tNTAwLCAjMjJjNTVlKScsICAgIGxpZ2h0OiAndmFyKC0tcC1ncmVlbi0zMDAsICM4NmVmYWMpJyB9LFxuICB3YXJuOiAgICAgIHsgYmFzZTogJ3ZhcigtLXAteWVsbG93LTUwMCwgI2VhYjMwOCknLCAgIGxpZ2h0OiAndmFyKC0tcC15ZWxsb3ctMzAwLCAjZmRlMDQ3KScgfSxcbiAgZGFuZ2VyOiAgICB7IGJhc2U6ICd2YXIoLS1wLXJlZC01MDAsICNlZjQ0NDQpJywgICAgICBsaWdodDogJ3ZhcigtLXAtcmVkLTMwMCwgI2ZjYTVhNSknIH0sXG4gIGluZm86ICAgICAgeyBiYXNlOiAndmFyKC0tcC1ibHVlLTUwMCwgIzNiODJmNiknLCAgICAgbGlnaHQ6ICd2YXIoLS1wLWJsdWUtMzAwLCAjOTNjNWZkKScgfSxcbiAgc2VuaW9yOiAgICB7IGJhc2U6ICcjMGQ5NDg4JywgICAgICAgICAgICAgICAgICAgICAgICBsaWdodDogJyMwMGM4OWEnIH0sXG59O1xuXG5jb25zdCBTRU5JT1JfUEFUSF9SSUdIVCA9ICdNMTc0LjcxOSA1MTguOTMyTDI1OC4xNjEgNDM5Ljc4MkMyNjQuNTQ2IDQzMy43NjIgMjY5LjYxNCA0MjYuNjAzIDI3My4wNzIgNDE4LjcxOUMyNzYuNTMgNDEwLjgzNCAyNzguMzEgNDAyLjM3OCAyNzguMzEgMzkzLjgzOEMyNzguMzEgMzg1LjI5OCAyNzYuNTMgMzc2Ljg0MyAyNzMuMDcyIDM2OC45NThDMjY5LjYxNCAzNjEuMDczIDI2NC41NDYgMzUzLjkxNSAyNTguMTYxIDM0Ny44OTVMMTc0LjcxOSAyNjkuMTk5QzE2OC40NSAyNjMuMzA0IDE2My40NzQgMjU2LjI4OSAxNjAuMDc3IDI0OC41NkMxNTYuNjgxIDI0MC44MyAxNTQuOTMzIDIzMi41MzkgMTU0LjkzMyAyMjQuMTY1QzE1NC45MzMgMjE1Ljc5MiAxNTYuNjgxIDIwNy41MDEgMTYwLjA3NyAxOTkuNzcxQzE2My40NzQgMTkyLjA0MiAxNjguNDUgMTg1LjAyNyAxNzQuNzE5IDE3OS4xMzJMMzAzLjcxOCAzMDEuNDk2QzMyOS41MTcgMzI2LjA4OSAzNDQgMzU5LjM3MSAzNDQgMzk0LjA2NkMzNDQgNDI4Ljc2IDMyOS41MTcgNDYyLjA0MyAzMDMuNzE4IDQ4Ni42MzVMMTc0LjcxOSA2MDlDMTY4LjQ1IDYwMy4xMDUgMTYzLjQ3NCA1OTYuMDkgMTYwLjA3NyA1ODguMzZDMTU2LjY4MSA1ODAuNjMxIDE1NC45MzMgNTcyLjM0IDE1NC45MzMgNTYzLjk2NkMxNTQuOTMzIDU1NS41OTIgMTU2LjY4MSA1NDcuMzAxIDE2MC4wNzcgNTM5LjU3MkMxNjMuNDc0IDUzMS44NDIgMTY4LjQ1IDUyNC44MjggMTc0LjcxOSA1MTguOTMyWic7XG5jb25zdCBTRU5JT1JfUEFUSF9MRUZUID0gJ00xNzMuNzYgOTQuMDY3N0w5MC4zMTg5IDE3My4yMThDODMuOTMzNCAxNzkuMjM4IDc4Ljg2NTkgMTg2LjM5NyA3NS40MDggMTk0LjI4MUM3MS45NSAyMDIuMTY2IDcwLjE2OTggMjEwLjYyMiA3MC4xNjk4IDIxOS4xNjJDNzAuMTY5OCAyMjcuNzAyIDcxLjk1IDIzNi4xNTcgNzUuNDA4IDI0NC4wNDJDNzguODY1OSAyNTEuOTI3IDgzLjkzMzQgMjU5LjA4NSA5MC4zMTg5IDI2NS4xMDVMMTczLjc2IDM0NC4yNTZDMTgwLjAzIDM1MC4xNTEgMTg1LjAwNiAzNTcuMTY2IDE4OC40MDIgMzY0Ljg5NUMxOTEuNzk4IDM3Mi42MjUgMTkzLjU0NyAzODAuOTE2IDE5My41NDcgMzg5LjI4OUMxOTMuNTQ3IDM5Ny42NjMgMTkxLjc5OCA0MDUuOTU0IDE4OC40MDIgNDEzLjY4NEMxODUuMDA2IDQyMS40MTMgMTgwLjAzIDQyOC40MjggMTczLjc2IDQzNC4zMjNMNDQuMjgyMyAzMTEuNTA0QzE4LjQ4MzIgMjg2LjkxMSA0IDI1My42MjkgNCAyMTguOTM0QzQgMTg0LjI0IDE4LjQ4MzIgMTUwLjk1NyA0NC4yODIzIDEyNi4zNjVMMTczLjc2IDRDMTg2LjIxMyAxNi4wMTI5IDE5My4xOTIgMzIuMTg2MSAxOTMuMTkyIDQ5LjAzMzhDMTkzLjE5MiA2NS44ODE1IDE4Ni4yMTMgODIuMDU0NyAxNzMuNzYgOTQuMDY3N1onO1xuY29uc3QgU0VOSU9SX1BBVEhfRlVMTCA9IFNFTklPUl9QQVRIX1JJR0hUICsgJyAnICsgU0VOSU9SX1BBVEhfTEVGVDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2lhLWxvYWRpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInNpYS1sb2FkaW5nXCIgW3N0eWxlLnBhZGRpbmddPVwicGFkZGluZ1wiXG4gICAgICBbY2xhc3Muc2lhLWxvYWRpbmctLXNrZWxldG9uXT1cInZhcmlhbnQgPT09ICdza2VsZXRvbidcIlxuICAgICAgW3N0eWxlLi0tc2lhLWNdPVwiY29sb3JCYXNlXCIgW3N0eWxlLi0tc2lhLWNsXT1cImNvbG9yTGlnaHRcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNpYS1kb3RzXCIgKm5nSWY9XCJ2YXJpYW50ID09PSAnZG90cydcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkb3RcIiAqbmdGb3I9XCJsZXQgZCBvZiBbMCwxLDJdXCIgW3N0eWxlLi0taV09XCJkXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtcHVsc2VcIiAqbmdJZj1cInZhcmlhbnQgPT09ICdwdWxzZSdcIiBbc3R5bGUuLS1zaXplXT1cInNpemUgKyAncHgnXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmluZyByaW5nLTFcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmluZyByaW5nLTJcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY29yZVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLWJhcnNcIiAqbmdJZj1cInZhcmlhbnQgPT09ICdiYXJzJ1wiIFtzdHlsZS4tLWhdPVwic2l6ZSArICdweCdcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJiYXJcIiAqbmdGb3I9XCJsZXQgYiBvZiBbMCwxLDIsMyw0XVwiIFtzdHlsZS4tLWldPVwiYlwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLW9yYml0XCIgKm5nSWY9XCJ2YXJpYW50ID09PSAnb3JiaXQnXCIgW3N0eWxlLi0tc2l6ZV09XCJzaXplICsgJ3B4J1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm9yYml0LXRyYWNrXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm9yYml0LWRvdCBvcmJpdC1kb3QtMVwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvcmJpdC1kb3Qgb3JiaXQtZG90LTJcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNpYS1tb3JwaFwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ21vcnBoJ1wiIFtzdHlsZS4tLXNpemVdPVwic2l6ZSArICdweCdcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtb3JwaC1zaGFwZVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLXdhdmVcIiAqbmdJZj1cInZhcmlhbnQgPT09ICd3YXZlJ1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndhdmUtZG90XCIgKm5nRm9yPVwibGV0IHcgb2YgWzAsMSwyLDMsNCw1LDZdXCIgW3N0eWxlLi0taV09XCJ3XCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtc2tlbGV0b25cIiAqbmdJZj1cInZhcmlhbnQgPT09ICdza2VsZXRvbidcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNrZWwtcm93IHNrZWwtcm93LS1oZWFkZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbC1jaXJjbGVcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbC1saW5lc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWwtbGluZSBza2VsLWxpbmUtLW1kXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbC1saW5lIHNrZWwtbGluZS0tc21cIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza2VsLWxpbmUgc2tlbC1saW5lLS1mdWxsXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza2VsLWxpbmUgc2tlbC1saW5lLS1sZ1wiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbC1saW5lIHNrZWwtbGluZS0tbWRcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIOKVkOKVkOKVkCBTRU5JT1IgVkFSSUFOVFMg4pWQ4pWQ4pWQIC0tPlxuXG4gICAgICA8IS0tIHNlbmlvci1kcmF3OiBzdHJva2UgZHJhdyBhbmltYXRpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLXNlbmlvci1kcmF3XCIgKm5nSWY9XCJ2YXJpYW50ID09PSAnc2VuaW9yLWRyYXcnXCIgW3N0eWxlLi0tc2l6ZV09XCJzaXplICsgJ3B4J1wiPlxuICAgICAgICA8c3ZnIFthdHRyLndpZHRoXT1cInNpemVcIiBbYXR0ci5oZWlnaHRdPVwic2l6ZVwiIHZpZXdCb3g9XCIwIDAgMzQ4IDYxM1wiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJzcCBzcC1yXCIgW2F0dHIuZF09XCJwYXRoUmlnaHRcIlxuICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImNvbG9yQmFzZVwiIHN0cm9rZS13aWR0aD1cIjZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJzcCBzcC1sXCIgW2F0dHIuZF09XCJwYXRoTGVmdFwiXG4gICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiY29sb3JCYXNlXCIgc3Ryb2tlLXdpZHRoPVwiNlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBzZW5pb3ItcHVsc2U6IGNpcmNsZSB3aXRoIGxvZ28sIHB1bHNlICsgc2NhbGUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLXNlbmlvci1wdWxzZVwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3Nlbmlvci1wdWxzZSdcIiBbc3R5bGUuLS1zaXplXT1cInNpemUgKyAncHgnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcC1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnIFthdHRyLndpZHRoXT1cInNpemUgKiAwLjVcIiBbYXR0ci5oZWlnaHRdPVwic2l6ZSAqIDAuODhcIiB2aWV3Qm94PVwiMCAwIDM0OCA2MTNcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgPHBhdGggW2F0dHIuZF09XCJwYXRoRnVsbFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gc2VuaW9yLWdsb3c6IG5lb24gZ2xvdyB3aXRoIGJyZWF0aGluZyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtc2VuaW9yLWdsb3dcIiAqbmdJZj1cInZhcmlhbnQgPT09ICdzZW5pb3ItZ2xvdydcIiBbc3R5bGUuLS1zaXplXT1cInNpemUgKyAncHgnXCI+XG4gICAgICAgIDxzdmcgW2F0dHIud2lkdGhdPVwic2l6ZVwiIFthdHRyLmhlaWdodF09XCJzaXplXCIgdmlld0JveD1cIjAgMCAzNDggNjEzXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICA8cGF0aCBjbGFzcz1cImdsb3ctc2hhZG93XCIgW2F0dHIuZF09XCJwYXRoRnVsbFwiIFthdHRyLnN0cm9rZV09XCJjb2xvckxpZ2h0XCIgc3Ryb2tlLXdpZHRoPVwiMTJcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJnbG93LW1haW5cIiBbYXR0ci5kXT1cInBhdGhGdWxsXCIgW2F0dHIuc3Ryb2tlXT1cImNvbG9yQmFzZVwiIHN0cm9rZS13aWR0aD1cIjRcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gc2VuaW9yLWZsaXA6IDNEIFktYXhpcyBmbGlwIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNpYS1zZW5pb3ItZmxpcFwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3Nlbmlvci1mbGlwJ1wiIFtzdHlsZS4tLXNpemVdPVwic2l6ZSArICdweCdcIj5cbiAgICAgICAgPHN2ZyBbYXR0ci53aWR0aF09XCJzaXplXCIgW2F0dHIuaGVpZ2h0XT1cInNpemVcIiB2aWV3Qm94PVwiMCAwIDM0OCA2MTNcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgIDxwYXRoIFthdHRyLmRdPVwicGF0aEZ1bGxcIiBbYXR0ci5maWxsXT1cImNvbG9yQmFzZVwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gc2VuaW9yLWJvdW5jZTogYWx0ZXJuYXRpbmcgaGFsdmVzIGJvdW5jZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtc2VuaW9yLWJvdW5jZVwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3Nlbmlvci1ib3VuY2UnXCIgW3N0eWxlLi0tc2l6ZV09XCJzaXplICsgJ3B4J1wiPlxuICAgICAgICA8c3ZnIFthdHRyLndpZHRoXT1cInNpemVcIiBbYXR0ci5oZWlnaHRdPVwic2l6ZVwiIHZpZXdCb3g9XCIwIDAgMzQ4IDYxM1wiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJib3VuY2UtclwiIFthdHRyLmRdPVwicGF0aFJpZ2h0XCIgW2F0dHIuZmlsbF09XCJjb2xvckJhc2VcIiAvPlxuICAgICAgICAgIDxwYXRoIGNsYXNzPVwiYm91bmNlLWxcIiBbYXR0ci5kXT1cInBhdGhMZWZ0XCIgW2F0dHIuZmlsbF09XCJjb2xvckxpZ2h0XCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBzZW5pb3ItcmV2ZWFsOiB0ZW5uaXMgYmFsbCBib3VuY2luZyDihpIgbG9nbyByZXZlYWwg4oaSIGJhY2sgdG8gYmFsbCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtc2VuaW9yLXJldmVhbFwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3Nlbmlvci1yZXZlYWwnXCIgW3N0eWxlLi0tc2l6ZV09XCJzaXplICsgJ3B4J1wiPlxuICAgICAgICA8IS0tIFRlbm5pcyBiYWxsIC0tPlxuICAgICAgICA8c3ZnIGNsYXNzPVwic3ItYmFsbFwiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cInNyLWNsaXBcIj48Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQ4XCIgLz48L2NsaXBQYXRoPlxuICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQ4XCIgW2F0dHIuZmlsbF09XCJjb2xvckJhc2VcIiAvPlxuICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjc3ItY2xpcClcIj5cbiAgICAgICAgICAgIDwhLS0gdG9wLXJpZ2h0IHNlYW0gY3VydmUgLS0+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTM4IC0yIEM1OCAxOCwgNjIgMzgsIDEwMiA0OFwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiOVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIG9wYWNpdHk9XCIwLjE1XCIgLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMzggLTIgQzU4IDE4LCA2MiAzOCwgMTAyIDQ4XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgb3BhY2l0eT1cIjAuOFwiIC8+XG4gICAgICAgICAgICA8IS0tIGJvdHRvbS1sZWZ0IHNlYW0gY3VydmUgLS0+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTS0yIDUyIEMzOCA2MiwgNDIgODIsIDYyIDEwMlwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiOVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIG9wYWNpdHk9XCIwLjE1XCIgLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNLTIgNTIgQzM4IDYyLCA0MiA4MiwgNjIgMTAyXCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgb3BhY2l0eT1cIjAuOFwiIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPCEtLSBTaGFkb3cgdW5kZXIgYmFsbCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNyLXNoYWRvd1wiPjwvZGl2PlxuICAgICAgICA8IS0tIFNlbmlvciBsb2dvIChubyBjaXJjbGUsIGp1c3QgdGhlIGxvZ28pIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ItbG9nb1wiPlxuICAgICAgICAgIDxzdmcgW2F0dHIud2lkdGhdPVwic2l6ZSAqIDAuNlwiIFthdHRyLmhlaWdodF09XCJzaXplXCIgdmlld0JveD1cIjAgMCAzNDggNjEzXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgIDxwYXRoIFthdHRyLmRdPVwicGF0aEZ1bGxcIiBbYXR0ci5maWxsXT1cImNvbG9yQmFzZVwiIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2lhLWxvYWRpbmctdGV4dFwiICpuZ0lmPVwidGV4dCAmJiB2YXJpYW50ICE9PSAnc2tlbGV0b24nXCI+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc2lhLWxvYWRpbmcge1xuICAgICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNzVyZW07IHBhZGRpbmc6IDNyZW0gMDtcbiAgICB9XG4gICAgLnNpYS1sb2FkaW5nLS1za2VsZXRvbiB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gICAgLnNpYS1sb2FkaW5nLXRleHQgeyBjb2xvcjogdmFyKC0tcC10ZXh0LW11dGVkLWNvbG9yLCAjOTRhM2I4KTsgZm9udC1zaXplOiAwLjhyZW07IGxldHRlci1zcGFjaW5nOiAwLjAyZW07IH1cblxuICAgIC8qIOKUgOKUgCBEb3RzIOKUgOKUgCAqL1xuICAgIC5zaWEtZG90cyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNnB4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnNpYS1kb3RzIC5kb3Qge1xuICAgICAgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1zaWEtYyk7XG4gICAgICBhbmltYXRpb246IHNpYS1kb3QtYm91bmNlIDEuMnMgY2FsYyh2YXIoLS1pKSAqIDAuMTVzKSBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzaWEtZG90LWJvdW5jZSB7XG4gICAgICAwJSwgNjAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOyBvcGFjaXR5OiAwLjQ7IH1cbiAgICAgIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCkgc2NhbGUoMS4xNSk7IG9wYWNpdHk6IDE7IH1cbiAgICB9XG5cbiAgICAvKiDilIDilIAgUHVsc2Ug4pSA4pSAICovXG4gICAgLnNpYS1wdWxzZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IHZhcigtLXNpemUsIDQwcHgpOyBoZWlnaHQ6IHZhcigtLXNpemUsIDQwcHgpOyB9XG4gICAgLnNpYS1wdWxzZSAucmluZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zaWEtYyk7IG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIC5zaWEtcHVsc2UgLnJpbmctMSB7IGFuaW1hdGlvbjogc2lhLXJpcHBsZSAxLjhzIDBzIGVhc2Utb3V0IGluZmluaXRlOyB9XG4gICAgLnNpYS1wdWxzZSAucmluZy0yIHsgYW5pbWF0aW9uOiBzaWEtcmlwcGxlIDEuOHMgMC42cyBlYXNlLW91dCBpbmZpbml0ZTsgfVxuICAgIC5zaWEtcHVsc2UgLmNvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbGVmdDogNTAlOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luOiAtNXB4IDAgMCAtNXB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXNpYS1jKTtcbiAgICAgIGFuaW1hdGlvbjogc2lhLWNvcmUtcHVsc2UgMS44cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzaWEtcmlwcGxlIHsgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IG9wYWNpdHk6IDAuODsgfSAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgb3BhY2l0eTogMDsgfSB9XG4gICAgQGtleWZyYW1lcyBzaWEtY29yZS1wdWxzZSB7IDAlLCAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgb3BhY2l0eTogMC42OyB9IDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgb3BhY2l0eTogMTsgfSB9XG5cbiAgICAvKiDilIDilIAgQmFycyDilIDilIAgKi9cbiAgICAuc2lhLWJhcnMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDNweDsgaGVpZ2h0OiB2YXIoLS1oLCA0MHB4KTsgfVxuICAgIC5zaWEtYmFycyAuYmFyIHtcbiAgICAgIHdpZHRoOiA0cHg7IGhlaWdodDogNDAlOyBib3JkZXItcmFkaXVzOiAycHg7IGJhY2tncm91bmQ6IHZhcigtLXNpYS1jKTtcbiAgICAgIGFuaW1hdGlvbjogc2lhLWJhci13YXZlIDFzIGNhbGModmFyKC0taSkgKiAwLjFzKSBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzaWEtYmFyLXdhdmUgeyAwJSwgMTAwJSB7IGhlaWdodDogMjAlOyBvcGFjaXR5OiAwLjQ7IH0gNTAlIHsgaGVpZ2h0OiAxMDAlOyBvcGFjaXR5OiAxOyB9IH1cblxuICAgIC8qIOKUgOKUgCBPcmJpdCDilIDilIAgKi9cbiAgICAuc2lhLW9yYml0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogdmFyKC0tc2l6ZSwgNDBweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNDBweCk7IH1cbiAgICAuc2lhLW9yYml0IC5vcmJpdC10cmFjayB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1wLXN1cmZhY2UtMjAwLCAjZTJlOGYwKTsgfVxuICAgIC5zaWEtb3JiaXQgLm9yYml0LWRvdCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgdG9wOiAtNHB4OyBsZWZ0OiBjYWxjKDUwJSAtIDRweCk7IH1cbiAgICAuc2lhLW9yYml0IC5vcmJpdC1kb3QtMSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWEtYyk7IGFuaW1hdGlvbjogc2lhLW9yYml0LXNwaW4gMS40cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgY2FsYyh2YXIoLS1zaXplLCA0MHB4KSAvIDIgKyA0cHgpO1xuICAgIH1cbiAgICAuc2lhLW9yYml0IC5vcmJpdC1kb3QtMiB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWEtY2wpOyBhbmltYXRpb246IHNpYS1vcmJpdC1zcGluIDEuNHMgMC43cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgY2FsYyh2YXIoLS1zaXplLCA0MHB4KSAvIDIgKyA0cHgpO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1vcmJpdC1zcGluIHsgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuICAgIC8qIOKUgOKUgCBNb3JwaCDilIDilIAgKi9cbiAgICAuc2lhLW1vcnBoIHsgd2lkdGg6IHZhcigtLXNpemUsIDQwcHgpOyBoZWlnaHQ6IHZhcigtLXNpemUsIDQwcHgpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaWEtbW9ycGggLm1vcnBoLXNoYXBlIHtcbiAgICAgIHdpZHRoOiA3MCU7IGhlaWdodDogNzAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1zaWEtYyk7XG4gICAgICBhbmltYXRpb246IHNpYS1tb3JwaCAyLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1tb3JwaCB7XG4gICAgICAwJSAgIHsgYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgNTAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTsgfVxuICAgICAgMjUlICB7IGJvcmRlci1yYWRpdXM6IDMwJSA3MCUgNTAlIDUwJTsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHNjYWxlKDAuODUpOyB9XG4gICAgICA1MCUgIHsgYm9yZGVyLXJhZGl1czogNTAlIDMwJSA3MCUgMzAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHNjYWxlKDEpOyB9XG4gICAgICA3NSUgIHsgYm9yZGVyLXJhZGl1czogNzAlIDUwJSAzMCUgNzAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIHNjYWxlKDAuODUpOyB9XG4gICAgICAxMDAlIHsgYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgNTAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHNjYWxlKDEpOyB9XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIFdhdmUg4pSA4pSAICovXG4gICAgLnNpYS13YXZlIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAzcHg7IH1cbiAgICAuc2lhLXdhdmUgLndhdmUtZG90IHtcbiAgICAgIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXNpYS1jKTtcbiAgICAgIGFuaW1hdGlvbjogc2lhLXdhdmUtZmxvdyAxLjZzIGNhbGModmFyKC0taSkgKiAwLjEycykgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXdhdmUtZmxvdyB7XG4gICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjYpOyBvcGFjaXR5OiAwLjM7IH1cbiAgICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCkgc2NhbGUoMSk7IG9wYWNpdHk6IDE7IH1cbiAgICB9XG5cbiAgICAvKiDilIDilIAgU2tlbGV0b24g4pSA4pSAICovXG4gICAgLnNpYS1za2VsZXRvbiB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMC43NXJlbTsgcGFkZGluZzogMCAxcmVtOyB3aWR0aDogMTAwJTsgfVxuICAgIC5za2VsLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC43NXJlbTsgfVxuICAgIC5za2VsLXJvdy0taGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAgIC5za2VsLWNpcmNsZSB7XG4gICAgICB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcC1zdXJmYWNlLTIwMCwgI2UyZThmMCk7IGFuaW1hdGlvbjogc2lhLXNoaW1tZXIgMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgLnNrZWwtbGluZXMgeyBmbGV4OiAxOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDAuNHJlbTsgfVxuICAgIC5za2VsLWxpbmUge1xuICAgICAgaGVpZ2h0OiAxMHB4OyBib3JkZXItcmFkaXVzOiA0cHg7IGJhY2tncm91bmQ6IHZhcigtLXAtc3VyZmFjZS0yMDAsICNlMmU4ZjApO1xuICAgICAgYW5pbWF0aW9uOiBzaWEtc2hpbW1lciAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgICAuc2tlbC1saW5lLS1mdWxsIHsgd2lkdGg6IDEwMCU7IGFuaW1hdGlvbi1kZWxheTogMC4xczsgfVxuICAgIC5za2VsLWxpbmUtLWxnICAgeyB3aWR0aDogNzUlOyBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH1cbiAgICAuc2tlbC1saW5lLS1tZCAgIHsgd2lkdGg6IDU1JTsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9XG4gICAgLnNrZWwtbGluZS0tc20gICB7IHdpZHRoOiAzNSU7IGFuaW1hdGlvbi1kZWxheTogMC4xNXM7IH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zaGltbWVyIHsgMCUsIDEwMCUgeyBvcGFjaXR5OiAwLjQ7IH0gNTAlIHsgb3BhY2l0eTogMTsgfSB9XG5cbiAgICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgICBTRU5JT1IgVkFSSUFOVFNcbiAgICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cblxuICAgIC8qIOKUgOKUgCBzZW5pb3ItZHJhdzogc3Ryb2tlIGRyYXcgYW5pbWF0aW9uIOKUgOKUgCAqL1xuICAgIC5zaWEtc2VuaW9yLWRyYXcgeyB3aWR0aDogdmFyKC0tc2l6ZSwgNDBweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNDBweCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpYS1zZW5pb3ItZHJhdyAuc3AgeyBzdHJva2UtZGFzaGFycmF5OiAxMjAwOyBzdHJva2UtZGFzaG9mZnNldDogMTIwMDsgfVxuICAgIC5zaWEtc2VuaW9yLWRyYXcgLnNwLXIgeyBhbmltYXRpb246IHNpYS1zZC1yIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG4gICAgLnNpYS1zZW5pb3ItZHJhdyAuc3AtbCB7IGFuaW1hdGlvbjogc2lhLXNkLWwgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zZC1yIHtcbiAgICAgIDAlICAgeyBzdHJva2UtZGFzaG9mZnNldDogMTIwMDsgb3BhY2l0eTogMC4yOyB9XG4gICAgICAzNSUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IG9wYWNpdHk6IDE7IH1cbiAgICAgIDYwJSAgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgb3BhY2l0eTogMTsgfVxuICAgICAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAtMTIwMDsgb3BhY2l0eTogMC4yOyB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXNkLWwge1xuICAgICAgMCUgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiAxMjAwOyBvcGFjaXR5OiAwLjI7IH1cbiAgICAgIDE1JSAgeyBzdHJva2UtZGFzaG9mZnNldDogMTIwMDsgb3BhY2l0eTogMC4yOyB9XG4gICAgICA1MCUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IG9wYWNpdHk6IDE7IH1cbiAgICAgIDY1JSAgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgb3BhY2l0eTogMTsgfVxuICAgICAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAtMTIwMDsgb3BhY2l0eTogMC4yOyB9XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIHNlbmlvci1wdWxzZTogY2lyY2xlIHdpdGggbG9nbywgcHVsc2UgKyBzY2FsZSDilIDilIAgKi9cbiAgICAuc2lhLXNlbmlvci1wdWxzZSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpYS1zZW5pb3ItcHVsc2UgLnNwLWNpcmNsZSB7XG4gICAgICB3aWR0aDogdmFyKC0tc2l6ZSwgNjRweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNjRweCk7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpYS1jKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBhbmltYXRpb246IHNpYS1zcC1wdWxzZSAxLjRzIGVhc2Utb3V0IGluZmluaXRlLCBzaWEtc3Atc2NhbGUgMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzaWEtc3AtcHVsc2Uge1xuICAgICAgMCUgIHsgYm94LXNoYWRvdzogMCAwIDAgMCB2YXIoLS1zaWEtY2wpOyB9XG4gICAgICA3MCUgeyBib3gtc2hhZG93OiAwIDAgMCAyMHB4IHRyYW5zcGFyZW50OyB9XG4gICAgICAxMDAleyBib3gtc2hhZG93OiAwIDAgMCAwIHRyYW5zcGFyZW50OyB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXNwLXNjYWxlIHsgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xMik7IH0gfVxuXG4gICAgLyog4pSA4pSAIHNlbmlvci1nbG93OiBuZW9uIGdsb3cgYnJlYXRoaW5nIOKUgOKUgCAqL1xuICAgIC5zaWEtc2VuaW9yLWdsb3cgeyB3aWR0aDogdmFyKC0tc2l6ZSwgNDBweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNDBweCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpYS1zZW5pb3ItZ2xvdyAuZ2xvdy1zaGFkb3cge1xuICAgICAgb3BhY2l0eTogMC4zOyBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIGFuaW1hdGlvbjogc2lhLXNnLWJyZWF0aGUgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgfVxuICAgIC5zaWEtc2VuaW9yLWdsb3cgLmdsb3ctbWFpbiB7XG4gICAgICBhbmltYXRpb246IHNpYS1zZy1icmVhdGhlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zZy1icmVhdGhlIHtcbiAgICAgIDAlLCAxMDAlIHsgb3BhY2l0eTogMC40OyBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAycHggdmFyKC0tc2lhLWNsKSk7IH1cbiAgICAgIDUwJSAgICAgIHsgb3BhY2l0eTogMTsgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxMHB4IHZhcigtLXNpYS1jbCkpIGRyb3Atc2hhZG93KDAgMCAyMHB4IHZhcigtLXNpYS1jKSk7IH1cbiAgICB9XG5cbiAgICAvKiDilIDilIAgc2VuaW9yLWZsaXA6IDNEIFktYXhpcyBmbGlwIOKUgOKUgCAqL1xuICAgIC5zaWEtc2VuaW9yLWZsaXAge1xuICAgICAgd2lkdGg6IHZhcigtLXNpemUsIDQwcHgpOyBoZWlnaHQ6IHZhcigtLXNpemUsIDQwcHgpO1xuICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwZXJzcGVjdGl2ZTogMzAwcHg7XG4gICAgfVxuICAgIC5zaWEtc2VuaW9yLWZsaXAgc3ZnIHtcbiAgICAgIGFuaW1hdGlvbjogc2lhLXNmLWZsaXAgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zZi1mbGlwIHtcbiAgICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7IH1cbiAgICAgIDUwJSAgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsgfVxuICAgICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgzNjBkZWcpOyB9XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIHNlbmlvci1ib3VuY2U6IGFsdGVybmF0aW5nIGhhbHZlcyBib3VuY2Ug4pSA4pSAICovXG4gICAgLnNpYS1zZW5pb3ItYm91bmNlIHsgd2lkdGg6IHZhcigtLXNpemUsIDQwcHgpOyBoZWlnaHQ6IHZhcigtLXNpemUsIDQwcHgpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaWEtc2VuaW9yLWJvdW5jZSAuYm91bmNlLXIge1xuICAgICAgYW5pbWF0aW9uOiBzaWEtc2ItciAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG4gICAgLnNpYS1zZW5pb3ItYm91bmNlIC5ib3VuY2UtbCB7XG4gICAgICBhbmltYXRpb246IHNpYS1zYi1sIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zYi1yIHtcbiAgICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOyBvcGFjaXR5OiAwLjc7IH1cbiAgICAgIDUwJSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHNjYWxlKDEuMDUpOyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXNiLWwge1xuICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgc2NhbGUoMS4wNSk7IG9wYWNpdHk6IDE7IH1cbiAgICAgIDUwJSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOyBvcGFjaXR5OiAwLjc7IH1cbiAgICB9XG5cbiAgICAvKiDilIDilIAgc2VuaW9yLXJldmVhbDogdGVubmlzIGJhbGwgYm91bmNlIOKGkiBsb2dvIOKGkiBiYWxsIOKUgOKUgCAqL1xuICAgIC5zaWEtc2VuaW9yLXJldmVhbCB7XG4gICAgICB3aWR0aDogdmFyKC0tc2l6ZSwgNjRweCk7IGhlaWdodDogY2FsYyh2YXIoLS1zaXplLCA2NHB4KSAqIDEuNCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuc2lhLXNlbmlvci1yZXZlYWwgLnNyLWJhbGwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogdmFyKC0tc2l6ZSwgNjRweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNjRweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBhbmltYXRpb246IHNpYS1zci1iYWxsLXZpcyA0cyBlYXNlLWluLW91dCBpbmZpbml0ZSwgc2lhLXNyLWJvdW5jZSA0cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgLnNpYS1zZW5pb3ItcmV2ZWFsIC5zci1zaGFkb3cge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDA7IHdpZHRoOiA2MCU7IGhlaWdodDogNnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMTIpO1xuICAgICAgYW5pbWF0aW9uOiBzaWEtc3Itc2hhZG93IDRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgICAuc2lhLXNlbmlvci1yZXZlYWwgLnNyLWxvZ28ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBhbmltYXRpb246IHNpYS1zci1sb2dvIDRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cblxuICAgIC8qIFBoYXNlIDEgKDAtNDUlKTogYmFsbCBib3VuY2luZywgbG9nbyBoaWRkZW4gKi9cbiAgICAvKiBQaGFzZSAyICg0NS01NSUpOiBiYWxsIGZhZGVzIG91dCwgbG9nbyBmYWRlcyBpbiAqL1xuICAgIC8qIFBoYXNlIDMgKDU1LTgwJSk6IGxvZ28gdmlzaWJsZSAqL1xuICAgIC8qIFBoYXNlIDQgKDgwLTkwJSk6IGxvZ28gZmFkZXMgb3V0LCBiYWxsIGZhZGVzIGluICovXG4gICAgLyogUGhhc2UgNSAoOTAtMTAwJSk6IGJhbGwgYm91bmNpbmcgYWdhaW4gKi9cblxuICAgIEBrZXlmcmFtZXMgc2lhLXNyLWJvdW5jZSB7XG4gICAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwJSk7IH1cbiAgICAgIDYlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSkgc2NhbGVYKDAuOTUpIHNjYWxlWSgxLjA1KTsgfVxuICAgICAgMTIlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMCUpIHNjYWxlWCgxLjA4KSBzY2FsZVkoMC45Mik7IH1cbiAgICAgIDE3JSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSkgc2NhbGVYKDAuOTcpIHNjYWxlWSgxLjAzKTsgfVxuICAgICAgMjIlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMCUpIHNjYWxlWCgxLjA0KSBzY2FsZVkoMC45Nik7IH1cbiAgICAgIDI3JSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTglKTsgfVxuICAgICAgMzIlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMCUpIHNjYWxlWCgxLjAyKSBzY2FsZVkoMC45OCk7IH1cbiAgICAgIDM3JSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTsgfVxuICAgICAgNDIlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7IH1cbiAgICAgIDQ4JSwgODIlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSBzY2FsZSgwKTsgfVxuICAgICAgODglICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMCUpOyB9XG4gICAgICA5MyUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpOyB9XG4gICAgICA5NyUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwJSkgc2NhbGVYKDEuMDQpIHNjYWxlWSgwLjk2KTsgfVxuICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMCUpOyB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXNyLWJhbGwtdmlzIHtcbiAgICAgIDAlLCA0MiUgIHsgb3BhY2l0eTogMTsgfVxuICAgICAgNDglICAgICAgeyBvcGFjaXR5OiAwOyB9XG4gICAgICA4MiUgICAgICB7IG9wYWNpdHk6IDA7IH1cbiAgICAgIDg4JSwgMTAwJXsgb3BhY2l0eTogMTsgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zci1sb2dvIHtcbiAgICAgIDAlLCA0NCUgICB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfVxuICAgICAgNTQlICAgICAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgICAgNzYlICAgICAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgICAgODYlLCAxMDAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXNyLXNoYWRvdyB7XG4gICAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IG9wYWNpdHk6IDAuMTI7IH1cbiAgICAgIDYlICAgeyB0cmFuc2Zvcm06IHNjYWxlWCgwLjYpOyBvcGFjaXR5OiAwLjA2OyB9XG4gICAgICAxMiUgIHsgdHJhbnNmb3JtOiBzY2FsZVgoMS4xKTsgb3BhY2l0eTogMC4xNTsgfVxuICAgICAgMTclICB7IHRyYW5zZm9ybTogc2NhbGVYKDAuNyk7IG9wYWNpdHk6IDAuMDg7IH1cbiAgICAgIDIyJSAgeyB0cmFuc2Zvcm06IHNjYWxlWCgxLjA1KTsgb3BhY2l0eTogMC4xMzsgfVxuICAgICAgMjclICB7IHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7IG9wYWNpdHk6IDAuMDk7IH1cbiAgICAgIDMyJSAgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgb3BhY2l0eTogMC4xMjsgfVxuICAgICAgNDIlICB7IHRyYW5zZm9ybTogc2NhbGVYKDAuOSk7IG9wYWNpdHk6IDAuMTsgfVxuICAgICAgNDglLCA4MiUgeyB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgb3BhY2l0eTogMDsgfVxuICAgICAgODglICB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyBvcGFjaXR5OiAwLjEyOyB9XG4gICAgICA5MyUgIHsgdHJhbnNmb3JtOiBzY2FsZVgoMC43KTsgb3BhY2l0eTogMC4wODsgfVxuICAgICAgOTclICB7IHRyYW5zZm9ybTogc2NhbGVYKDEuMDUpOyBvcGFjaXR5OiAwLjEzOyB9XG4gICAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IG9wYWNpdHk6IDAuMTI7IH1cbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdDb21wb25lbnQge1xuICBASW5wdXQoKSB2YXJpYW50OiBMb2FkaW5nVmFyaWFudCA9ICdzZW5pb3ItcmV2ZWFsJztcbiAgQElucHV0KCkgY29sb3I6IExvYWRpbmdDb2xvciA9ICdzZW5pb3InO1xuICBASW5wdXQoKSBzaXplOiBudW1iZXIgPSA0MDtcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBhZGRpbmc6IHN0cmluZyA9ICczcmVtIDAnO1xuXG4gIGdldCBjb2xvckJhc2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKENPTE9SX01BUFt0aGlzLmNvbG9yXSB8fCBDT0xPUl9NQVBbJ3NlbmlvciddKS5iYXNlO1xuICB9XG5cbiAgZ2V0IGNvbG9yTGlnaHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKENPTE9SX01BUFt0aGlzLmNvbG9yXSB8fCBDT0xPUl9NQVBbJ3NlbmlvciddKS5saWdodDtcbiAgfVxuXG4gIHBhdGhSaWdodCA9IFNFTklPUl9QQVRIX1JJR0hUO1xuICBwYXRoTGVmdCA9IFNFTklPUl9QQVRIX0xFRlQ7XG4gIHBhdGhGdWxsID0gU0VOSU9SX1BBVEhfRlVMTDtcbn1cbiJdfQ==
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTy9DLE1BQU0sU0FBUyxHQUEwRDtJQUN2RSxPQUFPLEVBQUksRUFBRSxJQUFJLEVBQUUsK0JBQStCLEVBQUcsS0FBSyxFQUFFLCtCQUErQixFQUFFO0lBQzdGLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSwrQkFBK0IsRUFBRyxLQUFLLEVBQUUsK0JBQStCLEVBQUU7SUFDN0YsT0FBTyxFQUFJLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFLLEtBQUssRUFBRSw2QkFBNkIsRUFBRTtJQUMzRixJQUFJLEVBQU8sRUFBRSxJQUFJLEVBQUUsOEJBQThCLEVBQUksS0FBSyxFQUFFLDhCQUE4QixFQUFFO0lBQzVGLE1BQU0sRUFBSyxFQUFFLElBQUksRUFBRSwyQkFBMkIsRUFBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7SUFDekYsSUFBSSxFQUFPLEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFNLEtBQUssRUFBRSw0QkFBNEIsRUFBRTtJQUMxRixNQUFNLEVBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUF5QixLQUFLLEVBQUUsU0FBUyxFQUFFO0NBQ3hFLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLG90QkFBb3RCLENBQUM7QUFDL3VCLE1BQU0sZ0JBQWdCLEdBQUcsNm1CQUE2bUIsQ0FBQztBQUN2b0IsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsR0FBRyxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7QUFnVnBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsT0FBTyxHQUFtQixlQUFlLENBQUM7SUFDMUMsS0FBSyxHQUFpQixRQUFRLENBQUM7SUFDL0IsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLE9BQU8sR0FBVyxRQUFRLENBQUM7SUFFcEMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztJQUM5QixRQUFRLEdBQUcsZ0JBQWdCLENBQUM7SUFDNUIsUUFBUSxHQUFHLGdCQUFnQixDQUFDO3dHQWpCakIsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsdUtBelVqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpSFQsK3RPQWxIUyxZQUFZOzs0RkEwVVgsZ0JBQWdCO2tCQTlVNUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsWUFBWSxDQUFDLFlBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUhUOzhCQXlOUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdWYXJpYW50ID1cbiAgfCAnZG90cycgfCAncHVsc2UnIHwgJ2JhcnMnIHwgJ29yYml0JyB8ICdtb3JwaCcgfCAnd2F2ZScgfCAnc2tlbGV0b24nXG4gIHwgJ3Nlbmlvci1kcmF3JyB8ICdzZW5pb3ItcHVsc2UnIHwgJ3Nlbmlvci1nbG93JyB8ICdzZW5pb3ItZmxpcCcgfCAnc2VuaW9yLWJvdW5jZScgfCAnc2VuaW9yLXJldmVhbCc7XG5leHBvcnQgdHlwZSBMb2FkaW5nQ29sb3IgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuJyB8ICdkYW5nZXInIHwgJ2luZm8nIHwgJ3Nlbmlvcic7XG5cbmNvbnN0IENPTE9SX01BUDogUmVjb3JkPExvYWRpbmdDb2xvciwgeyBiYXNlOiBzdHJpbmc7IGxpZ2h0OiBzdHJpbmcgfT4gPSB7XG4gIHByaW1hcnk6ICAgeyBiYXNlOiAndmFyKC0tcC1wcmltYXJ5LTUwMCwgIzNiODJmNiknLCAgbGlnaHQ6ICd2YXIoLS1wLXByaW1hcnktMzAwLCAjOTNjNWZkKScgfSxcbiAgc2Vjb25kYXJ5OiB7IGJhc2U6ICd2YXIoLS1wLXN1cmZhY2UtNTAwLCAjNjQ3NDhiKScsICBsaWdodDogJ3ZhcigtLXAtc3VyZmFjZS0zMDAsICNjYmQ1ZTEpJyB9LFxuICBzdWNjZXNzOiAgIHsgYmFzZTogJ3ZhcigtLXAtZ3JlZW4tNTAwLCAjMjJjNTVlKScsICAgIGxpZ2h0OiAndmFyKC0tcC1ncmVlbi0zMDAsICM4NmVmYWMpJyB9LFxuICB3YXJuOiAgICAgIHsgYmFzZTogJ3ZhcigtLXAteWVsbG93LTUwMCwgI2VhYjMwOCknLCAgIGxpZ2h0OiAndmFyKC0tcC15ZWxsb3ctMzAwLCAjZmRlMDQ3KScgfSxcbiAgZGFuZ2VyOiAgICB7IGJhc2U6ICd2YXIoLS1wLXJlZC01MDAsICNlZjQ0NDQpJywgICAgICBsaWdodDogJ3ZhcigtLXAtcmVkLTMwMCwgI2ZjYTVhNSknIH0sXG4gIGluZm86ICAgICAgeyBiYXNlOiAndmFyKC0tcC1ibHVlLTUwMCwgIzNiODJmNiknLCAgICAgbGlnaHQ6ICd2YXIoLS1wLWJsdWUtMzAwLCAjOTNjNWZkKScgfSxcbiAgc2VuaW9yOiAgICB7IGJhc2U6ICcjMGQ5NDg4JywgICAgICAgICAgICAgICAgICAgICAgICBsaWdodDogJyMwMGM4OWEnIH0sXG59O1xuXG5jb25zdCBTRU5JT1JfUEFUSF9SSUdIVCA9ICdNMTc0LjcxOSA1MTguOTMyTDI1OC4xNjEgNDM5Ljc4MkMyNjQuNTQ2IDQzMy43NjIgMjY5LjYxNCA0MjYuNjAzIDI3My4wNzIgNDE4LjcxOUMyNzYuNTMgNDEwLjgzNCAyNzguMzEgNDAyLjM3OCAyNzguMzEgMzkzLjgzOEMyNzguMzEgMzg1LjI5OCAyNzYuNTMgMzc2Ljg0MyAyNzMuMDcyIDM2OC45NThDMjY5LjYxNCAzNjEuMDczIDI2NC41NDYgMzUzLjkxNSAyNTguMTYxIDM0Ny44OTVMMTc0LjcxOSAyNjkuMTk5QzE2OC40NSAyNjMuMzA0IDE2My40NzQgMjU2LjI4OSAxNjAuMDc3IDI0OC41NkMxNTYuNjgxIDI0MC44MyAxNTQuOTMzIDIzMi41MzkgMTU0LjkzMyAyMjQuMTY1QzE1NC45MzMgMjE1Ljc5MiAxNTYuNjgxIDIwNy41MDEgMTYwLjA3NyAxOTkuNzcxQzE2My40NzQgMTkyLjA0MiAxNjguNDUgMTg1LjAyNyAxNzQuNzE5IDE3OS4xMzJMMzAzLjcxOCAzMDEuNDk2QzMyOS41MTcgMzI2LjA4OSAzNDQgMzU5LjM3MSAzNDQgMzk0LjA2NkMzNDQgNDI4Ljc2IDMyOS41MTcgNDYyLjA0MyAzMDMuNzE4IDQ4Ni42MzVMMTc0LjcxOSA2MDlDMTY4LjQ1IDYwMy4xMDUgMTYzLjQ3NCA1OTYuMDkgMTYwLjA3NyA1ODguMzZDMTU2LjY4MSA1ODAuNjMxIDE1NC45MzMgNTcyLjM0IDE1NC45MzMgNTYzLjk2NkMxNTQuOTMzIDU1NS41OTIgMTU2LjY4MSA1NDcuMzAxIDE2MC4wNzcgNTM5LjU3MkMxNjMuNDc0IDUzMS44NDIgMTY4LjQ1IDUyNC44MjggMTc0LjcxOSA1MTguOTMyWic7XG5jb25zdCBTRU5JT1JfUEFUSF9MRUZUID0gJ00xNzMuNzYgOTQuMDY3N0w5MC4zMTg5IDE3My4yMThDODMuOTMzNCAxNzkuMjM4IDc4Ljg2NTkgMTg2LjM5NyA3NS40MDggMTk0LjI4MUM3MS45NSAyMDIuMTY2IDcwLjE2OTggMjEwLjYyMiA3MC4xNjk4IDIxOS4xNjJDNzAuMTY5OCAyMjcuNzAyIDcxLjk1IDIzNi4xNTcgNzUuNDA4IDI0NC4wNDJDNzguODY1OSAyNTEuOTI3IDgzLjkzMzQgMjU5LjA4NSA5MC4zMTg5IDI2NS4xMDVMMTczLjc2IDM0NC4yNTZDMTgwLjAzIDM1MC4xNTEgMTg1LjAwNiAzNTcuMTY2IDE4OC40MDIgMzY0Ljg5NUMxOTEuNzk4IDM3Mi42MjUgMTkzLjU0NyAzODAuOTE2IDE5My41NDcgMzg5LjI4OUMxOTMuNTQ3IDM5Ny42NjMgMTkxLjc5OCA0MDUuOTU0IDE4OC40MDIgNDEzLjY4NEMxODUuMDA2IDQyMS40MTMgMTgwLjAzIDQyOC40MjggMTczLjc2IDQzNC4zMjNMNDQuMjgyMyAzMTEuNTA0QzE4LjQ4MzIgMjg2LjkxMSA0IDI1My42MjkgNCAyMTguOTM0QzQgMTg0LjI0IDE4LjQ4MzIgMTUwLjk1NyA0NC4yODIzIDEyNi4zNjVMMTczLjc2IDRDMTg2LjIxMyAxNi4wMTI5IDE5My4xOTIgMzIuMTg2MSAxOTMuMTkyIDQ5LjAzMzhDMTkzLjE5MiA2NS44ODE1IDE4Ni4yMTMgODIuMDU0NyAxNzMuNzYgOTQuMDY3N1onO1xuY29uc3QgU0VOSU9SX1BBVEhfRlVMTCA9IFNFTklPUl9QQVRIX1JJR0hUICsgJyAnICsgU0VOSU9SX1BBVEhfTEVGVDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2lhLWxvYWRpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInNpYS1sb2FkaW5nXCIgW3N0eWxlLnBhZGRpbmddPVwicGFkZGluZ1wiXG4gICAgICBbY2xhc3Muc2lhLWxvYWRpbmctLXNrZWxldG9uXT1cInZhcmlhbnQgPT09ICdza2VsZXRvbidcIlxuICAgICAgW3N0eWxlLi0tc2lhLWNdPVwiY29sb3JCYXNlXCIgW3N0eWxlLi0tc2lhLWNsXT1cImNvbG9yTGlnaHRcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNpYS1kb3RzXCIgKm5nSWY9XCJ2YXJpYW50ID09PSAnZG90cydcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkb3RcIiAqbmdGb3I9XCJsZXQgZCBvZiBbMCwxLDJdXCIgW3N0eWxlLi0taV09XCJkXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtcHVsc2VcIiAqbmdJZj1cInZhcmlhbnQgPT09ICdwdWxzZSdcIiBbc3R5bGUuLS1zaXplXT1cInNpemUgKyAncHgnXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmluZyByaW5nLTFcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmluZyByaW5nLTJcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY29yZVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLWJhcnNcIiAqbmdJZj1cInZhcmlhbnQgPT09ICdiYXJzJ1wiIFtzdHlsZS4tLWhdPVwic2l6ZSArICdweCdcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJiYXJcIiAqbmdGb3I9XCJsZXQgYiBvZiBbMCwxLDIsMyw0XVwiIFtzdHlsZS4tLWldPVwiYlwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLW9yYml0XCIgKm5nSWY9XCJ2YXJpYW50ID09PSAnb3JiaXQnXCIgW3N0eWxlLi0tc2l6ZV09XCJzaXplICsgJ3B4J1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm9yYml0LXRyYWNrXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm9yYml0LWRvdCBvcmJpdC1kb3QtMVwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvcmJpdC1kb3Qgb3JiaXQtZG90LTJcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNpYS1tb3JwaFwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ21vcnBoJ1wiIFtzdHlsZS4tLXNpemVdPVwic2l6ZSArICdweCdcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtb3JwaC1zaGFwZVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLXdhdmVcIiAqbmdJZj1cInZhcmlhbnQgPT09ICd3YXZlJ1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndhdmUtZG90XCIgKm5nRm9yPVwibGV0IHcgb2YgWzAsMSwyLDMsNCw1LDZdXCIgW3N0eWxlLi0taV09XCJ3XCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtc2tlbGV0b25cIiAqbmdJZj1cInZhcmlhbnQgPT09ICdza2VsZXRvbidcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNrZWwtcm93IHNrZWwtcm93LS1oZWFkZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbC1jaXJjbGVcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbC1saW5lc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWwtbGluZSBza2VsLWxpbmUtLW1kXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbC1saW5lIHNrZWwtbGluZS0tc21cIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza2VsLWxpbmUgc2tlbC1saW5lLS1mdWxsXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza2VsLWxpbmUgc2tlbC1saW5lLS1sZ1wiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbC1saW5lIHNrZWwtbGluZS0tbWRcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIOKVkOKVkOKVkCBTRU5JT1IgVkFSSUFOVFMg4pWQ4pWQ4pWQIC0tPlxuXG4gICAgICA8IS0tIHNlbmlvci1kcmF3OiBzdHJva2UgZHJhdyBhbmltYXRpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLXNlbmlvci1kcmF3XCIgKm5nSWY9XCJ2YXJpYW50ID09PSAnc2VuaW9yLWRyYXcnXCIgW3N0eWxlLi0tc2l6ZV09XCJzaXplICsgJ3B4J1wiPlxuICAgICAgICA8c3ZnIFthdHRyLndpZHRoXT1cInNpemVcIiBbYXR0ci5oZWlnaHRdPVwic2l6ZVwiIHZpZXdCb3g9XCIwIDAgMzQ4IDYxM1wiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJzcCBzcC1yXCIgW2F0dHIuZF09XCJwYXRoUmlnaHRcIlxuICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImNvbG9yQmFzZVwiIHN0cm9rZS13aWR0aD1cIjZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJzcCBzcC1sXCIgW2F0dHIuZF09XCJwYXRoTGVmdFwiXG4gICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiY29sb3JCYXNlXCIgc3Ryb2tlLXdpZHRoPVwiNlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBzZW5pb3ItcHVsc2U6IGNpcmNsZSB3aXRoIGxvZ28sIHB1bHNlICsgc2NhbGUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lhLXNlbmlvci1wdWxzZVwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3Nlbmlvci1wdWxzZSdcIiBbc3R5bGUuLS1zaXplXT1cInNpemUgKyAncHgnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcC1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnIFthdHRyLndpZHRoXT1cInNpemUgKiAwLjVcIiBbYXR0ci5oZWlnaHRdPVwic2l6ZSAqIDAuODhcIiB2aWV3Qm94PVwiMCAwIDM0OCA2MTNcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgPHBhdGggW2F0dHIuZF09XCJwYXRoRnVsbFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gc2VuaW9yLWdsb3c6IG5lb24gZ2xvdyB3aXRoIGJyZWF0aGluZyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtc2VuaW9yLWdsb3dcIiAqbmdJZj1cInZhcmlhbnQgPT09ICdzZW5pb3ItZ2xvdydcIiBbc3R5bGUuLS1zaXplXT1cInNpemUgKyAncHgnXCI+XG4gICAgICAgIDxzdmcgW2F0dHIud2lkdGhdPVwic2l6ZVwiIFthdHRyLmhlaWdodF09XCJzaXplXCIgdmlld0JveD1cIjAgMCAzNDggNjEzXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICA8cGF0aCBjbGFzcz1cImdsb3ctc2hhZG93XCIgW2F0dHIuZF09XCJwYXRoRnVsbFwiIFthdHRyLnN0cm9rZV09XCJjb2xvckxpZ2h0XCIgc3Ryb2tlLXdpZHRoPVwiMTJcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJnbG93LW1haW5cIiBbYXR0ci5kXT1cInBhdGhGdWxsXCIgW2F0dHIuc3Ryb2tlXT1cImNvbG9yQmFzZVwiIHN0cm9rZS13aWR0aD1cIjRcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gc2VuaW9yLWZsaXA6IDNEIFktYXhpcyBmbGlwIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNpYS1zZW5pb3ItZmxpcFwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3Nlbmlvci1mbGlwJ1wiIFtzdHlsZS4tLXNpemVdPVwic2l6ZSArICdweCdcIj5cbiAgICAgICAgPHN2ZyBbYXR0ci53aWR0aF09XCJzaXplXCIgW2F0dHIuaGVpZ2h0XT1cInNpemVcIiB2aWV3Qm94PVwiMCAwIDM0OCA2MTNcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgIDxwYXRoIFthdHRyLmRdPVwicGF0aEZ1bGxcIiBbYXR0ci5maWxsXT1cImNvbG9yQmFzZVwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gc2VuaW9yLWJvdW5jZTogYWx0ZXJuYXRpbmcgaGFsdmVzIGJvdW5jZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtc2VuaW9yLWJvdW5jZVwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3Nlbmlvci1ib3VuY2UnXCIgW3N0eWxlLi0tc2l6ZV09XCJzaXplICsgJ3B4J1wiPlxuICAgICAgICA8c3ZnIFthdHRyLndpZHRoXT1cInNpemVcIiBbYXR0ci5oZWlnaHRdPVwic2l6ZVwiIHZpZXdCb3g9XCIwIDAgMzQ4IDYxM1wiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJib3VuY2UtclwiIFthdHRyLmRdPVwicGF0aFJpZ2h0XCIgW2F0dHIuZmlsbF09XCJjb2xvckJhc2VcIiAvPlxuICAgICAgICAgIDxwYXRoIGNsYXNzPVwiYm91bmNlLWxcIiBbYXR0ci5kXT1cInBhdGhMZWZ0XCIgW2F0dHIuZmlsbF09XCJjb2xvckxpZ2h0XCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBzZW5pb3ItcmV2ZWFsOiB0ZW5uaXMgYmFsbCBib3VuY2luZyB3aXRoIFNlbmlvciBsb2dvIGluc2lkZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWEtc2VuaW9yLXJldmVhbFwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3Nlbmlvci1yZXZlYWwnXCIgW3N0eWxlLi0tc2l6ZV09XCJzaXplICogMS4zICsgJ3B4J1wiPlxuICAgICAgICA8IS0tIFRlbm5pcyBiYWxsIHdpdGggU2VuaW9yIGxvZ28gaW5zaWRlIC0tPlxuICAgICAgICA8c3ZnIGNsYXNzPVwic3ItYmFsbFwiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cInNyLWNsaXBcIj48Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQ4XCIgLz48L2NsaXBQYXRoPlxuICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQ4XCIgW2F0dHIuZmlsbF09XCJjb2xvckJhc2VcIiAvPlxuICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjc3ItY2xpcClcIj5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMzggLTIgQzU4IDE4LCA2MiAzOCwgMTAyIDQ4XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCI5XCIgZmlsbD1cIm5vbmVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgb3BhY2l0eT1cIjAuMTVcIiAvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0zOCAtMiBDNTggMTgsIDYyIDM4LCAxMDIgNDhcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBvcGFjaXR5PVwiMC44XCIgLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNLTIgNTIgQzM4IDYyLCA0MiA4MiwgNjIgMTAyXCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCI5XCIgZmlsbD1cIm5vbmVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgb3BhY2l0eT1cIjAuMTVcIiAvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0tMiA1MiBDMzggNjIsIDQyIDgyLCA2MiAxMDJcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBvcGFjaXR5PVwiMC44XCIgLz5cbiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzMi42LCAxOS40KSBzY2FsZSgwLjEwKVwiPlxuICAgICAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cInBhdGhGdWxsXCIgZmlsbD1cIndoaXRlXCIgb3BhY2l0eT1cIjAuOFwiIC8+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNyLXNoYWRvd1wiPjwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2lhLWxvYWRpbmctdGV4dFwiICpuZ0lmPVwidGV4dCAmJiB2YXJpYW50ICE9PSAnc2tlbGV0b24nXCI+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc2lhLWxvYWRpbmcge1xuICAgICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNzVyZW07IHBhZGRpbmc6IDNyZW0gMDtcbiAgICB9XG4gICAgLnNpYS1sb2FkaW5nLS1za2VsZXRvbiB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gICAgLnNpYS1sb2FkaW5nLXRleHQgeyBjb2xvcjogdmFyKC0tcC10ZXh0LW11dGVkLWNvbG9yLCAjOTRhM2I4KTsgZm9udC1zaXplOiAwLjhyZW07IGxldHRlci1zcGFjaW5nOiAwLjAyZW07IH1cblxuICAgIC8qIOKUgOKUgCBEb3RzIOKUgOKUgCAqL1xuICAgIC5zaWEtZG90cyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNnB4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnNpYS1kb3RzIC5kb3Qge1xuICAgICAgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1zaWEtYyk7XG4gICAgICBhbmltYXRpb246IHNpYS1kb3QtYm91bmNlIDEuMnMgY2FsYyh2YXIoLS1pKSAqIDAuMTVzKSBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzaWEtZG90LWJvdW5jZSB7XG4gICAgICAwJSwgNjAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOyBvcGFjaXR5OiAwLjQ7IH1cbiAgICAgIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCkgc2NhbGUoMS4xNSk7IG9wYWNpdHk6IDE7IH1cbiAgICB9XG5cbiAgICAvKiDilIDilIAgUHVsc2Ug4pSA4pSAICovXG4gICAgLnNpYS1wdWxzZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IHZhcigtLXNpemUsIDQwcHgpOyBoZWlnaHQ6IHZhcigtLXNpemUsIDQwcHgpOyB9XG4gICAgLnNpYS1wdWxzZSAucmluZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zaWEtYyk7IG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIC5zaWEtcHVsc2UgLnJpbmctMSB7IGFuaW1hdGlvbjogc2lhLXJpcHBsZSAxLjhzIDBzIGVhc2Utb3V0IGluZmluaXRlOyB9XG4gICAgLnNpYS1wdWxzZSAucmluZy0yIHsgYW5pbWF0aW9uOiBzaWEtcmlwcGxlIDEuOHMgMC42cyBlYXNlLW91dCBpbmZpbml0ZTsgfVxuICAgIC5zaWEtcHVsc2UgLmNvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbGVmdDogNTAlOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luOiAtNXB4IDAgMCAtNXB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXNpYS1jKTtcbiAgICAgIGFuaW1hdGlvbjogc2lhLWNvcmUtcHVsc2UgMS44cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzaWEtcmlwcGxlIHsgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IG9wYWNpdHk6IDAuODsgfSAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgb3BhY2l0eTogMDsgfSB9XG4gICAgQGtleWZyYW1lcyBzaWEtY29yZS1wdWxzZSB7IDAlLCAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgb3BhY2l0eTogMC42OyB9IDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgb3BhY2l0eTogMTsgfSB9XG5cbiAgICAvKiDilIDilIAgQmFycyDilIDilIAgKi9cbiAgICAuc2lhLWJhcnMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDNweDsgaGVpZ2h0OiB2YXIoLS1oLCA0MHB4KTsgfVxuICAgIC5zaWEtYmFycyAuYmFyIHtcbiAgICAgIHdpZHRoOiA0cHg7IGhlaWdodDogNDAlOyBib3JkZXItcmFkaXVzOiAycHg7IGJhY2tncm91bmQ6IHZhcigtLXNpYS1jKTtcbiAgICAgIGFuaW1hdGlvbjogc2lhLWJhci13YXZlIDFzIGNhbGModmFyKC0taSkgKiAwLjFzKSBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzaWEtYmFyLXdhdmUgeyAwJSwgMTAwJSB7IGhlaWdodDogMjAlOyBvcGFjaXR5OiAwLjQ7IH0gNTAlIHsgaGVpZ2h0OiAxMDAlOyBvcGFjaXR5OiAxOyB9IH1cblxuICAgIC8qIOKUgOKUgCBPcmJpdCDilIDilIAgKi9cbiAgICAuc2lhLW9yYml0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogdmFyKC0tc2l6ZSwgNDBweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNDBweCk7IH1cbiAgICAuc2lhLW9yYml0IC5vcmJpdC10cmFjayB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1wLXN1cmZhY2UtMjAwLCAjZTJlOGYwKTsgfVxuICAgIC5zaWEtb3JiaXQgLm9yYml0LWRvdCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgdG9wOiAtNHB4OyBsZWZ0OiBjYWxjKDUwJSAtIDRweCk7IH1cbiAgICAuc2lhLW9yYml0IC5vcmJpdC1kb3QtMSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWEtYyk7IGFuaW1hdGlvbjogc2lhLW9yYml0LXNwaW4gMS40cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgY2FsYyh2YXIoLS1zaXplLCA0MHB4KSAvIDIgKyA0cHgpO1xuICAgIH1cbiAgICAuc2lhLW9yYml0IC5vcmJpdC1kb3QtMiB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWEtY2wpOyBhbmltYXRpb246IHNpYS1vcmJpdC1zcGluIDEuNHMgMC43cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgY2FsYyh2YXIoLS1zaXplLCA0MHB4KSAvIDIgKyA0cHgpO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1vcmJpdC1zcGluIHsgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuICAgIC8qIOKUgOKUgCBNb3JwaCDilIDilIAgKi9cbiAgICAuc2lhLW1vcnBoIHsgd2lkdGg6IHZhcigtLXNpemUsIDQwcHgpOyBoZWlnaHQ6IHZhcigtLXNpemUsIDQwcHgpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaWEtbW9ycGggLm1vcnBoLXNoYXBlIHtcbiAgICAgIHdpZHRoOiA3MCU7IGhlaWdodDogNzAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1zaWEtYyk7XG4gICAgICBhbmltYXRpb246IHNpYS1tb3JwaCAyLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1tb3JwaCB7XG4gICAgICAwJSAgIHsgYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgNTAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTsgfVxuICAgICAgMjUlICB7IGJvcmRlci1yYWRpdXM6IDMwJSA3MCUgNTAlIDUwJTsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHNjYWxlKDAuODUpOyB9XG4gICAgICA1MCUgIHsgYm9yZGVyLXJhZGl1czogNTAlIDMwJSA3MCUgMzAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHNjYWxlKDEpOyB9XG4gICAgICA3NSUgIHsgYm9yZGVyLXJhZGl1czogNzAlIDUwJSAzMCUgNzAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIHNjYWxlKDAuODUpOyB9XG4gICAgICAxMDAlIHsgYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgNTAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHNjYWxlKDEpOyB9XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIFdhdmUg4pSA4pSAICovXG4gICAgLnNpYS13YXZlIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAzcHg7IH1cbiAgICAuc2lhLXdhdmUgLndhdmUtZG90IHtcbiAgICAgIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXNpYS1jKTtcbiAgICAgIGFuaW1hdGlvbjogc2lhLXdhdmUtZmxvdyAxLjZzIGNhbGModmFyKC0taSkgKiAwLjEycykgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXdhdmUtZmxvdyB7XG4gICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjYpOyBvcGFjaXR5OiAwLjM7IH1cbiAgICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCkgc2NhbGUoMSk7IG9wYWNpdHk6IDE7IH1cbiAgICB9XG5cbiAgICAvKiDilIDilIAgU2tlbGV0b24g4pSA4pSAICovXG4gICAgLnNpYS1za2VsZXRvbiB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMC43NXJlbTsgcGFkZGluZzogMCAxcmVtOyB3aWR0aDogMTAwJTsgfVxuICAgIC5za2VsLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC43NXJlbTsgfVxuICAgIC5za2VsLXJvdy0taGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAgIC5za2VsLWNpcmNsZSB7XG4gICAgICB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcC1zdXJmYWNlLTIwMCwgI2UyZThmMCk7IGFuaW1hdGlvbjogc2lhLXNoaW1tZXIgMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgLnNrZWwtbGluZXMgeyBmbGV4OiAxOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDAuNHJlbTsgfVxuICAgIC5za2VsLWxpbmUge1xuICAgICAgaGVpZ2h0OiAxMHB4OyBib3JkZXItcmFkaXVzOiA0cHg7IGJhY2tncm91bmQ6IHZhcigtLXAtc3VyZmFjZS0yMDAsICNlMmU4ZjApO1xuICAgICAgYW5pbWF0aW9uOiBzaWEtc2hpbW1lciAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgICAuc2tlbC1saW5lLS1mdWxsIHsgd2lkdGg6IDEwMCU7IGFuaW1hdGlvbi1kZWxheTogMC4xczsgfVxuICAgIC5za2VsLWxpbmUtLWxnICAgeyB3aWR0aDogNzUlOyBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH1cbiAgICAuc2tlbC1saW5lLS1tZCAgIHsgd2lkdGg6IDU1JTsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9XG4gICAgLnNrZWwtbGluZS0tc20gICB7IHdpZHRoOiAzNSU7IGFuaW1hdGlvbi1kZWxheTogMC4xNXM7IH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zaGltbWVyIHsgMCUsIDEwMCUgeyBvcGFjaXR5OiAwLjQ7IH0gNTAlIHsgb3BhY2l0eTogMTsgfSB9XG5cbiAgICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgICBTRU5JT1IgVkFSSUFOVFNcbiAgICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cblxuICAgIC8qIOKUgOKUgCBzZW5pb3ItZHJhdzogc3Ryb2tlIGRyYXcgYW5pbWF0aW9uIOKUgOKUgCAqL1xuICAgIC5zaWEtc2VuaW9yLWRyYXcgeyB3aWR0aDogdmFyKC0tc2l6ZSwgNDBweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNDBweCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpYS1zZW5pb3ItZHJhdyAuc3AgeyBzdHJva2UtZGFzaGFycmF5OiAxMjAwOyBzdHJva2UtZGFzaG9mZnNldDogMTIwMDsgfVxuICAgIC5zaWEtc2VuaW9yLWRyYXcgLnNwLXIgeyBhbmltYXRpb246IHNpYS1zZC1yIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG4gICAgLnNpYS1zZW5pb3ItZHJhdyAuc3AtbCB7IGFuaW1hdGlvbjogc2lhLXNkLWwgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zZC1yIHtcbiAgICAgIDAlICAgeyBzdHJva2UtZGFzaG9mZnNldDogMTIwMDsgb3BhY2l0eTogMC4yOyB9XG4gICAgICAzNSUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IG9wYWNpdHk6IDE7IH1cbiAgICAgIDYwJSAgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgb3BhY2l0eTogMTsgfVxuICAgICAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAtMTIwMDsgb3BhY2l0eTogMC4yOyB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXNkLWwge1xuICAgICAgMCUgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiAxMjAwOyBvcGFjaXR5OiAwLjI7IH1cbiAgICAgIDE1JSAgeyBzdHJva2UtZGFzaG9mZnNldDogMTIwMDsgb3BhY2l0eTogMC4yOyB9XG4gICAgICA1MCUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IG9wYWNpdHk6IDE7IH1cbiAgICAgIDY1JSAgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgb3BhY2l0eTogMTsgfVxuICAgICAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAtMTIwMDsgb3BhY2l0eTogMC4yOyB9XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIHNlbmlvci1wdWxzZTogY2lyY2xlIHdpdGggbG9nbywgcHVsc2UgKyBzY2FsZSDilIDilIAgKi9cbiAgICAuc2lhLXNlbmlvci1wdWxzZSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpYS1zZW5pb3ItcHVsc2UgLnNwLWNpcmNsZSB7XG4gICAgICB3aWR0aDogdmFyKC0tc2l6ZSwgNjRweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNjRweCk7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpYS1jKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBhbmltYXRpb246IHNpYS1zcC1wdWxzZSAxLjRzIGVhc2Utb3V0IGluZmluaXRlLCBzaWEtc3Atc2NhbGUgMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzaWEtc3AtcHVsc2Uge1xuICAgICAgMCUgIHsgYm94LXNoYWRvdzogMCAwIDAgMCB2YXIoLS1zaWEtY2wpOyB9XG4gICAgICA3MCUgeyBib3gtc2hhZG93OiAwIDAgMCAyMHB4IHRyYW5zcGFyZW50OyB9XG4gICAgICAxMDAleyBib3gtc2hhZG93OiAwIDAgMCAwIHRyYW5zcGFyZW50OyB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXNwLXNjYWxlIHsgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xMik7IH0gfVxuXG4gICAgLyog4pSA4pSAIHNlbmlvci1nbG93OiBuZW9uIGdsb3cgYnJlYXRoaW5nIOKUgOKUgCAqL1xuICAgIC5zaWEtc2VuaW9yLWdsb3cgeyB3aWR0aDogdmFyKC0tc2l6ZSwgNDBweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNDBweCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpYS1zZW5pb3ItZ2xvdyAuZ2xvdy1zaGFkb3cge1xuICAgICAgb3BhY2l0eTogMC4zOyBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIGFuaW1hdGlvbjogc2lhLXNnLWJyZWF0aGUgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgfVxuICAgIC5zaWEtc2VuaW9yLWdsb3cgLmdsb3ctbWFpbiB7XG4gICAgICBhbmltYXRpb246IHNpYS1zZy1icmVhdGhlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zZy1icmVhdGhlIHtcbiAgICAgIDAlLCAxMDAlIHsgb3BhY2l0eTogMC40OyBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAycHggdmFyKC0tc2lhLWNsKSk7IH1cbiAgICAgIDUwJSAgICAgIHsgb3BhY2l0eTogMTsgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxMHB4IHZhcigtLXNpYS1jbCkpIGRyb3Atc2hhZG93KDAgMCAyMHB4IHZhcigtLXNpYS1jKSk7IH1cbiAgICB9XG5cbiAgICAvKiDilIDilIAgc2VuaW9yLWZsaXA6IDNEIFktYXhpcyBmbGlwIOKUgOKUgCAqL1xuICAgIC5zaWEtc2VuaW9yLWZsaXAge1xuICAgICAgd2lkdGg6IHZhcigtLXNpemUsIDQwcHgpOyBoZWlnaHQ6IHZhcigtLXNpemUsIDQwcHgpO1xuICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwZXJzcGVjdGl2ZTogMzAwcHg7XG4gICAgfVxuICAgIC5zaWEtc2VuaW9yLWZsaXAgc3ZnIHtcbiAgICAgIGFuaW1hdGlvbjogc2lhLXNmLWZsaXAgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zZi1mbGlwIHtcbiAgICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7IH1cbiAgICAgIDUwJSAgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsgfVxuICAgICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgzNjBkZWcpOyB9XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIHNlbmlvci1ib3VuY2U6IGFsdGVybmF0aW5nIGhhbHZlcyBib3VuY2Ug4pSA4pSAICovXG4gICAgLnNpYS1zZW5pb3ItYm91bmNlIHsgd2lkdGg6IHZhcigtLXNpemUsIDQwcHgpOyBoZWlnaHQ6IHZhcigtLXNpemUsIDQwcHgpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaWEtc2VuaW9yLWJvdW5jZSAuYm91bmNlLXIge1xuICAgICAgYW5pbWF0aW9uOiBzaWEtc2ItciAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG4gICAgLnNpYS1zZW5pb3ItYm91bmNlIC5ib3VuY2UtbCB7XG4gICAgICBhbmltYXRpb246IHNpYS1zYi1sIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zYi1yIHtcbiAgICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOyBvcGFjaXR5OiAwLjc7IH1cbiAgICAgIDUwJSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHNjYWxlKDEuMDUpOyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2lhLXNiLWwge1xuICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgc2NhbGUoMS4wNSk7IG9wYWNpdHk6IDE7IH1cbiAgICAgIDUwJSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOyBvcGFjaXR5OiAwLjc7IH1cbiAgICB9XG5cbiAgICAvKiDilIDilIAgc2VuaW9yLXJldmVhbDogdGVubmlzIGJhbGwgYm91bmNlIOKUgOKUgCAqL1xuICAgIC5zaWEtc2VuaW9yLXJldmVhbCB7XG4gICAgICB3aWR0aDogdmFyKC0tc2l6ZSwgNjRweCk7IGhlaWdodDogY2FsYyh2YXIoLS1zaXplLCA2NHB4KSAqIDEuNCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuc2lhLXNlbmlvci1yZXZlYWwgLnNyLWJhbGwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogdmFyKC0tc2l6ZSwgNjRweCk7IGhlaWdodDogdmFyKC0tc2l6ZSwgNjRweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBhbmltYXRpb246IHNpYS1zci1ib3VuY2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgLnNpYS1zZW5pb3ItcmV2ZWFsIC5zci1zaGFkb3cge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDA7IHdpZHRoOiA2MCU7IGhlaWdodDogNnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMTIpO1xuICAgICAgYW5pbWF0aW9uOiBzaWEtc3Itc2hhZG93IDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBzaWEtc3ItYm91bmNlIHtcbiAgICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwJSkgc2NhbGVYKDEuMDYpIHNjYWxlWSgwLjk0KTsgfVxuICAgICAgNTAlICAgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSkgc2NhbGVYKDAuOTYpIHNjYWxlWSgxLjA0KTsgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNpYS1zci1zaGFkb3cge1xuICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgb3BhY2l0eTogMC4xMjsgfVxuICAgICAgNTAlICAgICAgeyB0cmFuc2Zvcm06IHNjYWxlWCgwLjYpOyBvcGFjaXR5OiAwLjA2OyB9XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFyaWFudDogTG9hZGluZ1ZhcmlhbnQgPSAnc2VuaW9yLXJldmVhbCc7XG4gIEBJbnB1dCgpIGNvbG9yOiBMb2FkaW5nQ29sb3IgPSAnc2VuaW9yJztcbiAgQElucHV0KCkgc2l6ZTogbnVtYmVyID0gNDA7XG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwYWRkaW5nOiBzdHJpbmcgPSAnM3JlbSAwJztcblxuICBnZXQgY29sb3JCYXNlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChDT0xPUl9NQVBbdGhpcy5jb2xvcl0gfHwgQ09MT1JfTUFQWydzZW5pb3InXSkuYmFzZTtcbiAgfVxuXG4gIGdldCBjb2xvckxpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChDT0xPUl9NQVBbdGhpcy5jb2xvcl0gfHwgQ09MT1JfTUFQWydzZW5pb3InXSkubGlnaHQ7XG4gIH1cblxuICBwYXRoUmlnaHQgPSBTRU5JT1JfUEFUSF9SSUdIVDtcbiAgcGF0aExlZnQgPSBTRU5JT1JfUEFUSF9MRUZUO1xuICBwYXRoRnVsbCA9IFNFTklPUl9QQVRIX0ZVTEw7XG59XG4iXX0=
|
|
@@ -3,15 +3,10 @@ import { LoadingComponent } from '../../components/loading/loading.component';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
5
5
|
* Directive that replaces PrimeNG p-table's default loading spinner
|
|
6
|
-
* with the sia-loading component as
|
|
6
|
+
* with the sia-loading component injected as a table row in the tbody.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
9
|
* <p-table [loading]="loading" siaTableLoading>
|
|
10
|
-
*
|
|
11
|
-
* Optional inputs:
|
|
12
|
-
* [siaLoadingVariant]="'senior-reveal'"
|
|
13
|
-
* [siaLoadingColor]="'senior'"
|
|
14
|
-
* [siaLoadingSize]="36"
|
|
15
10
|
*/
|
|
16
11
|
export class TableLoadingDirective {
|
|
17
12
|
el;
|
|
@@ -21,7 +16,7 @@ export class TableLoadingDirective {
|
|
|
21
16
|
siaLoadingVariant = 'senior-reveal';
|
|
22
17
|
siaLoadingColor = 'senior';
|
|
23
18
|
siaLoadingSize = 36;
|
|
24
|
-
|
|
19
|
+
loadingRow = null;
|
|
25
20
|
loadingRef = null;
|
|
26
21
|
observer = null;
|
|
27
22
|
styleEl = null;
|
|
@@ -34,16 +29,16 @@ export class TableLoadingDirective {
|
|
|
34
29
|
this.injectHideStyles();
|
|
35
30
|
this.setupObserver();
|
|
36
31
|
if (this.loading) {
|
|
37
|
-
this.
|
|
32
|
+
this.showLoading();
|
|
38
33
|
}
|
|
39
34
|
}
|
|
40
35
|
ngOnChanges(changes) {
|
|
41
36
|
if (changes['loading'] && !changes['loading'].firstChange) {
|
|
42
37
|
if (this.loading) {
|
|
43
|
-
this.
|
|
38
|
+
this.showLoading();
|
|
44
39
|
}
|
|
45
40
|
else {
|
|
46
|
-
this.
|
|
41
|
+
this.removeLoading();
|
|
47
42
|
}
|
|
48
43
|
}
|
|
49
44
|
if (this.loadingRef) {
|
|
@@ -56,21 +51,16 @@ export class TableLoadingDirective {
|
|
|
56
51
|
}
|
|
57
52
|
}
|
|
58
53
|
ngOnDestroy() {
|
|
59
|
-
this.
|
|
54
|
+
this.removeLoading();
|
|
60
55
|
this.observer?.disconnect();
|
|
61
56
|
this.observer = null;
|
|
62
57
|
this.styleEl?.remove();
|
|
63
58
|
this.styleEl = null;
|
|
64
59
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Inject a scoped <style> into the host to hide PrimeNG's default
|
|
67
|
-
* loading overlay and mask via CSS (more reliable than DOM manipulation).
|
|
68
|
-
*/
|
|
69
60
|
injectHideStyles() {
|
|
70
61
|
const host = this.el.nativeElement;
|
|
71
62
|
this.styleEl = this.renderer.createElement('style');
|
|
72
63
|
this.styleEl.textContent = `
|
|
73
|
-
:host .p-datatable-loading-overlay,
|
|
74
64
|
.p-datatable-loading-overlay,
|
|
75
65
|
.p-datatable-mask {
|
|
76
66
|
display: none !important;
|
|
@@ -78,10 +68,6 @@ export class TableLoadingDirective {
|
|
|
78
68
|
`;
|
|
79
69
|
this.renderer.appendChild(host, this.styleEl);
|
|
80
70
|
}
|
|
81
|
-
/**
|
|
82
|
-
* MutationObserver as fallback: PrimeNG may re-create the overlay
|
|
83
|
-
* after our initial hide. This catches those cases.
|
|
84
|
-
*/
|
|
85
71
|
setupObserver() {
|
|
86
72
|
const host = this.el.nativeElement;
|
|
87
73
|
this.observer = new MutationObserver((mutations) => {
|
|
@@ -98,42 +84,58 @@ export class TableLoadingDirective {
|
|
|
98
84
|
});
|
|
99
85
|
this.observer.observe(host, { childList: true, subtree: true });
|
|
100
86
|
}
|
|
101
|
-
|
|
102
|
-
if (this.
|
|
87
|
+
showLoading() {
|
|
88
|
+
if (this.loadingRow)
|
|
103
89
|
return;
|
|
104
90
|
const host = this.el.nativeElement;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
this.
|
|
110
|
-
|
|
111
|
-
this.renderer.
|
|
112
|
-
this.renderer.
|
|
113
|
-
|
|
114
|
-
this.renderer.
|
|
115
|
-
this.renderer.
|
|
116
|
-
this.renderer.setStyle(
|
|
117
|
-
this.renderer.setStyle(
|
|
91
|
+
const tbody = host.querySelector('tbody');
|
|
92
|
+
if (!tbody)
|
|
93
|
+
return;
|
|
94
|
+
// Count columns from thead
|
|
95
|
+
const colCount = this.getColumnCount(host);
|
|
96
|
+
// Create <tr>
|
|
97
|
+
this.loadingRow = this.renderer.createElement('tr');
|
|
98
|
+
this.renderer.addClass(this.loadingRow, 'sia-table-loading-row');
|
|
99
|
+
// Create <td colspan="N">
|
|
100
|
+
const td = this.renderer.createElement('td');
|
|
101
|
+
this.renderer.setAttribute(td, 'colspan', String(colCount || 99));
|
|
102
|
+
this.renderer.setStyle(td, 'text-align', 'center');
|
|
103
|
+
this.renderer.setStyle(td, 'padding', '2rem 0');
|
|
104
|
+
this.renderer.setStyle(td, 'border', 'none');
|
|
105
|
+
// Create LoadingComponent
|
|
118
106
|
this.loadingRef = this.vcr.createComponent(LoadingComponent);
|
|
119
107
|
this.loadingRef.instance.variant = this.siaLoadingVariant;
|
|
120
108
|
this.loadingRef.instance.color = this.siaLoadingColor;
|
|
121
109
|
this.loadingRef.instance.size = this.siaLoadingSize;
|
|
122
110
|
this.loadingRef.instance.padding = '0';
|
|
123
111
|
const loadingEl = this.loadingRef.location.nativeElement;
|
|
124
|
-
this.renderer.appendChild(
|
|
125
|
-
this.renderer.appendChild(
|
|
112
|
+
this.renderer.appendChild(td, loadingEl);
|
|
113
|
+
this.renderer.appendChild(this.loadingRow, td);
|
|
114
|
+
// Insert as first child of tbody (before any existing rows)
|
|
115
|
+
if (tbody.firstChild) {
|
|
116
|
+
this.renderer.insertBefore(tbody, this.loadingRow, tbody.firstChild);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
this.renderer.appendChild(tbody, this.loadingRow);
|
|
120
|
+
}
|
|
126
121
|
}
|
|
127
|
-
|
|
128
|
-
if (this.
|
|
129
|
-
this.renderer.removeChild(this.
|
|
122
|
+
removeLoading() {
|
|
123
|
+
if (this.loadingRow?.parentNode) {
|
|
124
|
+
this.renderer.removeChild(this.loadingRow.parentNode, this.loadingRow);
|
|
130
125
|
}
|
|
131
|
-
this.
|
|
126
|
+
this.loadingRow = null;
|
|
132
127
|
if (this.loadingRef) {
|
|
133
128
|
this.loadingRef.destroy();
|
|
134
129
|
this.loadingRef = null;
|
|
135
130
|
}
|
|
136
131
|
}
|
|
132
|
+
getColumnCount(host) {
|
|
133
|
+
const headerRow = host.querySelector('thead tr');
|
|
134
|
+
if (headerRow) {
|
|
135
|
+
return headerRow.querySelectorAll('th').length;
|
|
136
|
+
}
|
|
137
|
+
return 99;
|
|
138
|
+
}
|
|
137
139
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableLoadingDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
138
140
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableLoadingDirective, isStandalone: true, selector: "p-table[siaTableLoading]", inputs: { loading: "loading", siaLoadingVariant: "siaLoadingVariant", siaLoadingColor: "siaLoadingColor", siaLoadingSize: "siaLoadingSize" }, usesOnChanges: true, ngImport: i0 });
|
|
139
141
|
}
|
|
@@ -152,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
152
154
|
}], siaLoadingSize: [{
|
|
153
155
|
type: Input
|
|
154
156
|
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvZGlyZWN0aXZlcy90YWJsZS1sb2FkaW5nL3RhYmxlLWxvYWRpbmcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQVNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0MsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFNUc7Ozs7Ozs7Ozs7O0dBV0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBWXRCO0lBQ0E7SUFDQTtJQWJELE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsaUJBQWlCLEdBQW1CLGVBQWUsQ0FBQztJQUNwRCxlQUFlLEdBQWlCLFFBQVEsQ0FBQztJQUN6QyxjQUFjLEdBQVcsRUFBRSxDQUFDO0lBRTdCLFNBQVMsR0FBdUIsSUFBSSxDQUFDO0lBQ3JDLFVBQVUsR0FBMEMsSUFBSSxDQUFDO0lBQ3pELFFBQVEsR0FBNEIsSUFBSSxDQUFDO0lBQ3pDLE9BQU8sR0FBNEIsSUFBSSxDQUFDO0lBRWhELFlBQ1UsRUFBYyxFQUNkLFFBQW1CLEVBQ25CLEdBQXFCO1FBRnJCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQWtCO0lBQzVCLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FB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RyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBFbGVtZW50UmVmLFxuICBSZW5kZXJlcjIsXG4gIENvbXBvbmVudFJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgT25EZXN0cm95LFxuICBBZnRlclZpZXdJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQsIExvYWRpbmdWYXJpYW50LCBMb2FkaW5nQ29sb3IgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IHJlcGxhY2VzIFByaW1lTkcgcC10YWJsZSdzIGRlZmF1bHQgbG9hZGluZyBzcGlubmVyXG4gKiB3aXRoIHRoZSBzaWEtbG9hZGluZyBjb21wb25lbnQgYXMgYW4gb3ZlcmxheS5cbiAqXG4gKiBVc2FnZTpcbiAqICAgPHAtdGFibGUgW2xvYWRpbmddPVwibG9hZGluZ1wiIHNpYVRhYmxlTG9hZGluZz5cbiAqXG4gKiBPcHRpb25hbCBpbnB1dHM6XG4gKiAgIFtzaWFMb2FkaW5nVmFyaWFudF09XCInc2VuaW9yLXJldmVhbCdcIlxuICogICBbc2lhTG9hZGluZ0NvbG9yXT1cIidzZW5pb3InXCJcbiAqICAgW3NpYUxvYWRpbmdTaXplXT1cIjM2XCJcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAncC10YWJsZVtzaWFUYWJsZUxvYWRpbmddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVMb2FkaW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNpYUxvYWRpbmdWYXJpYW50OiBMb2FkaW5nVmFyaWFudCA9ICdzZW5pb3ItcmV2ZWFsJztcbiAgQElucHV0KCkgc2lhTG9hZGluZ0NvbG9yOiBMb2FkaW5nQ29sb3IgPSAnc2VuaW9yJztcbiAgQElucHV0KCkgc2lhTG9hZGluZ1NpemU6IG51bWJlciA9IDM2O1xuXG4gIHByaXZhdGUgb3ZlcmxheUVsOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGxvYWRpbmdSZWY6IENvbXBvbmVudFJlZjxMb2FkaW5nQ29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgc3R5bGVFbDogSFRNTFN0eWxlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgdmNyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbmplY3RIaWRlU3R5bGVzKCk7XG4gICAgdGhpcy5zZXR1cE9ic2VydmVyKCk7XG4gICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgdGhpcy5zaG93T3ZlcmxheSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snbG9hZGluZyddICYmICFjaGFuZ2VzWydsb2FkaW5nJ10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5zaG93T3ZlcmxheSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVybGF5KCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmxvYWRpbmdSZWYpIHtcbiAgICAgIGlmIChjaGFuZ2VzWydzaWFMb2FkaW5nVmFyaWFudCddKSB0aGlzLmxvYWRpbmdSZWYuaW5zdGFuY2UudmFyaWFudCA9IHRoaXMuc2lhTG9hZGluZ1ZhcmlhbnQ7XG4gICAgICBpZiAoY2hhbmdlc1snc2lhTG9hZGluZ0NvbG9yJ10pIHRoaXMubG9hZGluZ1JlZi5pbnN0YW5jZS5jb2xvciA9IHRoaXMuc2lhTG9hZGluZ0NvbG9yO1xuICAgICAgaWYgKGNoYW5nZXNbJ3NpYUxvYWRpbmdTaXplJ10pIHRoaXMubG9hZGluZ1JlZi5pbnN0YW5jZS5zaXplID0gdGhpcy5zaWFMb2FkaW5nU2l6ZTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZU92ZXJsYXkoKTtcbiAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5vYnNlcnZlciA9IG51bGw7XG4gICAgdGhpcy5zdHlsZUVsPy5yZW1vdmUoKTtcbiAgICB0aGlzLnN0eWxlRWwgPSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEluamVjdCBhIHNjb3BlZCA8c3R5bGU+IGludG8gdGhlIGhvc3QgdG8gaGlkZSBQcmltZU5HJ3MgZGVmYXVsdFxuICAgKiBsb2FkaW5nIG92ZXJsYXkgYW5kIG1hc2sgdmlhIENTUyAobW9yZSByZWxpYWJsZSB0aGFuIERPTSBtYW5pcHVsYXRpb24pLlxuICAgKi9cbiAgcHJpdmF0ZSBpbmplY3RIaWRlU3R5bGVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5zdHlsZUVsID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgIHRoaXMuc3R5bGVFbCEudGV4dENvbnRlbnQgPSBgXG4gICAgICA6aG9zdCAucC1kYXRhdGFibGUtbG9hZGluZy1vdmVybGF5LFxuICAgICAgLnAtZGF0YXRhYmxlLWxvYWRpbmctb3ZlcmxheSxcbiAgICAgIC5wLWRhdGF0YWJsZS1tYXNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGA7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChob3N0LCB0aGlzLnN0eWxlRWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIE11dGF0aW9uT2JzZXJ2ZXIgYXMgZmFsbGJhY2s6IFByaW1lTkcgbWF5IHJlLWNyZWF0ZSB0aGUgb3ZlcmxheVxuICAgKiBhZnRlciBvdXIgaW5pdGlhbCBoaWRlLiBUaGlzIGNhdGNoZXMgdGhvc2UgY2FzZXMuXG4gICAqL1xuICBwcml2YXRlIHNldHVwT2JzZXJ2ZXIoKTogdm9pZCB7XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLm9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgZm9yIChjb25zdCBtIG9mIG11dGF0aW9ucykge1xuICAgICAgICBtLmFkZGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgIGlmIChub2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgbm9kZS5jbGFzc0xpc3QuY29udGFpbnMoJ3AtZGF0YXRhYmxlLWxvYWRpbmctb3ZlcmxheScpIHx8XG4gICAgICAgICAgICAgIG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdwLWRhdGF0YWJsZS1tYXNrJylcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBub2RlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUoaG9zdCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dPdmVybGF5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlFbCkgcmV0dXJuO1xuXG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgIC8vIFVzZSB0aGUgcC1kYXRhdGFibGUgd3JhcHBlciAoZmlyc3QgY2hpbGQgZGl2KSBvciBob3N0IGl0c2VsZlxuICAgIGNvbnN0IHdyYXBwZXIgPVxuICAgICAgaG9zdC5xdWVyeVNlbGVjdG9yKCcucC1kYXRhdGFibGUtd3JhcHBlcicpIHx8XG4gICAgICBob3N0LnF1ZXJ5U2VsZWN0b3IoJy5wLWRhdGF0YWJsZS10YWJsZS1jb250YWluZXInKSB8fFxuICAgICAgaG9zdDtcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XG5cbiAgICB0aGlzLm92ZXJsYXlFbCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbCwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbCwgJ2luc2V0JywgJzAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsLCAnZGlzcGxheScsICdmbGV4Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbCwgJ2FsaWduLWl0ZW1zJywgJ2NlbnRlcicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5RWwsICdqdXN0aWZ5LWNvbnRlbnQnLCAnY2VudGVyJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbCwgJ3otaW5kZXgnLCAnMTAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsLCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xuXG4gICAgdGhpcy5sb2FkaW5nUmVmID0gdGhpcy52Y3IuY3JlYXRlQ29tcG9uZW50KExvYWRpbmdDb21wb25lbnQpO1xuICAgIHRoaXMubG9hZGluZ1JlZi5pbnN0YW5jZS52YXJpYW50ID0gdGhpcy5zaWFMb2FkaW5nVmFyaWFudDtcbiAgICB0aGlzLmxvYWRpbmdSZWYuaW5zdGFuY2UuY29sb3IgPSB0aGlzLnNpYUxvYWRpbmdDb2xvcjtcbiAgICB0aGlzLmxvYWRpbmdSZWYuaW5zdGFuY2Uuc2l6ZSA9IHRoaXMuc2lhTG9hZGluZ1NpemU7XG4gICAgdGhpcy5sb2FkaW5nUmVmLmluc3RhbmNlLnBhZGRpbmcgPSAnMCc7XG5cbiAgICBjb25zdCBsb2FkaW5nRWwgPSB0aGlzLmxvYWRpbmdSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheUVsLCBsb2FkaW5nRWwpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQod3JhcHBlciwgdGhpcy5vdmVybGF5RWwpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVPdmVybGF5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlFbD8ucGFyZW50Tm9kZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLm92ZXJsYXlFbC5wYXJlbnROb2RlLCB0aGlzLm92ZXJsYXlFbCk7XG4gICAgfVxuICAgIHRoaXMub3ZlcmxheUVsID0gbnVsbDtcbiAgICBpZiAodGhpcy5sb2FkaW5nUmVmKSB7XG4gICAgICB0aGlzLmxvYWRpbmdSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5sb2FkaW5nUmVmID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvZGlyZWN0aXZlcy90YWJsZS1sb2FkaW5nL3RhYmxlLWxvYWRpbmcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQVNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0MsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFNUc7Ozs7OztHQU1HO0FBS0gsTUFBTSxPQUFPLHFCQUFxQjtJQVl0QjtJQUNBO0lBQ0E7SUFiRCxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLGlCQUFpQixHQUFtQixlQUFlLENBQUM7SUFDcEQsZUFBZSxHQUFpQixRQUFRLENBQUM7SUFDekMsY0FBYyxHQUFXLEVBQUUsQ0FBQztJQUU3QixVQUFVLEdBQStCLElBQUksQ0FBQztJQUM5QyxVQUFVLEdBQTBDLElBQUksQ0FBQztJQUN6RCxRQUFRLEdBQTRCLElBQUksQ0FBQztJQUN6QyxPQUFPLEdBQTRCLElBQUksQ0FBQztJQUVoRCxZQUNVLEVBQWMsRUFDZCxRQUFtQixFQUNuQixHQUFxQjtRQUZyQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtJQUM1QixDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FB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QUMsVUFBVSxDQUFDLENBQUM7UUFDakQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO3dHQXhJVSxxQkFBcUI7NEZBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7c0lBRVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgQ29tcG9uZW50UmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBPbkRlc3Ryb3ksXG4gIEFmdGVyVmlld0luaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCwgTG9hZGluZ1ZhcmlhbnQsIExvYWRpbmdDb2xvciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgcmVwbGFjZXMgUHJpbWVORyBwLXRhYmxlJ3MgZGVmYXVsdCBsb2FkaW5nIHNwaW5uZXJcbiAqIHdpdGggdGhlIHNpYS1sb2FkaW5nIGNvbXBvbmVudCBpbmplY3RlZCBhcyBhIHRhYmxlIHJvdyBpbiB0aGUgdGJvZHkuXG4gKlxuICogVXNhZ2U6XG4gKiAgIDxwLXRhYmxlIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBzaWFUYWJsZUxvYWRpbmc+XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3AtdGFibGVbc2lhVGFibGVMb2FkaW5nXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTG9hZGluZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBzaWFMb2FkaW5nVmFyaWFudDogTG9hZGluZ1ZhcmlhbnQgPSAnc2VuaW9yLXJldmVhbCc7XG4gIEBJbnB1dCgpIHNpYUxvYWRpbmdDb2xvcjogTG9hZGluZ0NvbG9yID0gJ3Nlbmlvcic7XG4gIEBJbnB1dCgpIHNpYUxvYWRpbmdTaXplOiBudW1iZXIgPSAzNjtcblxuICBwcml2YXRlIGxvYWRpbmdSb3c6IEhUTUxUYWJsZVJvd0VsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBsb2FkaW5nUmVmOiBDb21wb25lbnRSZWY8TG9hZGluZ0NvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHN0eWxlRWw6IEhUTUxTdHlsZUVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHZjcjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5qZWN0SGlkZVN0eWxlcygpO1xuICAgIHRoaXMuc2V0dXBPYnNlcnZlcigpO1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHRoaXMuc2hvd0xvYWRpbmcoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2xvYWRpbmcnXSAmJiAhY2hhbmdlc1snbG9hZGluZyddLmZpcnN0Q2hhbmdlKSB7XG4gICAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuc2hvd0xvYWRpbmcoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlTG9hZGluZygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5sb2FkaW5nUmVmKSB7XG4gICAgICBpZiAoY2hhbmdlc1snc2lhTG9hZGluZ1ZhcmlhbnQnXSkgdGhpcy5sb2FkaW5nUmVmLmluc3RhbmNlLnZhcmlhbnQgPSB0aGlzLnNpYUxvYWRpbmdWYXJpYW50O1xuICAgICAgaWYgKGNoYW5nZXNbJ3NpYUxvYWRpbmdDb2xvciddKSB0aGlzLmxvYWRpbmdSZWYuaW5zdGFuY2UuY29sb3IgPSB0aGlzLnNpYUxvYWRpbmdDb2xvcjtcbiAgICAgIGlmIChjaGFuZ2VzWydzaWFMb2FkaW5nU2l6ZSddKSB0aGlzLmxvYWRpbmdSZWYuaW5zdGFuY2Uuc2l6ZSA9IHRoaXMuc2lhTG9hZGluZ1NpemU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVMb2FkaW5nKCk7XG4gICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgIHRoaXMuc3R5bGVFbD8ucmVtb3ZlKCk7XG4gICAgdGhpcy5zdHlsZUVsID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0SGlkZVN0eWxlcygpOiB2b2lkIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMuc3R5bGVFbCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICB0aGlzLnN0eWxlRWwhLnRleHRDb250ZW50ID0gYFxuICAgICAgLnAtZGF0YXRhYmxlLWxvYWRpbmctb3ZlcmxheSxcbiAgICAgIC5wLWRhdGF0YWJsZS1tYXNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGA7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChob3N0LCB0aGlzLnN0eWxlRWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cE9ic2VydmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgIGZvciAoY29uc3QgbSBvZiBtdXRhdGlvbnMpIHtcbiAgICAgICAgbS5hZGRlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdwLWRhdGF0YWJsZS1sb2FkaW5nLW92ZXJsYXknKSB8fFxuICAgICAgICAgICAgICBub2RlLmNsYXNzTGlzdC5jb250YWlucygncC1kYXRhdGFibGUtbWFzaycpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgbm9kZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKGhvc3QsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93TG9hZGluZygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nUm93KSByZXR1cm47XG5cbiAgICBjb25zdCBob3N0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHRib2R5ID0gaG9zdC5xdWVyeVNlbGVjdG9yKCd0Ym9keScpO1xuICAgIGlmICghdGJvZHkpIHJldHVybjtcblxuICAgIC8vIENvdW50IGNvbHVtbnMgZnJvbSB0aGVhZFxuICAgIGNvbnN0IGNvbENvdW50ID0gdGhpcy5nZXRDb2x1bW5Db3VudChob3N0KTtcblxuICAgIC8vIENyZWF0ZSA8dHI+XG4gICAgdGhpcy5sb2FkaW5nUm93ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCd0cicpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5sb2FkaW5nUm93LCAnc2lhLXRhYmxlLWxvYWRpbmctcm93Jyk7XG5cbiAgICAvLyBDcmVhdGUgPHRkIGNvbHNwYW49XCJOXCI+XG4gICAgY29uc3QgdGQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGQsICdjb2xzcGFuJywgU3RyaW5nKGNvbENvdW50IHx8IDk5KSk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZCwgJ3RleHQtYWxpZ24nLCAnY2VudGVyJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZCwgJ3BhZGRpbmcnLCAnMnJlbSAwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZCwgJ2JvcmRlcicsICdub25lJyk7XG5cbiAgICAvLyBDcmVhdGUgTG9hZGluZ0NvbXBvbmVudFxuICAgIHRoaXMubG9hZGluZ1JlZiA9IHRoaXMudmNyLmNyZWF0ZUNvbXBvbmVudChMb2FkaW5nQ29tcG9uZW50KTtcbiAgICB0aGlzLmxvYWRpbmdSZWYuaW5zdGFuY2UudmFyaWFudCA9IHRoaXMuc2lhTG9hZGluZ1ZhcmlhbnQ7XG4gICAgdGhpcy5sb2FkaW5nUmVmLmluc3RhbmNlLmNvbG9yID0gdGhpcy5zaWFMb2FkaW5nQ29sb3I7XG4gICAgdGhpcy5sb2FkaW5nUmVmLmluc3RhbmNlLnNpemUgPSB0aGlzLnNpYUxvYWRpbmdTaXplO1xuICAgIHRoaXMubG9hZGluZ1JlZi5pbnN0YW5jZS5wYWRkaW5nID0gJzAnO1xuXG4gICAgY29uc3QgbG9hZGluZ0VsID0gdGhpcy5sb2FkaW5nUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0ZCwgbG9hZGluZ0VsKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMubG9hZGluZ1JvdywgdGQpO1xuXG4gICAgLy8gSW5zZXJ0IGFzIGZpcnN0IGNoaWxkIG9mIHRib2R5IChiZWZvcmUgYW55IGV4aXN0aW5nIHJvd3MpXG4gICAgaWYgKHRib2R5LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRib2R5LCB0aGlzLmxvYWRpbmdSb3csIHRib2R5LmZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRib2R5LCB0aGlzLmxvYWRpbmdSb3cpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTG9hZGluZygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nUm93Py5wYXJlbnROb2RlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMubG9hZGluZ1Jvdy5wYXJlbnROb2RlLCB0aGlzLmxvYWRpbmdSb3cpO1xuICAgIH1cbiAgICB0aGlzLmxvYWRpbmdSb3cgPSBudWxsO1xuICAgIGlmICh0aGlzLmxvYWRpbmdSZWYpIHtcbiAgICAgIHRoaXMubG9hZGluZ1JlZi5kZXN0cm95KCk7XG4gICAgICB0aGlzLmxvYWRpbmdSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1uQ291bnQoaG9zdDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgIGNvbnN0IGhlYWRlclJvdyA9IGhvc3QucXVlcnlTZWxlY3RvcigndGhlYWQgdHInKTtcbiAgICBpZiAoaGVhZGVyUm93KSB7XG4gICAgICByZXR1cm4gaGVhZGVyUm93LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoJykubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gOTk7XG4gIH1cbn1cbiJdfQ==
|