@colijnit/product 260.1.2 → 260.1.3
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/app/components/image-carousel/image-carousel.component.d.ts +6 -2
- package/app/components/product-related/product-related.component.d.ts +1 -0
- package/bundles/colijnit-product.umd.js +70 -48
- package/bundles/colijnit-product.umd.js.map +1 -1
- package/colijnit-product.metadata.json +1 -1
- package/esm2015/app/components/image-carousel/image-carousel.component.js +100 -86
- package/esm2015/app/components/image-carousel/image-carousel.module.js +6 -2
- package/esm2015/app/components/product-related/product-related.component.js +7 -2
- package/esm2015/app/product-version.js +3 -3
- package/fesm2015/colijnit-product.js +111 -91
- package/fesm2015/colijnit-product.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,15 +2,19 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Host
|
|
|
2
2
|
import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
|
|
3
3
|
import { ProductConnectorService } from '../../service/product-connector.service';
|
|
4
4
|
import { ProductEventService } from '../../service/product-event.service';
|
|
5
|
+
import { IconEnum } from '../../enum/icon.enum';
|
|
5
6
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
|
+
import { IconCacheService } from '../../service/icon-cache.service';
|
|
6
8
|
export class ImageViewModel {
|
|
7
9
|
}
|
|
8
10
|
export class ImageCarouselComponent {
|
|
9
|
-
constructor(_ione, _appEventService, _changeDetector, _domSanitizer) {
|
|
11
|
+
constructor(iconCacheService, _ione, _appEventService, _changeDetector, _domSanitizer) {
|
|
12
|
+
this.iconCacheService = iconCacheService;
|
|
10
13
|
this._ione = _ione;
|
|
11
14
|
this._appEventService = _appEventService;
|
|
12
15
|
this._changeDetector = _changeDetector;
|
|
13
16
|
this._domSanitizer = _domSanitizer;
|
|
17
|
+
this.icons = IconEnum;
|
|
14
18
|
this.isPopupOpen = false;
|
|
15
19
|
this.showRefresh = false;
|
|
16
20
|
this.resizing = false;
|
|
@@ -148,51 +152,63 @@ export class ImageCarouselComponent {
|
|
|
148
152
|
const ctx = resizeCanvas.getContext('2d');
|
|
149
153
|
const img = document.createElement('img');
|
|
150
154
|
img.crossOrigin = 'anonymous';
|
|
155
|
+
const handleFallback = () => {
|
|
156
|
+
// When a CDN does not accept our tainted canvas, we fallback to the original source.
|
|
157
|
+
imageViewModel.source = this._domSanitizer.bypassSecurityTrustUrl(source);
|
|
158
|
+
imageViewModel.originalSource = source;
|
|
159
|
+
this._changeDetector.detectChanges();
|
|
160
|
+
};
|
|
161
|
+
img.onerror = () => {
|
|
162
|
+
handleFallback();
|
|
163
|
+
};
|
|
151
164
|
img.onload = () => {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
165
|
+
try {
|
|
166
|
+
ctx.imageSmoothingEnabled = true;
|
|
167
|
+
ctx.imageSmoothingQuality = 'high';
|
|
168
|
+
const aspect = img.width / img.height;
|
|
169
|
+
let newW = this._resizeCanvasHeight;
|
|
170
|
+
let newH = this._resizeCanvasHeight;
|
|
171
|
+
if (img.width > img.height) {
|
|
172
|
+
newH = this._resizeCanvasHeight / aspect;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
newW = this._resizeCanvasHeight * aspect;
|
|
176
|
+
}
|
|
177
|
+
resizeCanvas.width = Math.round(newW);
|
|
178
|
+
resizeCanvas.height = Math.round(newH);
|
|
179
|
+
ctx.clearRect(0, 0, resizeCanvas.width, resizeCanvas.height);
|
|
180
|
+
ctx.drawImage(img, 0, 0, resizeCanvas.width, resizeCanvas.height);
|
|
181
|
+
const mime = this._handleMimeTypes(source);
|
|
182
|
+
const resizedSource = resizeCanvas.toDataURL(mime);
|
|
183
|
+
imageViewModel.source = this._domSanitizer.bypassSecurityTrustUrl(resizedSource);
|
|
184
|
+
imageViewModel.originalSource = source;
|
|
185
|
+
this._changeDetector.detectChanges();
|
|
161
186
|
}
|
|
162
|
-
|
|
163
|
-
|
|
187
|
+
catch (error) {
|
|
188
|
+
handleFallback();
|
|
164
189
|
}
|
|
165
|
-
resizeCanvas.width = Math.round(newW);
|
|
166
|
-
resizeCanvas.height = Math.round(newH);
|
|
167
|
-
// Ensure transparent background before drawing
|
|
168
|
-
ctx.clearRect(0, 0, resizeCanvas.width, resizeCanvas.height);
|
|
169
|
-
ctx.drawImage(img, 0, 0, resizeCanvas.width, resizeCanvas.height);
|
|
170
|
-
const mime = this._detectPreferredMime(source);
|
|
171
|
-
const resizedSource = mime === 'image/jpeg'
|
|
172
|
-
? resizeCanvas.toDataURL('image/jpeg', 0.92) // only if original was JPEG
|
|
173
|
-
: resizeCanvas.toDataURL(mime); // PNG/WebP keep alpha
|
|
174
|
-
imageViewModel.source = this._domSanitizer.bypassSecurityTrustUrl(resizedSource);
|
|
175
|
-
imageViewModel.originalSource = source;
|
|
176
|
-
this._changeDetector.detectChanges();
|
|
177
190
|
};
|
|
178
191
|
img.src = source;
|
|
179
192
|
}
|
|
180
|
-
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
193
|
+
_handleMimeTypes(imageSource) {
|
|
194
|
+
// When we got base64 data
|
|
195
|
+
if (imageSource.startsWith('data:')) {
|
|
196
|
+
const match = imageSource.match(/^data:(image\/(png|webp|jpeg|jpg))/i);
|
|
197
|
+
return match ? match[1].toLowerCase() : 'image/png';
|
|
198
|
+
}
|
|
199
|
+
// when we got an URL.
|
|
200
|
+
const extension = imageSource.substring(imageSource.lastIndexOf('.') + 1).toLowerCase();
|
|
201
|
+
switch (extension) {
|
|
202
|
+
case 'png':
|
|
203
|
+
return 'image/png';
|
|
204
|
+
case 'webp':
|
|
205
|
+
return 'image/webp';
|
|
206
|
+
case 'jpg':
|
|
207
|
+
case 'jpeg':
|
|
208
|
+
return 'image/jpeg';
|
|
209
|
+
default:
|
|
210
|
+
return 'image/png';
|
|
187
211
|
}
|
|
188
|
-
const lower = source.toLowerCase();
|
|
189
|
-
if (lower.endsWith('.png'))
|
|
190
|
-
return 'image/png';
|
|
191
|
-
if (lower.endsWith('.webp'))
|
|
192
|
-
return 'image/webp';
|
|
193
|
-
if (lower.endsWith('.jpg') || lower.endsWith('.jpeg'))
|
|
194
|
-
return 'image/jpeg';
|
|
195
|
-
return 'image/png';
|
|
196
212
|
}
|
|
197
213
|
_scrollCarouselToIndex() {
|
|
198
214
|
if (this.currentIndex > -1 && this.currentIndex <= this.images.length) {
|
|
@@ -211,65 +227,63 @@ ImageCarouselComponent.decorators = [
|
|
|
211
227
|
{ type: Component, args: [{
|
|
212
228
|
selector: 'app-image-carousel',
|
|
213
229
|
template: `
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
<div class="carousel-scroller-layer" *ngIf="imageViewModels && imageViewModels.length > 1">
|
|
227
|
-
<div class="carousel-item-scroller prev" (click)="gotoPrevSlide()" *ngIf="currentIndex > 0"></div>
|
|
228
|
-
<div class="carousel-item-scroller next" (click)="gotoNextSlide()" *ngIf="currentIndex < images.length - 1"></div>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
<!--
|
|
232
|
-
<co-icon class="selector-type-icon refresh-button" [iconData]="iconCache.getIcon(icons.Refresh)" (click)="onForceRenderImage()" [class.loading]="showLoader" *ngIf="showRefresh"></co-icon>
|
|
233
|
-
-->
|
|
230
|
+
<div id="product_page_carousel">
|
|
231
|
+
<div id="product_page_carousel_items">
|
|
232
|
+
<co-loader [isShown]="true" *ngIf="showLoader"></co-loader>
|
|
233
|
+
<div #carousel class="inner-carousel">
|
|
234
|
+
<!-- This has been taken out of the for loop to prevent flashing images when updating. -->
|
|
235
|
+
<div *ngIf="imageViewModels[0]" class="carousel-item" [id]="'slide-0'" [class.active]="isCurrentIndex(0)"
|
|
236
|
+
(click)="handleShowImage(imageViewModels[0])">
|
|
237
|
+
<img [src]="imageViewModels[0].source">
|
|
238
|
+
</div>
|
|
239
|
+
<div *ngFor="let imageViewModel of imageViewModels.slice(1); let index = index" class="carousel-item"
|
|
240
|
+
[id]="'slide-' + (index + 1)" [class.active]="isCurrentIndex((index + 1))" (click)="handleShowImage(imageViewModel)">
|
|
241
|
+
<img [src]="imageViewModel.source">
|
|
234
242
|
</div>
|
|
243
|
+
<div class="carousel-scroller-layer" *ngIf="imageViewModels && imageViewModels.length > 1">
|
|
244
|
+
<div class="carousel-item-scroller prev" (click)="gotoPrevSlide()" *ngIf="currentIndex > 0"></div>
|
|
245
|
+
<div class="carousel-item-scroller next" (click)="gotoNextSlide()" *ngIf="currentIndex < images.length - 1"></div>
|
|
246
|
+
</div>
|
|
247
|
+
</div>
|
|
248
|
+
<!--
|
|
249
|
+
<co-icon class="selector-type-icon refresh-button" [iconData]="iconCache.getIcon(icons.Refresh)" (click)="onForceRenderImage()" [class.loading]="showLoader" *ngIf="showRefresh"></co-icon>
|
|
250
|
+
-->
|
|
251
|
+
</div>
|
|
235
252
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
</div>
|
|
242
|
-
</co-scroll-container>
|
|
253
|
+
<div id="product_page_carousel_thumbs">
|
|
254
|
+
<co-scroll-container class="scroll-container" *ngIf="imageViewModels && imageViewModels.length > 1">
|
|
255
|
+
<div *ngFor="let imageViewModel of imageViewModels; let index = index" class="carousel-thumb"
|
|
256
|
+
[class.active]="index === currentIndex">
|
|
257
|
+
<img [src]="imageViewModel.source" (click)="handleThumbClick(index)"/>
|
|
243
258
|
</div>
|
|
259
|
+
</co-scroll-container>
|
|
244
260
|
</div>
|
|
245
|
-
|
|
246
|
-
<div
|
|
247
|
-
class="image-modal"
|
|
248
|
-
*ngIf="isPopupOpen"
|
|
249
|
-
(click)="closePopup()"
|
|
250
|
-
role="dialog"
|
|
251
|
-
aria-modal="true"
|
|
252
|
-
aria-label="Image preview"
|
|
253
|
-
>
|
|
254
|
-
<div class="image-modal__content" (click)="$event.stopPropagation()">
|
|
255
|
-
<button
|
|
256
|
-
class="image-modal__close"
|
|
257
|
-
type="button"
|
|
258
|
-
aria-label="Close"
|
|
259
|
-
(click)="closePopup()"
|
|
260
|
-
>
|
|
261
|
-
×
|
|
262
|
-
</button>
|
|
261
|
+
</div>
|
|
263
262
|
|
|
264
|
-
|
|
263
|
+
<div cdkOverlayOrigin #trigger="cdkOverlayOrigin"></div>
|
|
264
|
+
<ng-template
|
|
265
|
+
cdkConnectedOverlay
|
|
266
|
+
[cdkConnectedOverlayOrigin]="trigger"
|
|
267
|
+
[cdkConnectedOverlayOpen]="isPopupOpen"
|
|
268
|
+
[cdkConnectedOverlayHasBackdrop]="true"
|
|
269
|
+
(backdropClick)="closePopup()">
|
|
270
|
+
<div class="image-modal" role="dialog" aria-modal="true" aria-label="Image preview">
|
|
271
|
+
<div class="image-modal__content">
|
|
272
|
+
<button class="image-modal__close" type="button" aria-label="Close" (click)="closePopup()">
|
|
273
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.CrossSkinny)"></co-icon>
|
|
274
|
+
</button>
|
|
275
|
+
<img [src]="selectedImage?.originalSource" alt="Image preview"/>
|
|
265
276
|
</div>
|
|
266
277
|
</div>
|
|
278
|
+
</ng-template>
|
|
279
|
+
|
|
267
280
|
`,
|
|
268
281
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
269
282
|
styles: [":host{max-height:540px;height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#74B77F;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_items{position:relative;margin-bottom:10px}#product_page_carousel #product_page_carousel_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:500px;border:1px solid #efefef}#product_page_carousel .carousel-item{max-height:500px;width:100%;display:flex;cursor:zoom-in;flex-shrink:0;flex-grow:0}#product_page_carousel .carousel-item img{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;pointer-events:none;top:0;left:0}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb{opacity:1;cursor:pointer;transition:all .2s ease;padding:4px;border:1px solid #f6f5f4}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb.active,#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:hover{border-color:#22313c}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:not(:last-child){margin-right:10px}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb img{height:68px}.image-modal{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal__content{position:relative;max-width:90vw;max-height:90vh}.image-modal__content img{max-width:90vw;max-height:90vh;-o-object-fit:contain;object-fit:contain;display:block}.image-modal__close{position:fixed;top:15px;right:30px;background:transparent;border:none;color:#fff;font-size:60px;line-height:1;cursor:pointer}@media screen and (max-width: 650px){#product_page_carousel_thumbs{height:57px!important}#product_page_carousel_thumbs .carousel-thumb img{height:50px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"]
|
|
270
283
|
},] }
|
|
271
284
|
];
|
|
272
285
|
ImageCarouselComponent.ctorParameters = () => [
|
|
286
|
+
{ type: IconCacheService },
|
|
273
287
|
{ type: ProductConnectorService },
|
|
274
288
|
{ type: ProductEventService },
|
|
275
289
|
{ type: ChangeDetectorRef },
|
|
@@ -285,4 +299,4 @@ ImageCarouselComponent.propDecorators = {
|
|
|
285
299
|
gotoPrevSlide: [{ type: HostListener, args: ['swiperight',] }],
|
|
286
300
|
resizing: [{ type: HostBinding, args: ['class.resizing',] }]
|
|
287
301
|
};
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ltYWdlLWNhcm91c2VsL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFHeEUsT0FBTyxFQUFDLFlBQVksRUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBR2hFLE1BQU0sT0FBTyxjQUFjO0NBSTFCO0FBOERELE1BQU0sT0FBTyxzQkFBc0I7SUE2RWpDLFlBQ1UsS0FBOEIsRUFDOUIsZ0JBQXFDLEVBQ3JDLGVBQWtDLEVBQ2xDLGFBQTJCO1FBSDNCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7UUFDckMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBN0U5QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVlwQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQWlEN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixvQkFBZSxHQUFxQixFQUFFLENBQUM7UUFDdkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUczQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixZQUFPLEdBQTRCLEVBQUUsQ0FBQztRQUN0QyxVQUFLLEdBQW1CLEVB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QW1CO1lBWHpCLGlCQUFpQjtZQWNYLFlBQVk7Ozt1QkFzRWpCLFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO29CQU94QyxZQUFZLFNBQUMseUJBQXlCOzBCQU90QyxLQUFLO3FCQUdMLEtBQUs7aUNBYUwsWUFBWSxTQUFDLGVBQWU7NEJBVTVCLFlBQVksU0FBQyxXQUFXOzRCQUt4QixZQUFZLFNBQUMsWUFBWTt1QkFrQnpCLFdBQVcsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQuYm8nO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RFdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0ljb25FbnVtfSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtEb2N1bWVudENvbnRlbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2RvY3VtZW50LWNvbnRlbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEltYWdlVmlld01vZGVsIHtcclxuICBwdWJsaWMgaW1hZ2U6IENvRG9jdW1lbnQgfCBzdHJpbmc7XHJcbiAgcHVibGljIHNvdXJjZTogU2FmZVVybDtcclxuICBwdWJsaWMgb3JpZ2luYWxTb3VyY2U6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW1hZ2UtY2Fyb3VzZWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgaWQ9XCJwcm9kdWN0X3BhZ2VfY2Fyb3VzZWxcIj5cclxuICAgICAgICAgIDxkaXYgaWQ9XCJwcm9kdWN0X3BhZ2VfY2Fyb3VzZWxfaXRlbXNcIj5cclxuICAgICAgICAgICAgICA8Y28tbG9hZGVyIFtpc1Nob3duXT1cInRydWVcIiAqbmdJZj1cInNob3dMb2FkZXJcIj48L2NvLWxvYWRlcj5cclxuICAgICAgICAgICAgICA8ZGl2ICNjYXJvdXNlbCBjbGFzcz1cImlubmVyLWNhcm91c2VsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gVGhpcyBoYXMgYmVlbiB0YWtlbiBvdXQgb2YgdGhlIGZvciBsb29wIHRvIHByZXZlbnQgZmxhc2hpbmcgaW1hZ2VzIHdoZW4gdXBkYXRpbmcuIC0tPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW1hZ2VWaWV3TW9kZWxzWzBdXCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2lkXT1cIidzbGlkZS0wJ1wiIFtjbGFzcy5hY3RpdmVdPVwiaXNDdXJyZW50SW5kZXgoMClcIiAoY2xpY2spPVwiaGFuZGxlU2hvd0ltYWdlKGltYWdlVmlld01vZGVsc1swXSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVZpZXdNb2RlbHNbMF0uc291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWFnZVZpZXdNb2RlbCBvZiBpbWFnZVZpZXdNb2RlbHMuc2xpY2UoMSk7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ3NsaWRlLScgKyAoaW5kZXggKyAxKVwiIFtjbGFzcy5hY3RpdmVdPVwiaXNDdXJyZW50SW5kZXgoKGluZGV4ICsgMSkpXCIgKGNsaWNrKT1cImhhbmRsZVNob3dJbWFnZShpbWFnZVZpZXdNb2RlbClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVZpZXdNb2RlbC5zb3VyY2VcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1zY3JvbGxlci1sYXllclwiICpuZ0lmPVwiaW1hZ2VWaWV3TW9kZWxzICYmIGltYWdlVmlld01vZGVscy5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbS1zY3JvbGxlciBwcmV2XCIgKGNsaWNrKT1cImdvdG9QcmV2U2xpZGUoKVwiICpuZ0lmPVwiY3VycmVudEluZGV4ID4gMFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0tc2Nyb2xsZXIgbmV4dFwiIChjbGljayk9XCJnb3RvTmV4dFNsaWRlKClcIiAqbmdJZj1cImN1cnJlbnRJbmRleCA8IGltYWdlcy5sZW5ndGggLSAxXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS1cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0b3ItdHlwZS1pY29uIHJlZnJlc2gtYnV0dG9uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZS5nZXRJY29uKGljb25zLlJlZnJlc2gpXCIgKGNsaWNrKT1cIm9uRm9yY2VSZW5kZXJJbWFnZSgpXCIgW2NsYXNzLmxvYWRpbmddPVwic2hvd0xvYWRlclwiICpuZ0lmPVwic2hvd1JlZnJlc2hcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGlkPVwicHJvZHVjdF9wYWdlX2Nhcm91c2VsX3RodW1ic1wiPlxyXG4gICAgICAgICAgICAgIDxjby1zY3JvbGwtY29udGFpbmVyIGNsYXNzPVwic2Nyb2xsLWNvbnRhaW5lclwiICpuZ0lmPVwiaW1hZ2VWaWV3TW9kZWxzICYmIGltYWdlVmlld01vZGVscy5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltYWdlVmlld01vZGVsIG9mIGltYWdlVmlld01vZGVsczsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNhcm91c2VsLXRodW1iXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImluZGV4ID09PSBjdXJyZW50SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVZpZXdNb2RlbC5zb3VyY2VcIiAoY2xpY2spPVwiaGFuZGxlVGh1bWJDbGljayhpbmRleClcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvY28tc2Nyb2xsLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSBNb2RhbCAocmVhbCBwb3B1cCkgLS0+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImltYWdlLW1vZGFsXCJcclxuICAgICAgICAqbmdJZj1cImlzUG9wdXBPcGVuXCJcclxuICAgICAgICAoY2xpY2spPVwiY2xvc2VQb3B1cCgpXCJcclxuICAgICAgICByb2xlPVwiZGlhbG9nXCJcclxuICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXHJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkltYWdlIHByZXZpZXdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLW1vZGFsX19jb250ZW50XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImltYWdlLW1vZGFsX19jbG9zZVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VQb3B1cCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgw5dcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJzZWxlY3RlZEltYWdlPy5vcmlnaW5hbFNvdXJjZVwiIGFsdD1cIkltYWdlIHByZXZpZXdcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBjYXJvdXNlbDogRWxlbWVudFJlZjtcclxuXHJcbiAgcHVibGljIGlzUG9wdXBPcGVuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdGVkSW1hZ2U/OiBJbWFnZVZpZXdNb2RlbDtcclxuXHJcbiAgLy8gQ2xvc2Ugb24gRVNDXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxyXG4gIG9uRXNjKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNQb3B1cE9wZW4pIHtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaW1hZ2VzKHZhbHVlOiAoQ29Eb2N1bWVudCB8IHN0cmluZylbXSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5faW1hZ2VzID0gdGhpcy5fZmlsdGVyVmFsaWRJbWFnZXModmFsdWUpO1xyXG4gICAgICB0aGlzLl9sb2FkQW5kUmVzY2FsZUltYWdlcygpO1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGltYWdlcygpOiAoQ29Eb2N1bWVudCB8IHN0cmluZylbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW1hZ2VzO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgcHVibGljIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzaXppbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2Nyb2xsQ2Fyb3VzZWxUb0luZGV4KCk7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplVGltZXIpO1xyXG4gICAgdGhpcy5fcmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5yZXNpemluZyA9IGZhbHNlO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3N3aXBlbGVmdCcpXHJcbiAgcHVibGljIGdvdG9OZXh0U2xpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleCsrO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignc3dpcGVyaWdodCcpXHJcbiAgcHVibGljIGdvdG9QcmV2U2xpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleC0tO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQ3VycmVudEluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRJbmRleCA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRJbmRleCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRJbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgY3VycmVudEluZGV4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2Nyb2xsQ2Fyb3VzZWxUb0luZGV4KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlc2l6aW5nJylcclxuICBwdWJsaWMgcmVzaXppbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGltYWdlVmlld01vZGVsczogSW1hZ2VWaWV3TW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3Jlc2l6ZVRpbWVyOiBhbnk7XHJcbiAgcHJpdmF0ZSBfY3VycmVudEluZGV4ID0gMDtcclxuICBwcml2YXRlIF9pbWFnZXM6IChDb0RvY3VtZW50IHwgc3RyaW5nKVtdID0gW107XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfcmVzaXplQ2FudmFzSGVpZ2h0OiBudW1iZXIgPSA1MDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaW9uZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hcHBFdmVudFNlcnZpY2U6IFByb2R1Y3RFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25SZW5kZXJTdGFydGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LCAxMDAwMCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25EcmFmdFJlbmRlckltYWdlUmVjZWl2ZWQuc3Vic2NyaWJlKChldmVudDogQ3VzdG9tRXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQgJiYgZXZlbnQuZGV0YWlsKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5faW1hZ2VzWzBdIGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9pbWFnZXMudW5zaGlmdChldmVudC5kZXRhaWwpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5faW1hZ2VzWzBdID0gZXZlbnQuZGV0YWlsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fbG9hZEFuZFJlc2NhbGVJbWFnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXJvdXNlbCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVGh1bWJDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRm9yY2VSZW5kZXJJbWFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkZvcmNlUmVuZGVySW1hZ2UubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dJbWFnZShpbWFnZVZpZXdNb2RlbDogSW1hZ2VWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChpbWFnZVZpZXdNb2RlbCAmJiBpbWFnZVZpZXdNb2RlbC5vcmlnaW5hbFNvdXJjZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSBpbWFnZVZpZXdNb2RlbDtcclxuICAgICAgdGhpcy5pc1BvcHVwT3BlbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlUG9wdXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzUG9wdXBPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlclZhbGlkSW1hZ2VzKHZhbHVlOiAoQ29Eb2N1bWVudCB8IHN0cmluZylbXSk6IChDb0RvY3VtZW50IHwgc3RyaW5nKVtdIHtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlLmZpbHRlcigoZG9jOiBDb0RvY3VtZW50IHwgc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhdHRlcm4gPSAvXFwuKGpwZ3xqcGVnfHBuZ3xnaWZ8Ym1wfHRpZmZ8d2VicCkkL2k7XHJcbiAgICAgIHJldHVybiB0eXBlb2YgZG9jID09PSAnc3RyaW5nJyB8fCAocGF0dGVybi50ZXN0KGRvYy5maWxlTmFtZSkgfHwgISFkb2MuZmlsZVBhdGgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkQW5kUmVzY2FsZUltYWdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuaW1hZ2VWaWV3TW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICBpZiAodGhpcy5faW1hZ2VzKSB7XHJcbiAgICAgIHRoaXMuX2ltYWdlcy5mb3JFYWNoKChpOiBDb0RvY3VtZW50IHwgc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgbGV0IGltYWdlVmlld01vZGVsID0gbmV3IEltYWdlVmlld01vZGVsKCk7XHJcbiAgICAgICAgaW1hZ2VWaWV3TW9kZWwuaW1hZ2UgPSBpO1xyXG4gICAgICAgIGlmICh0eXBlb2YgaSA9PT0gJ3N0cmluZycpIHsgLy8gaXMgYSByZW5kZXJlZCBpbWFnZSBjb21pbmcgZnJvbSBjb25maWd1cmF0b3JcclxuICAgICAgICAgIHRoaXMuX3Jlc2l6ZUFuZFNhbml0aXplU291cmNlKGksIGltYWdlVmlld01vZGVsKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKGkuZmlsZVBhdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmVzaXplQW5kU2FuaXRpemVTb3VyY2UoaS5maWxlUGF0aCwgaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpLmRvY3VtZW50Qm9keSkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXNpemVBbmRTYW5pdGl6ZVNvdXJjZShpLmRvY3VtZW50Qm9keUFzRGF0YVVyaSwgaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5faW9uZS5nZXREb2N1bWVudENvbnRlbnQoaS5kb2N1bWVudElkLCBmYWxzZSkudGhlbigoY29udGVudDogRG9jdW1lbnRDb250ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIGkuZG9jdW1lbnRCb2R5ID0gY29udGVudC5kb2N1bWVudENvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXNpemVBbmRTYW5pdGl6ZVNvdXJjZShpLmRvY3VtZW50Qm9keUFzRGF0YVVyaSwgaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW1hZ2VWaWV3TW9kZWxzLnB1c2goaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZXNpemVBbmRTYW5pdGl6ZVNvdXJjZShzb3VyY2U6IHN0cmluZywgaW1hZ2VWaWV3TW9kZWw6IEltYWdlVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXNpemVDYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICBjb25zdCBjdHggPSByZXNpemVDYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcbiAgICBjb25zdCBpbWc6IEhUTUxJbWFnZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcclxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xyXG5cclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIGN0eC5pbWFnZVNtb290aGluZ0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgICBjdHguaW1hZ2VTbW9vdGhpbmdRdWFsaXR5ID0gJ2hpZ2gnO1xyXG5cclxuICAgICAgY29uc3Qgb3cgPSBpbWcud2lkdGg7XHJcbiAgICAgIGNvbnN0IG9oID0gaW1nLmhlaWdodDtcclxuICAgICAgY29uc3QgYXNwZWN0ID0gb3cgLyBvaDtcclxuXHJcbiAgICAgIGxldCBuZXdXID0gdGhpcy5fcmVzaXplQ2FudmFzSGVpZ2h0O1xyXG4gICAgICBsZXQgbmV3SCA9IHRoaXMuX3Jlc2l6ZUNhbnZhc0hlaWdodDtcclxuICAgICAgaWYgKG93ID4gb2gpIHtcclxuICAgICAgICBuZXdIID0gdGhpcy5fcmVzaXplQ2FudmFzSGVpZ2h0IC8gYXNwZWN0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld1cgPSB0aGlzLl9yZXNpemVDYW52YXNIZWlnaHQgKiBhc3BlY3Q7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJlc2l6ZUNhbnZhcy53aWR0aCA9IE1hdGgucm91bmQobmV3Vyk7XHJcbiAgICAgIHJlc2l6ZUNhbnZhcy5oZWlnaHQgPSBNYXRoLnJvdW5kKG5ld0gpO1xyXG5cclxuICAgICAgLy8gRW5zdXJlIHRyYW5zcGFyZW50IGJhY2tncm91bmQgYmVmb3JlIGRyYXdpbmdcclxuICAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCByZXNpemVDYW52YXMud2lkdGgsIHJlc2l6ZUNhbnZhcy5oZWlnaHQpO1xyXG5cclxuICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIHJlc2l6ZUNhbnZhcy53aWR0aCwgcmVzaXplQ2FudmFzLmhlaWdodCk7XHJcblxyXG4gICAgICBjb25zdCBtaW1lID0gdGhpcy5fZGV0ZWN0UHJlZmVycmVkTWltZShzb3VyY2UpO1xyXG4gICAgICBjb25zdCByZXNpemVkU291cmNlID1cclxuICAgICAgICBtaW1lID09PSAnaW1hZ2UvanBlZydcclxuICAgICAgICAgID8gcmVzaXplQ2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycsIDAuOTIpIC8vIG9ubHkgaWYgb3JpZ2luYWwgd2FzIEpQRUdcclxuICAgICAgICAgIDogcmVzaXplQ2FudmFzLnRvRGF0YVVSTChtaW1lKTsgICAgICAgICAgICAgIC8vIFBORy9XZWJQIGtlZXAgYWxwaGFcclxuXHJcbiAgICAgIGltYWdlVmlld01vZGVsLnNvdXJjZSA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHJlc2l6ZWRTb3VyY2UpO1xyXG4gICAgICBpbWFnZVZpZXdNb2RlbC5vcmlnaW5hbFNvdXJjZSA9IHNvdXJjZTtcclxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfTtcclxuXHJcbiAgICBpbWcuc3JjID0gc291cmNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGV0ZWN0UHJlZmVycmVkTWltZShzb3VyY2U6IHN0cmluZyk6ICdpbWFnZS9wbmcnIHwgJ2ltYWdlL3dlYnAnIHwgJ2ltYWdlL2pwZWcnIHtcclxuICAgIC8vIERhdGEgVVJJIGNoZWNrXHJcbiAgICBjb25zdCBtID0gc291cmNlLm1hdGNoKC9eZGF0YTooaW1hZ2VcXC9bYS16QS1aKy4tXSspO2Jhc2U2NCwvKTtcclxuICAgIGlmIChtKSB7XHJcbiAgICAgIGNvbnN0IHQgPSBtWzFdLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICh0ID09PSAnaW1hZ2UvcG5nJyB8fCB0ID09PSAnaW1hZ2Uvd2VicCcgfHwgdCA9PT0gJ2ltYWdlL2pwZWcnKSByZXR1cm4gdCBhcyBhbnk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbG93ZXIgPSBzb3VyY2UudG9Mb3dlckNhc2UoKTtcclxuICAgIGlmIChsb3dlci5lbmRzV2l0aCgnLnBuZycpKSByZXR1cm4gJ2ltYWdlL3BuZyc7XHJcbiAgICBpZiAobG93ZXIuZW5kc1dpdGgoJy53ZWJwJykpIHJldHVybiAnaW1hZ2Uvd2VicCc7XHJcbiAgICBpZiAobG93ZXIuZW5kc1dpdGgoJy5qcGcnKSB8fCBsb3dlci5lbmRzV2l0aCgnLmpwZWcnKSkgcmV0dXJuICdpbWFnZS9qcGVnJztcclxuXHJcbiAgICByZXR1cm4gJ2ltYWdlL3BuZyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zY3JvbGxDYXJvdXNlbFRvSW5kZXgoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPiAtMSAmJiB0aGlzLmN1cnJlbnRJbmRleCA8PSB0aGlzLmltYWdlcy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgbW92ZVB4OiBudW1iZXIgPSB0aGlzLmN1cnJlbnRJbmRleCAqIHRoaXMuY2Fyb3VzZWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgICAgaWYgKHRoaXMuY2Fyb3VzZWwgJiYgdGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSBtb3ZlUHg7XHJcbiAgICAgICAgLy8gdGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcclxuICAgICAgICAvLyAgIGxlZnQ6IG1vdmVQeCxcclxuICAgICAgICAvLyAgIGJlaGF2aW9yOiAnc21vb3RoJ1xyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ltYWdlLWNhcm91c2VsL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxZQUFZLEVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUtoRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxNQUFNLE9BQU8sY0FBYztDQUkxQjtBQTJERCxNQUFNLE9BQU8sc0JBQXNCO0lBZ0ZqQyxZQUNTLGdCQUFrQyxFQUNqQyxLQUE4QixFQUM5QixnQkFBcUMsRUFDckMsZUFBa0MsRUFDbEMsYUFBMkI7UUFKNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUM5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQW5GckIsVUFBSyxHQUFvQixRQUFRLENBQUM7UUFLM0MsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFZcEIsZ0JBQVcsR0FBWSxLQUFL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QUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFDaEQseUNBQXlDO2dCQUN6QyxrQkFBa0I7Z0JBQ2xCLHVCQUF1QjtnQkFDdkIsTUFBTTthQUNQO1NBQ0Y7SUFDSCxDQUFDOzs7WUE1VEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbURUO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUVoRDs7O1lBaEVPLGdCQUFnQjtZQVRoQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBWHpCLGlCQUFpQjtZQWNYLFlBQVk7Ozt1QkEwRWpCLFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO29CQU94QyxZQUFZLFNBQUMseUJBQXlCOzBCQU90QyxLQUFLO3FCQUdMLEtBQUs7aUNBYUwsWUFBWSxTQUFDLGVBQWU7NEJBVTVCLFlBQVksU0FBQyxXQUFXOzRCQUt4QixZQUFZLFNBQUMsWUFBWTt1QkFrQnpCLFdBQVcsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQuYm8nO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RFdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0ljb25FbnVtfSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtEb2N1bWVudENvbnRlbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2RvY3VtZW50LWNvbnRlbnQnO1xyXG5pbXBvcnQge0ljb25Nb2R1bGV9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1Njcm9sbENvbnRhaW5lck1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzJztcclxuaW1wb3J0IHtPdmVybGF5TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEltYWdlVmlld01vZGVsIHtcclxuICBwdWJsaWMgaW1hZ2U6IENvRG9jdW1lbnQgfCBzdHJpbmc7XHJcbiAgcHVibGljIHNvdXJjZTogU2FmZVVybDtcclxuICBwdWJsaWMgb3JpZ2luYWxTb3VyY2U6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW1hZ2UtY2Fyb3VzZWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGlkPVwicHJvZHVjdF9wYWdlX2Nhcm91c2VsXCI+XHJcbiAgICAgIDxkaXYgaWQ9XCJwcm9kdWN0X3BhZ2VfY2Fyb3VzZWxfaXRlbXNcIj5cclxuICAgICAgICA8Y28tbG9hZGVyIFtpc1Nob3duXT1cInRydWVcIiAqbmdJZj1cInNob3dMb2FkZXJcIj48L2NvLWxvYWRlcj5cclxuICAgICAgICA8ZGl2ICNjYXJvdXNlbCBjbGFzcz1cImlubmVyLWNhcm91c2VsXCI+XHJcbiAgICAgICAgICA8IS0tIFRoaXMgaGFzIGJlZW4gdGFrZW4gb3V0IG9mIHRoZSBmb3IgbG9vcCB0byBwcmV2ZW50IGZsYXNoaW5nIGltYWdlcyB3aGVuIHVwZGF0aW5nLiAtLT5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbWFnZVZpZXdNb2RlbHNbMF1cIiBjbGFzcz1cImNhcm91c2VsLWl0ZW1cIiBbaWRdPVwiJ3NsaWRlLTAnXCIgW2NsYXNzLmFjdGl2ZV09XCJpc0N1cnJlbnRJbmRleCgwKVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTaG93SW1hZ2UoaW1hZ2VWaWV3TW9kZWxzWzBdKVwiPlxyXG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VWaWV3TW9kZWxzWzBdLnNvdXJjZVwiPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWFnZVZpZXdNb2RlbCBvZiBpbWFnZVZpZXdNb2RlbHMuc2xpY2UoMSk7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCJcclxuICAgICAgICAgICAgICAgW2lkXT1cIidzbGlkZS0nICsgKGluZGV4ICsgMSlcIiBbY2xhc3MuYWN0aXZlXT1cImlzQ3VycmVudEluZGV4KChpbmRleCArIDEpKVwiIChjbGljayk9XCJoYW5kbGVTaG93SW1hZ2UoaW1hZ2VWaWV3TW9kZWwpXCI+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVZpZXdNb2RlbC5zb3VyY2VcIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLXNjcm9sbGVyLWxheWVyXCIgKm5nSWY9XCJpbWFnZVZpZXdNb2RlbHMgJiYgaW1hZ2VWaWV3TW9kZWxzLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0tc2Nyb2xsZXIgcHJldlwiIChjbGljayk9XCJnb3RvUHJldlNsaWRlKClcIiAqbmdJZj1cImN1cnJlbnRJbmRleCA+IDBcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0tc2Nyb2xsZXIgbmV4dFwiIChjbGljayk9XCJnb3RvTmV4dFNsaWRlKClcIiAqbmdJZj1cImN1cnJlbnRJbmRleCA8IGltYWdlcy5sZW5ndGggLSAxXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tXHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInNlbGVjdG9yLXR5cGUtaWNvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGUuZ2V0SWNvbihpY29ucy5SZWZyZXNoKVwiIChjbGljayk9XCJvbkZvcmNlUmVuZGVySW1hZ2UoKVwiIFtjbGFzcy5sb2FkaW5nXT1cInNob3dMb2FkZXJcIiAqbmdJZj1cInNob3dSZWZyZXNoXCI+PC9jby1pY29uPlxyXG4gICAgICAgIC0tPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgaWQ9XCJwcm9kdWN0X3BhZ2VfY2Fyb3VzZWxfdGh1bWJzXCI+XHJcbiAgICAgICAgPGNvLXNjcm9sbC1jb250YWluZXIgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCIgKm5nSWY9XCJpbWFnZVZpZXdNb2RlbHMgJiYgaW1hZ2VWaWV3TW9kZWxzLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltYWdlVmlld01vZGVsIG9mIGltYWdlVmlld01vZGVsczsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNhcm91c2VsLXRodW1iXCJcclxuICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbmRleCA9PT0gY3VycmVudEluZGV4XCI+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVZpZXdNb2RlbC5zb3VyY2VcIiAoY2xpY2spPVwiaGFuZGxlVGh1bWJDbGljayhpbmRleClcIi8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2NvLXNjcm9sbC1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjZGtPdmVybGF5T3JpZ2luICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc1BvcHVwT3BlblwiXHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwidHJ1ZVwiXHJcbiAgICAgIChiYWNrZHJvcENsaWNrKT1cImNsb3NlUG9wdXAoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtbW9kYWxcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiBhcmlhLWxhYmVsPVwiSW1hZ2UgcHJldmlld1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1tb2RhbF9fY29udGVudFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImltYWdlLW1vZGFsX19jbG9zZVwiIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwiY2xvc2VQb3B1cCgpXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwic2VsZWN0ZWRJbWFnZT8ub3JpZ2luYWxTb3VyY2VcIiBhbHQ9XCJJbWFnZSBwcmV2aWV3XCIvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1hZ2VDYXJvdXNlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb25FbnVtID0gSWNvbkVudW07XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBjYXJvdXNlbDogRWxlbWVudFJlZjtcclxuXHJcbiAgcHVibGljIGlzUG9wdXBPcGVuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdGVkSW1hZ2U/OiBJbWFnZVZpZXdNb2RlbDtcclxuXHJcbiAgLy8gQ2xvc2Ugb24gRVNDXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxyXG4gIG9uRXNjKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNQb3B1cE9wZW4pIHtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaW1hZ2VzKHZhbHVlOiAoQ29Eb2N1bWVudCB8IHN0cmluZylbXSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5faW1hZ2VzID0gdGhpcy5fZmlsdGVyVmFsaWRJbWFnZXModmFsdWUpO1xyXG4gICAgICB0aGlzLl9sb2FkQW5kUmVzY2FsZUltYWdlcygpO1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGltYWdlcygpOiAoQ29Eb2N1bWVudCB8IHN0cmluZylbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW1hZ2VzO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgcHVibGljIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzaXppbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2Nyb2xsQ2Fyb3VzZWxUb0luZGV4KCk7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplVGltZXIpO1xyXG4gICAgdGhpcy5fcmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5yZXNpemluZyA9IGZhbHNlO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3N3aXBlbGVmdCcpXHJcbiAgcHVibGljIGdvdG9OZXh0U2xpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleCsrO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignc3dpcGVyaWdodCcpXHJcbiAgcHVibGljIGdvdG9QcmV2U2xpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleC0tO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQ3VycmVudEluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRJbmRleCA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRJbmRleCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRJbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgY3VycmVudEluZGV4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2Nyb2xsQ2Fyb3VzZWxUb0luZGV4KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlc2l6aW5nJylcclxuICBwdWJsaWMgcmVzaXppbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGltYWdlVmlld01vZGVsczogSW1hZ2VWaWV3TW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3Jlc2l6ZVRpbWVyOiBhbnk7XHJcbiAgcHJpdmF0ZSBfY3VycmVudEluZGV4ID0gMDtcclxuICBwcml2YXRlIF9pbWFnZXM6IChDb0RvY3VtZW50IHwgc3RyaW5nKVtdID0gW107XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfcmVzaXplQ2FudmFzSGVpZ2h0OiBudW1iZXIgPSA1MDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9pb25lOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vblJlbmRlclN0YXJ0ZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sIDEwMDAwKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkRyYWZ0UmVuZGVySW1hZ2VSZWNlaXZlZC5zdWJzY3JpYmUoKGV2ZW50OiBDdXN0b21FdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudCAmJiBldmVudC5kZXRhaWwpIHtcclxuICAgICAgICAgIGlmICh0aGlzLl9pbWFnZXNbMF0gaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ltYWdlcy51bnNoaWZ0KGV2ZW50LmRldGFpbCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9pbWFnZXNbMF0gPSBldmVudC5kZXRhaWw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9sb2FkQW5kUmVzY2FsZUltYWdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhcm91c2VsID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUaHVtYkNsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Gb3JjZVJlbmRlckltYWdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uRm9yY2VSZW5kZXJJbWFnZS5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd0ltYWdlKGltYWdlVmlld01vZGVsOiBJbWFnZVZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgaWYgKGltYWdlVmlld01vZGVsICYmIGltYWdlVmlld01vZGVsLm9yaWdpbmFsU291cmNlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZSA9IGltYWdlVmlld01vZGVsO1xyXG4gICAgICB0aGlzLmlzUG9wdXBPcGVuID0gdHJ1ZTtcclxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNQb3B1cE9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsdGVyVmFsaWRJbWFnZXModmFsdWU6IChDb0RvY3VtZW50IHwgc3RyaW5nKVtdKTogKENvRG9jdW1lbnQgfCBzdHJpbmcpW10ge1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWUuZmlsdGVyKChkb2M6IENvRG9jdW1lbnQgfCBzdHJpbmcpID0+IHtcclxuICAgICAgY29uc3QgcGF0dGVybiA9IC9cXC4oanBnfGpwZWd8cG5nfGdpZnxibXB8dGlmZnx3ZWJwKSQvaTtcclxuICAgICAgcmV0dXJuIHR5cGVvZiBkb2MgPT09ICdzdHJpbmcnIHx8IChwYXR0ZXJuLnRlc3QoZG9jLmZpbGVOYW1lKSB8fCAhIWRvYy5maWxlUGF0aCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWRBbmRSZXNjYWxlSW1hZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbWFnZVZpZXdNb2RlbHMubGVuZ3RoID0gMDtcclxuICAgIGlmICh0aGlzLl9pbWFnZXMpIHtcclxuICAgICAgdGhpcy5faW1hZ2VzLmZvckVhY2goKGk6IENvRG9jdW1lbnQgfCBzdHJpbmcpID0+IHtcclxuICAgICAgICBsZXQgaW1hZ2VWaWV3TW9kZWwgPSBuZXcgSW1hZ2VWaWV3TW9kZWwoKTtcclxuICAgICAgICBpbWFnZVZpZXdNb2RlbC5pbWFnZSA9IGk7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBpID09PSAnc3RyaW5nJykgeyAvLyBpcyBhIHJlbmRlcmVkIGltYWdlIGNvbWluZyBmcm9tIGNvbmZpZ3VyYXRvclxyXG4gICAgICAgICAgdGhpcy5fcmVzaXplQW5kU2FuaXRpemVTb3VyY2UoaSwgaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoaS5maWxlUGF0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXNpemVBbmRTYW5pdGl6ZVNvdXJjZShpLmZpbGVQYXRoLCBpbWFnZVZpZXdNb2RlbCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGkuZG9jdW1lbnRCb2R5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZUFuZFNhbml0aXplU291cmNlKGkuZG9jdW1lbnRCb2R5QXNEYXRhVXJpLCBpbWFnZVZpZXdNb2RlbCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9pb25lLmdldERvY3VtZW50Q29udGVudChpLmRvY3VtZW50SWQsIGZhbHNlKS50aGVuKChjb250ZW50OiBEb2N1bWVudENvbnRlbnQpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoY29udGVudCkge1xyXG4gICAgICAgICAgICAgICAgaS5kb2N1bWVudEJvZHkgPSBjb250ZW50LmRvY3VtZW50Q29udGVudDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZUFuZFNhbml0aXplU291cmNlKGkuZG9jdW1lbnRCb2R5QXNEYXRhVXJpLCBpbWFnZVZpZXdNb2RlbCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pbWFnZVZpZXdNb2RlbHMucHVzaChpbWFnZVZpZXdNb2RlbCk7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Jlc2l6ZUFuZFNhbml0aXplU291cmNlKHNvdXJjZTogc3RyaW5nLCBpbWFnZVZpZXdNb2RlbDogSW1hZ2VWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlc2l6ZUNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgIGNvbnN0IGN0eCA9IHJlc2l6ZUNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuICAgIGNvbnN0IGltZzogSFRNTEltYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xyXG4gICAgaW1nLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XHJcblxyXG4gICAgY29uc3QgaGFuZGxlRmFsbGJhY2sgPSAoKSA9PiB7XHJcbiAgICAgIC8vIFdoZW4gYSBDRE4gZG9lcyBub3QgYWNjZXB0IG91ciB0YWludGVkIGNhbnZhcywgd2UgZmFsbGJhY2sgdG8gdGhlIG9yaWdpbmFsIHNvdXJjZS5cclxuICAgICAgaW1hZ2VWaWV3TW9kZWwuc291cmNlID0gdGhpcy5fZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoc291cmNlKTtcclxuICAgICAgaW1hZ2VWaWV3TW9kZWwub3JpZ2luYWxTb3VyY2UgPSBzb3VyY2U7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH07XHJcblxyXG4gICAgaW1nLm9uZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgIGhhbmRsZUZhbGxiYWNrKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY3R4LmltYWdlU21vb3RoaW5nRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgICAgY3R4LmltYWdlU21vb3RoaW5nUXVhbGl0eSA9ICdoaWdoJztcclxuXHJcbiAgICAgICAgY29uc3QgYXNwZWN0OiBudW1iZXIgPSBpbWcud2lkdGggLyBpbWcuaGVpZ2h0O1xyXG4gICAgICAgIGxldCBuZXdXOiBudW1iZXIgPSB0aGlzLl9yZXNpemVDYW52YXNIZWlnaHQ7XHJcbiAgICAgICAgbGV0IG5ld0g6IG51bWJlciA9IHRoaXMuX3Jlc2l6ZUNhbnZhc0hlaWdodDtcclxuXHJcbiAgICAgICAgaWYgKGltZy53aWR0aCA+IGltZy5oZWlnaHQpIHtcclxuICAgICAgICAgIG5ld0ggPSB0aGlzLl9yZXNpemVDYW52YXNIZWlnaHQgLyBhc3BlY3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG5ld1cgPSB0aGlzLl9yZXNpemVDYW52YXNIZWlnaHQgKiBhc3BlY3Q7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc2l6ZUNhbnZhcy53aWR0aCA9IE1hdGgucm91bmQobmV3Vyk7XHJcbiAgICAgICAgcmVzaXplQ2FudmFzLmhlaWdodCA9IE1hdGgucm91bmQobmV3SCk7XHJcblxyXG4gICAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgcmVzaXplQ2FudmFzLndpZHRoLCByZXNpemVDYW52YXMuaGVpZ2h0KTtcclxuICAgICAgICBjdHguZHJhd0ltYWdlKGltZywgMCwgMCwgcmVzaXplQ2FudmFzLndpZHRoLCByZXNpemVDYW52YXMuaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgY29uc3QgbWltZTogc3RyaW5nID0gdGhpcy5faGFuZGxlTWltZVR5cGVzKHNvdXJjZSk7XHJcbiAgICAgICAgY29uc3QgcmVzaXplZFNvdXJjZTogc3RyaW5nID0gcmVzaXplQ2FudmFzLnRvRGF0YVVSTChtaW1lKTtcclxuXHJcbiAgICAgICAgaW1hZ2VWaWV3TW9kZWwuc291cmNlID0gdGhpcy5fZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwocmVzaXplZFNvdXJjZSk7XHJcbiAgICAgICAgaW1hZ2VWaWV3TW9kZWwub3JpZ2luYWxTb3VyY2UgPSBzb3VyY2U7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGhhbmRsZUZhbGxiYWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpbWcuc3JjID0gc291cmNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlTWltZVR5cGVzKGltYWdlU291cmNlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gV2hlbiB3ZSBnb3QgYmFzZTY0IGRhdGFcclxuICAgIGlmIChpbWFnZVNvdXJjZS5zdGFydHNXaXRoKCdkYXRhOicpKSB7XHJcbiAgICAgIGNvbnN0IG1hdGNoOiBSZWdFeHBNYXRjaEFycmF5ID0gaW1hZ2VTb3VyY2UubWF0Y2goL15kYXRhOihpbWFnZVxcLyhwbmd8d2VicHxqcGVnfGpwZykpL2kpO1xyXG4gICAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXS50b0xvd2VyQ2FzZSgpIDogJ2ltYWdlL3BuZyc7XHJcbiAgICB9XHJcbiAgICAvLyB3aGVuIHdlIGdvdCBhbiBVUkwuXHJcbiAgICBjb25zdCBleHRlbnNpb246IHN0cmluZyA9IGltYWdlU291cmNlLnN1YnN0cmluZyhpbWFnZVNvdXJjZS5sYXN0SW5kZXhPZignLicpICsgMSkudG9Mb3dlckNhc2UoKTtcclxuICAgIHN3aXRjaCAoZXh0ZW5zaW9uKSB7XHJcbiAgICAgIGNhc2UgJ3BuZyc6XHJcbiAgICAgICAgcmV0dXJuICdpbWFnZS9wbmcnO1xyXG4gICAgICBjYXNlICd3ZWJwJzpcclxuICAgICAgICByZXR1cm4gJ2ltYWdlL3dlYnAnO1xyXG4gICAgICBjYXNlICdqcGcnOlxyXG4gICAgICBjYXNlICdqcGVnJzpcclxuICAgICAgICByZXR1cm4gJ2ltYWdlL2pwZWcnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnaW1hZ2UvcG5nJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Njcm9sbENhcm91c2VsVG9JbmRleCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA+IC0xICYmIHRoaXMuY3VycmVudEluZGV4IDw9IHRoaXMuaW1hZ2VzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBtb3ZlUHg6IG51bWJlciA9IHRoaXMuY3VycmVudEluZGV4ICogdGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgICBpZiAodGhpcy5jYXJvdXNlbCAmJiB0aGlzLmNhcm91c2VsLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICB0aGlzLmNhcm91c2VsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IG1vdmVQeDtcclxuICAgICAgICAvLyB0aGlzLmNhcm91c2VsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xyXG4gICAgICAgIC8vICAgbGVmdDogbW92ZVB4LFxyXG4gICAgICAgIC8vICAgYmVoYXZpb3I6ICdzbW9vdGgnXHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -2,6 +2,8 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { ImageCarouselComponent } from './image-carousel.component';
|
|
4
4
|
import { /*IconModule, */ LoaderModule, ScrollContainerModule } from '@colijnit/corecomponents';
|
|
5
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
6
|
+
import { IconModule } from '@colijnit/corecomponents_v12';
|
|
5
7
|
export class ImageCarouselModule {
|
|
6
8
|
}
|
|
7
9
|
ImageCarouselModule.decorators = [
|
|
@@ -10,7 +12,9 @@ ImageCarouselModule.decorators = [
|
|
|
10
12
|
CommonModule,
|
|
11
13
|
LoaderModule,
|
|
12
14
|
// IconModule,
|
|
13
|
-
ScrollContainerModule
|
|
15
|
+
ScrollContainerModule,
|
|
16
|
+
OverlayModule,
|
|
17
|
+
IconModule
|
|
14
18
|
],
|
|
15
19
|
declarations: [
|
|
16
20
|
ImageCarouselComponent
|
|
@@ -20,4 +24,4 @@ ImageCarouselModule.decorators = [
|
|
|
20
24
|
]
|
|
21
25
|
},] }
|
|
22
26
|
];
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2Fyb3VzZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ltYWdlLWNhcm91c2VsL2ltYWdlLWNhcm91c2VsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZ0JBQWdCLENBQUEsWUFBWSxFQUFFLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDN0YsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQWtCeEQsTUFBTSxPQUFPLG1CQUFtQjs7O1lBaEIvQixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixjQUFjO29CQUNkLHFCQUFxQjtvQkFDckIsYUFBYTtvQkFDYixVQUFVO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDVixzQkFBc0I7aUJBQ3pCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxzQkFBc0I7aUJBQ3pCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7SW1hZ2VDYXJvdXNlbENvbXBvbmVudH0gZnJvbSAnLi9pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgey8qSWNvbk1vZHVsZSwgKi9Mb2FkZXJNb2R1bGUsIFNjcm9sbENvbnRhaW5lck1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzJztcclxuaW1wb3J0IHtPdmVybGF5TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7SWNvbk1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBMb2FkZXJNb2R1bGUsXHJcbiAgICAgICAgLy8gSWNvbk1vZHVsZSxcclxuICAgICAgICBTY3JvbGxDb250YWluZXJNb2R1bGUsXHJcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgSW1hZ2VDYXJvdXNlbENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBJbWFnZUNhcm91c2VsQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUNhcm91c2VsTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -86,11 +86,16 @@ export class ProductRelatedComponent {
|
|
|
86
86
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
87
|
this.articleViewModels.forEach(avm => {
|
|
88
88
|
if (avm.article.image) {
|
|
89
|
-
this._iOne.getImageForCoDocument(avm.article.image, false).then(imageContent => avm
|
|
89
|
+
this._iOne.getImageForCoDocument(avm.article.image, false).then(imageContent => this._handleImageData(avm, imageContent));
|
|
90
90
|
}
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
|
+
_handleImageData(avm, imageContent) {
|
|
95
|
+
if (imageContent && imageContent.image) {
|
|
96
|
+
avm.imageData = imageContent.image;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
94
99
|
}
|
|
95
100
|
ProductRelatedComponent.decorators = [
|
|
96
101
|
{ type: Component, args: [{
|
|
@@ -134,4 +139,4 @@ ProductRelatedComponent.propDecorators = {
|
|
|
134
139
|
createFrozenArticle: [{ type: Input }],
|
|
135
140
|
articles: [{ type: Input }]
|
|
136
141
|
};
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXJlbGF0ZWQvcHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFL0YsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDdkgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFLOUUsTUFBTSxPQUFPLGdCQUFnQjtJQUd6QixZQUFZLE9BQTBCLEVBQUUsU0FBa0I7UUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxTQUFTLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUM5QjtJQUNMLENBQUM7Q0FDSjtBQTRCRCxNQUFNLE9BQU8sdUJBQXVCO0lBNENoQyxZQUNZLEtBQThCLEVBQzlCLGdCQUFxQyxFQUNyQywrQkFBK0QsRUFDL0QsZ0JBQXdDO1FBSHhDLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7UUFDckMsb0NBQStCLEdBQS9CLCtCQUErQixDQUFnQztRQUMvRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBcEM3QyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUc3Qix3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUEwQnBDLHNCQUFpQixHQUF1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b25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdCc7XHJcbmltcG9ydCB7UHJvZHVjdENvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVRdWFudGl0eX0gZnJvbSAnLi4vLi4vbW9kZWwvYXJ0aWNsZS1xdWFudGl0eS5tb2RlbCc7XHJcbmltcG9ydCB7Q29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9jb25maWd1cmF0b3Itc3RhdGlzdGljcy1lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVGdWxsT2JqZWN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0JztcclxuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0LWV4dGVuZGVkLmJvJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLmJvJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBcnRpY2xlVmlld01vZGVsIHtcclxuICAgIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdDtcclxuICAgIHB1YmxpYyBpbWFnZURhdGE6IHN0cmluZztcclxuICAgIGNvbnN0cnVjdG9yKGFydGljbGU6IEFydGljbGVMaXN0T2JqZWN0LCBpbWFnZURhdGE/OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmFydGljbGUgPSBhcnRpY2xlO1xyXG4gICAgICAgIGlmIChpbWFnZURhdGEpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZURhdGEgPSBpbWFnZURhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtcmVsYXRlZCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhcnRpY2xlcyAmJiBhcnRpY2xlcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxhcHAtaGVhZGVyIFtsYWJlbF09XCJsYWJlbFwiIFthbW91bnRdPVwiYXJ0aWNsZXM/Lmxlbmd0aFwiICpuZ0lmPVwibGFiZWxcIj48L2FwcC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxjby1zY3JvbGwtY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFydGljbGUtd3JhcHBlclwiICpuZ0Zvcj1cImxldCBhcnRpY2xlVmlld01vZGVsIG9mIGFydGljbGVWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWFydGljbGUtdGlsZSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlRGF0YV09XCJhcnRpY2xlVmlld01vZGVsLmltYWdlRGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJhcnRpY2xlVmlld01vZGVsLmFydGljbGUuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcHJpY2VdPVwiYXJ0aWNsZVZpZXdNb2RlbC5hcnRpY2xlLnByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xldmVsXT1cImFydGljbGVWaWV3TW9kZWwuYXJ0aWNsZS5zdG9ja1N0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDYXJ0QnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNTbWFsbE1vZHVzXT1cImlzU21hbGxNb2R1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb25maWd1cmVCdXR0b25dPVwiYXJ0aWNsZVZpZXdNb2RlbC5hcnRpY2xlLmdvb2RUeXBlID09PSAnQidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29udGVudENsaWNrKT1cImhhbmRsZUNvbnRlbnRDbGljayhhcnRpY2xlVmlld01vZGVsLmFydGljbGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNhcnRCdXR0b25DbGljayk9XCJoYW5kbGVBZGRUb0NhcnRDbGljayhhcnRpY2xlVmlld01vZGVsLmFydGljbGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmZpZ3VyZUJ1dHRvbkNsaWNrKT1cImhhbmRsZUNvbnRlbnRDbGljayhhcnRpY2xlVmlld01vZGVsLmFydGljbGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHRocmVlREJ1dHRvbkNsaWNrKT1cImhhbmRsZVRocmVlREJ1dHRvbkNsaWNrKGFydGljbGVWaWV3TW9kZWwuYXJ0aWNsZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2NvLWFydGljbGUtdGlsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2NvLXNjcm9sbC1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RSZWxhdGVkQ29tcG9uZW50IHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlZlR5cGU6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBleHRlcm5hbFNvdXJjZTogRXh0ZXJuYWxTb3VyY2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpc1NtYWxsTW9kdXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3JlYXRlRnJvemVuQXJ0aWNsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgYXJ0aWNsZXModmFsdWU6IEFydGljbGVMaXN0T2JqZWN0W10pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMucmVmVHlwZSAmJiB0aGlzLnJlZlR5cGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKCh4OiBBcnRpY2xlTGlzdE9iamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5yZWZUeXBlID09PSB0aGlzLnJlZlR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FydGljbGVzLnB1c2goeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FydGljbGVzID0gdmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5hcnRpY2xlVmlld01vZGVscy5sZW5ndGggPSAwO1xyXG4gICAgICAgICAgICB0aGlzLl9hcnRpY2xlcy5mb3JFYWNoKGEgPT4gdGhpcy5hcnRpY2xlVmlld01vZGVscy5wdXNoKG5ldyBBcnRpY2xlVmlld01vZGVsKGEpKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRJbWFnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBhcnRpY2xlcygpOiBBcnRpY2xlTGlzdE9iamVjdFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXJ0aWNsZXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFydGljbGVWaWV3TW9kZWxzOiBBcnRpY2xlVmlld01vZGVsW10gPSBbXTtcclxuICAgIHByaXZhdGUgX2FydGljbGVzOiBBcnRpY2xlTGlzdE9iamVjdFtdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfaU9uZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZTogUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNvbnRlbnRDbGljayhhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFsdGVybmF0aXZlQ2xpY2submV4dChhcnRpY2xlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkVG9DYXJ0Q2xpY2soYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCBxdWFudGl0eTogbnVtYmVyID0gMTtcclxuICAgICAgICBjb25zdCBhcnRpY2xlRnVsbDogQXJ0aWNsZUZ1bGxPYmplY3QgPSBhd2FpdCB0aGlzLl9wcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UuZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoYXJ0aWNsZS5nb29kSWQsIHRydWUpO1xyXG4gICAgICAgIGlmIChhcnRpY2xlRnVsbCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jcmVhdGVGcm96ZW5BcnRpY2xlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkID0gdGhpcy5faU9uZS5jb252ZXJ0QXJ0aWNsZUZ1bGxPYmplY3RUb0FydGljbGVFeHRlbmRlZChhcnRpY2xlRnVsbCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7YXJ0aWNsZTogYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSk7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7IGFydGljbGU6IGF3YWl0IHRoaXMuX2dldEpTT05Gcm9tQXJ0aWNsZU9iamVjdCh7YXJ0aWNsZTogYXJ0aWNsZUZ1bGwsIHF1YW50aXR5OiBxdWFudGl0eX0pLCBxdWFudGl0eTogcXVhbnRpdHkgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkID0gdGhpcy5faU9uZS5jb252ZXJ0QXJ0aWNsZUZ1bGxPYmplY3RUb0FydGljbGVFeHRlbmRlZChhcnRpY2xlRnVsbCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7YXJ0aWNsZTogYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNvbmZpZ3VyZUJ1dHRvbkNsaWNrKGFydGljbGU6IEFydGljbGVMaXN0T2JqZWN0KTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVUaHJlZURCdXR0b25DbGljayhhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdCk6IHZvaWQge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9nZXRKU09ORnJvbUFydGljbGVPYmplY3QoYXJ0aWNsZTogQXJ0aWNsZVF1YW50aXR5KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBjb25zdCBjb25maWd1cmF0b3JTdGF0aXN0aWNzID0gbmV3IENvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudCgpO1xyXG4gICAgICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MudXNlclR5cGUgPSAnaU9uZVByb2R1Y3RQYWdlJztcclxuICAgICAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLnRyYW5zYWN0aW9uVHlwZSA9ICdTYWxlcyc7XHJcbiAgICAgICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy5hY3Rpb25Eb21haW4gPSAnYnVuZGxlJztcclxuICAgICAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLnNlc3Npb25JZCA9IHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZXNzaW9uID8gdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlc3Npb24uc2Vzc2lvbklkIDogJ3Vua25vd24nO1xyXG4gICAgICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3Mud2ViSG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MuYnVuZGxlSG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLl9pT25lLmdldEpzb25BcnRpY2xlRmxhdFRyZWUoXHJcbiAgICAgICAgICAgIGFydGljbGUuYXJ0aWNsZS5nb29kSWQsIGFydGljbGUuYXJ0aWNsZS5nb29kVHlwZSwgYXJ0aWNsZS5xdWFudGl0eSwgISF0aGlzLmV4dGVybmFsU291cmNlLCB0cnVlLCBjb25maWd1cmF0b3JTdGF0aXN0aWNzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9sb2FkSW1hZ2VzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZVZpZXdNb2RlbHMuZm9yRWFjaChhdm0gPT4ge1xyXG4gICAgICAgICAgICBpZiAoYXZtLmFydGljbGUuaW1hZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2lPbmUuZ2V0SW1hZ2VGb3JDb0RvY3VtZW50KGF2bS5hcnRpY2xlLmltYWdlLCBmYWxzZSkudGhlbihpbWFnZUNvbnRlbnQgPT4gYXZtLmltYWdlRGF0YSA9IGltYWdlQ29udGVudC5pbWFnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXJlbGF0ZWQvcHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFL0YsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDdkgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFNOUUsTUFBTSxPQUFPLGdCQUFnQjtJQUd6QixZQUFZLE9BQTBCLEVBQUUsU0FBa0I7UUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxTQUFTLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUM5QjtJQUNMLENBQUM7Q0FDSjtBQTRCRCxNQUFNLE9BQU8sdUJBQXVCO0lBNENoQyxZQUNZLEtBQThCLEVBQzlCLGdCQUFxQyxFQUNyQywrQkFBK0QsRUFDL0QsZ0JBQXdDO1FBSHhDLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7UUFDckMsb0NBQStCLEdBQS9CLCtCQUErQixDQUFnQztRQUMvRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBcEM3QyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUc3Qix3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUEwQnBDLHNCQUFpQixHQUF1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QXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQiw4QkFBOEI7WUFHOUIsc0JBQXNCOzs7c0JBNkN6QixLQUFLO29CQUdMLEtBQUs7NkJBR0wsS0FBSzsyQkFHTCxLQUFLO2tDQUdMLEtBQUs7dUJBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QnO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RFdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcnRpY2xlUXVhbnRpdHl9IGZyb20gJy4uLy4uL21vZGVsL2FydGljbGUtcXVhbnRpdHkubW9kZWwnO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvY29uZmlndXJhdG9yLXN0YXRpc3RpY3MtZW52aXJvbm1lbnQnO1xyXG5pbXBvcnQge1Byb2R1Y3RTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1zZXR0aW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcnRpY2xlRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mdWxsLW9iamVjdCc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdC1leHRlbmRlZC5ibyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2V9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS5ibyc7XHJcbmltcG9ydCB7SW1hZ2VDb250ZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9pbWFnZS1jb250ZW50LmJvJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBcnRpY2xlVmlld01vZGVsIHtcclxuICAgIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdDtcclxuICAgIHB1YmxpYyBpbWFnZURhdGE6IHN0cmluZztcclxuICAgIGNvbnN0cnVjdG9yKGFydGljbGU6IEFydGljbGVMaXN0T2JqZWN0LCBpbWFnZURhdGE/OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmFydGljbGUgPSBhcnRpY2xlO1xyXG4gICAgICAgIGlmIChpbWFnZURhdGEpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZURhdGEgPSBpbWFnZURhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtcmVsYXRlZCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhcnRpY2xlcyAmJiBhcnRpY2xlcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxhcHAtaGVhZGVyIFtsYWJlbF09XCJsYWJlbFwiIFthbW91bnRdPVwiYXJ0aWNsZXM/Lmxlbmd0aFwiICpuZ0lmPVwibGFiZWxcIj48L2FwcC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxjby1zY3JvbGwtY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFydGljbGUtd3JhcHBlclwiICpuZ0Zvcj1cImxldCBhcnRpY2xlVmlld01vZGVsIG9mIGFydGljbGVWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWFydGljbGUtdGlsZSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlRGF0YV09XCJhcnRpY2xlVmlld01vZGVsLmltYWdlRGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJhcnRpY2xlVmlld01vZGVsLmFydGljbGUuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcHJpY2VdPVwiYXJ0aWNsZVZpZXdNb2RlbC5hcnRpY2xlLnByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xldmVsXT1cImFydGljbGVWaWV3TW9kZWwuYXJ0aWNsZS5zdG9ja1N0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDYXJ0QnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNTbWFsbE1vZHVzXT1cImlzU21hbGxNb2R1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb25maWd1cmVCdXR0b25dPVwiYXJ0aWNsZVZpZXdNb2RlbC5hcnRpY2xlLmdvb2RUeXBlID09PSAnQidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29udGVudENsaWNrKT1cImhhbmRsZUNvbnRlbnRDbGljayhhcnRpY2xlVmlld01vZGVsLmFydGljbGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNhcnRCdXR0b25DbGljayk9XCJoYW5kbGVBZGRUb0NhcnRDbGljayhhcnRpY2xlVmlld01vZGVsLmFydGljbGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmZpZ3VyZUJ1dHRvbkNsaWNrKT1cImhhbmRsZUNvbnRlbnRDbGljayhhcnRpY2xlVmlld01vZGVsLmFydGljbGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHRocmVlREJ1dHRvbkNsaWNrKT1cImhhbmRsZVRocmVlREJ1dHRvbkNsaWNrKGFydGljbGVWaWV3TW9kZWwuYXJ0aWNsZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2NvLWFydGljbGUtdGlsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2NvLXNjcm9sbC1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RSZWxhdGVkQ29tcG9uZW50IHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlZlR5cGU6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBleHRlcm5hbFNvdXJjZTogRXh0ZXJuYWxTb3VyY2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpc1NtYWxsTW9kdXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3JlYXRlRnJvemVuQXJ0aWNsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgYXJ0aWNsZXModmFsdWU6IEFydGljbGVMaXN0T2JqZWN0W10pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMucmVmVHlwZSAmJiB0aGlzLnJlZlR5cGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKCh4OiBBcnRpY2xlTGlzdE9iamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5yZWZUeXBlID09PSB0aGlzLnJlZlR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FydGljbGVzLnB1c2goeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FydGljbGVzID0gdmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5hcnRpY2xlVmlld01vZGVscy5sZW5ndGggPSAwO1xyXG4gICAgICAgICAgICB0aGlzLl9hcnRpY2xlcy5mb3JFYWNoKGEgPT4gdGhpcy5hcnRpY2xlVmlld01vZGVscy5wdXNoKG5ldyBBcnRpY2xlVmlld01vZGVsKGEpKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRJbWFnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBhcnRpY2xlcygpOiBBcnRpY2xlTGlzdE9iamVjdFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXJ0aWNsZXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFydGljbGVWaWV3TW9kZWxzOiBBcnRpY2xlVmlld01vZGVsW10gPSBbXTtcclxuICAgIHByaXZhdGUgX2FydGljbGVzOiBBcnRpY2xlTGlzdE9iamVjdFtdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfaU9uZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZTogUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNvbnRlbnRDbGljayhhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFsdGVybmF0aXZlQ2xpY2submV4dChhcnRpY2xlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkVG9DYXJ0Q2xpY2soYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCBxdWFudGl0eTogbnVtYmVyID0gMTtcclxuICAgICAgICBjb25zdCBhcnRpY2xlRnVsbDogQXJ0aWNsZUZ1bGxPYmplY3QgPSBhd2FpdCB0aGlzLl9wcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UuZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoYXJ0aWNsZS5nb29kSWQsIHRydWUpO1xyXG4gICAgICAgIGlmIChhcnRpY2xlRnVsbCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jcmVhdGVGcm96ZW5BcnRpY2xlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkID0gdGhpcy5faU9uZS5jb252ZXJ0QXJ0aWNsZUZ1bGxPYmplY3RUb0FydGljbGVFeHRlbmRlZChhcnRpY2xlRnVsbCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7YXJ0aWNsZTogYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSk7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7IGFydGljbGU6IGF3YWl0IHRoaXMuX2dldEpTT05Gcm9tQXJ0aWNsZU9iamVjdCh7YXJ0aWNsZTogYXJ0aWNsZUZ1bGwsIHF1YW50aXR5OiBxdWFudGl0eX0pLCBxdWFudGl0eTogcXVhbnRpdHkgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkID0gdGhpcy5faU9uZS5jb252ZXJ0QXJ0aWNsZUZ1bGxPYmplY3RUb0FydGljbGVFeHRlbmRlZChhcnRpY2xlRnVsbCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7YXJ0aWNsZTogYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNvbmZpZ3VyZUJ1dHRvbkNsaWNrKGFydGljbGU6IEFydGljbGVMaXN0T2JqZWN0KTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVUaHJlZURCdXR0b25DbGljayhhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdCk6IHZvaWQge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9nZXRKU09ORnJvbUFydGljbGVPYmplY3QoYXJ0aWNsZTogQXJ0aWNsZVF1YW50aXR5KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBjb25zdCBjb25maWd1cmF0b3JTdGF0aXN0aWNzID0gbmV3IENvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudCgpO1xyXG4gICAgICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MudXNlclR5cGUgPSAnaU9uZVByb2R1Y3RQYWdlJztcclxuICAgICAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLnRyYW5zYWN0aW9uVHlwZSA9ICdTYWxlcyc7XHJcbiAgICAgICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy5hY3Rpb25Eb21haW4gPSAnYnVuZGxlJztcclxuICAgICAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLnNlc3Npb25JZCA9IHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZXNzaW9uID8gdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlc3Npb24uc2Vzc2lvbklkIDogJ3Vua25vd24nO1xyXG4gICAgICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3Mud2ViSG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MuYnVuZGxlSG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLl9pT25lLmdldEpzb25BcnRpY2xlRmxhdFRyZWUoXHJcbiAgICAgICAgICAgIGFydGljbGUuYXJ0aWNsZS5nb29kSWQsIGFydGljbGUuYXJ0aWNsZS5nb29kVHlwZSwgYXJ0aWNsZS5xdWFudGl0eSwgISF0aGlzLmV4dGVybmFsU291cmNlLCB0cnVlLCBjb25maWd1cmF0b3JTdGF0aXN0aWNzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9sb2FkSW1hZ2VzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZVZpZXdNb2RlbHMuZm9yRWFjaChhdm0gPT4ge1xyXG4gICAgICAgICAgICBpZiAoYXZtLmFydGljbGUuaW1hZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2lPbmUuZ2V0SW1hZ2VGb3JDb0RvY3VtZW50KGF2bS5hcnRpY2xlLmltYWdlLCBmYWxzZSkudGhlbihcclxuICAgICAgICAgICAgICAgICAgaW1hZ2VDb250ZW50ID0+IHRoaXMuX2hhbmRsZUltYWdlRGF0YShhdm0sIGltYWdlQ29udGVudCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9oYW5kbGVJbWFnZURhdGEoYXZtOiBBcnRpY2xlVmlld01vZGVsLCBpbWFnZUNvbnRlbnQ6IEltYWdlQ29udGVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChpbWFnZUNvbnRlbnQgJiYgaW1hZ2VDb250ZW50LmltYWdlKSB7XHJcbiAgICAgICAgICAgIGF2bS5pbWFnZURhdGEgPSBpbWFnZUNvbnRlbnQuaW1hZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -3,8 +3,8 @@ export class Version {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
this.name = "@colijnit/product";
|
|
5
5
|
this.description = "Product detail page project for iOne";
|
|
6
|
-
this.symVer = "260.1.
|
|
7
|
-
this.publishDate = "
|
|
6
|
+
this.symVer = "260.1.3";
|
|
7
|
+
this.publishDate = "24-3-2026 16:21:40";
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9wcm9kdWN0LXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBQ1MsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBQzNCLGdCQUFXLEdBQUcsc0NBQXNDLENBQUM7UUFDckQsV0FBTSxHQUFHLFNBQVMsQ0FBQztRQUNuQixnQkFBVyxHQUFHLG9CQUFvQixDQUFDO0lBQzVDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMgZmlsZSBpcyBkeW5hbWljYWxseSBjcmVhdGVkLCBkbyBub3QgY2hhbmdlIHRoaXNcbmV4cG9ydCBjbGFzcyBWZXJzaW9uIHtcbiAgcHVibGljIG5hbWUgPSBcIkBjb2xpam5pdC9wcm9kdWN0XCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiUHJvZHVjdCBkZXRhaWwgcGFnZSBwcm9qZWN0IGZvciBpT25lXCI7XG4gIHB1YmxpYyBzeW1WZXIgPSBcIjI2MC4xLjNcIjtcbiAgcHVibGljIHB1Ymxpc2hEYXRlID0gXCIyNC0zLTIwMjYgMTY6MjE6NDBcIjtcbn0iXX0=
|