@loxia/mst-viewer 8.1.3-202511141049 → 8.1.3-202511141109
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/ritdelen-lijst/ritdelen-lijst.component.mjs +1 -5
- package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +2 -3
- package/esm2022/lib/state/actions/actions.mjs +2 -4
- package/esm2022/lib/state/mst-editor-state.mjs +1 -3
- package/fesm2022/loxia-mst-viewer.mjs +1 -9
- package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
- package/lib/state/actions/actions.d.ts +1 -6
- package/lib/state/mst-editor-state.d.ts +0 -2
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { JsJavaUtil } from '@loxia/rijwegen';
|
|
3
3
|
import { combineLatest } from 'rxjs';
|
|
4
|
-
import { filter } from 'rxjs/operators';
|
|
5
4
|
import { OngeplandeActie } from '../../model/ongeplande-actie';
|
|
6
5
|
import * as MstActions from '../../state/actions/actions';
|
|
7
6
|
import * as RitdelenActions from '../../state/actions/ritdelen.actions';
|
|
@@ -35,9 +34,6 @@ export class RitdelenLijstComponent {
|
|
|
35
34
|
this.subscriptions.push(store.select('ongeplandeActies').subscribe(acties => this.ongeplandeActiesMap = acties));
|
|
36
35
|
this.subscriptions.push(store.select('geplandeActies').subscribe(acties => this.geplandeActies = acties));
|
|
37
36
|
this.subscriptions.push(store.select('editable').subscribe(editable => this.editable = editable));
|
|
38
|
-
// listen to changes from svg-viewer-component, saving ritdeel in store isn't cool because of all the gwt in it. This is
|
|
39
|
-
// just to make changes within the angular lifecycle.
|
|
40
|
-
this.subscriptions.push(store.select('selectedRitdeelId').pipe(filter(id => !id)).subscribe(this.deselectRitdeel));
|
|
41
37
|
this.subscriptions.push(combineLatest([
|
|
42
38
|
this.store.select('ritDelen'),
|
|
43
39
|
this.store.select('ongeplandeActies')
|
|
@@ -274,4 +270,4 @@ class RitdeelViewModel {
|
|
|
274
270
|
this.treinNummer = treinNummer;
|
|
275
271
|
}
|
|
276
272
|
}
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQVMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSTdELE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxLQUFLLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7OztBQVFuRCxNQUFNLE9BQU8sc0JBQXNCO0lBa0IvQixZQUE2QixLQUE0QixFQUFtQixVQUEyQztRQUExRixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUFtQixlQUFVLEdBQVYsVUFBVSxDQUFpQztRQWpCOUcsdUJBQWtCLEdBQVksRUFBRSxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztR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R0FBTCxLQUFLLENBQVE7UUFDYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFFaEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2RvbWVpbiwgSnNKYXZhVXRpbH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7U3RvcmV9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09uZ2VwbGFuZGVBY3RpZX0gZnJvbSAnLi4vLi4vbW9kZWwvb25nZXBsYW5kZS1hY3RpZSc7XG5pbXBvcnQge1JpdGRlZWx9IGZyb20gJy4uLy4uL21vZGVsL3JpdGRlZWwnO1xuaW1wb3J0IHtBY3RpZX0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7U2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2lnbmFsZXJpbmdzLWJlZWxkLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBNc3RBY3Rpb25zIGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBSaXRkZWxlbkFjdGlvbnMgZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9yaXRkZWxlbi5hY3Rpb25zJztcbmltcG9ydCB7TXN0RWRpdG9yU3RhdGV9IGZyb20gJy4uLy4uL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuaW1wb3J0IHtBY3RpZUhlbHBlcn0gZnJvbSAnLi4vLi4vdXRpbC9hY3RpZS1oZWxwZXInO1xuaW1wb3J0IHtBcnJheU11bHRpbWFwfSBmcm9tICcuLi8uLi91dGlsL211bHRpLW1hcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncml0ZGVsZW4tbGlqc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yaXRkZWxlbi1saWpzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHRcbn0pXG5leHBvcnQgY2xhc3MgUml0ZGVsZW5MaWpzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgbmlldEdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdID0gW107XG5cbiAgICBAT3V0cHV0KCkgZm9jdXNFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxSaXRkZWVsPigpO1xuICAgIEBPdXRwdXQoKSBrZXVyQWxsZUFjdGllc0dvZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICByaXRkZWVsVmlld01vZGVsczogUml0ZGVlbFZpZXdNb2RlbFtdID0gW107XG4gICAgc2VsZWN0ZWRSaXRkZWVsOiBSaXRkZWVsIHwgdW5kZWZpbmVkO1xuICAgIHNlbGVjdGVkUml0ZGVlbEFjdGllczogQWN0aWVbXSA9IFtdO1xuICAgIHNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXM6IE9uZ2VwbGFuZGVBY3RpZVtdID0gW107XG4gICAgZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWwgPSB0cnVlO1xuICAgIGVkaXRhYmxlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIG9uZ2VwbGFuZGVBY3RpZXNNYXA6IEFycmF5TXVsdGltYXA8c3RyaW5nLCBPbmdlcGxhbmRlQWN0aWU+ID0gbmV3IEFycmF5TXVsdGltYXAoKTtcbiAgICBwcml2YXRlIGdlcGxhbmRlQWN0aWVzOiBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+ID0gbmV3IEFycmF5TXVsdGltYXAoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IE5HX0FDVElFX1BSRUZJWCA9ICcqICc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8TXN0RWRpdG9yU3RhdGU+LCBwcml2YXRlIHJlYWRvbmx5IHNibVNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnN1YnNjcmliZSgocml0ZGVsZW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMucml0ZGVlbFZpZXdNb2RlbHMgPSByaXRkZWxlbj8ubWFwKHJpdGRlZWwgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUml0ZGVlbFZpZXdNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVlbCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxDbGFzcyhyaXRkZWVsKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JpdGRlZWxaaWNodGJhYXIocml0ZGVlbCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VGl0bGUocml0ZGVlbCksXG4gICAgICAgICAgICAgICAgICAgIHJpdGRlZWwuaXNOaWV0QmVzY2hpa2JhYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JpdGRlZWxOaWV1dyhyaXRkZWVsKSxcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVlbC5nZXRWYW5QcmxTcG9vcigpLFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmdldE5hYXJQcmxTcG9vclRleHQoKSxcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVlbC5nZXREd2FuZ051bW1lcigpLFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmdldFBwbGdTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRUcmVpbk51bW1lcihyaXRkZWVsKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN0b3JlLnNlbGVjdCgnb25nZXBsYW5kZUFjdGllcycpLnN1YnNjcmliZShhY3RpZXMgPT4gdGhpcy5vbmdlcGxhbmRlQWN0aWVzTWFwID0gYWN0aWVzKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN0b3JlLnNlbGVjdCgnZ2VwbGFuZGVBY3RpZXMnKS5zdWJzY3JpYmUoYWN0aWVzID0+IHRoaXMuZ2VwbGFuZGVBY3RpZXMgPSBhY3RpZXMpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdlZGl0YWJsZScpLnN1YnNjcmliZShlZGl0YWJsZSA9PiB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGUpKTtcblxuICAgICAgICAvLyBsaXN0ZW4gdG8gY2hhbmdlcyBmcm9tIHN2Zy12aWV3ZXItY29tcG9uZW50LCBzYXZpbmcgcml0ZGVlbCBpbiBzdG9yZSBpc24ndCBjb29sIGJlY2F1c2Ugb2YgYWxsIHRoZSBnd3QgaW4gaXQuIFRoaXMgaXNcbiAgICAgICAgLy8ganVzdCB0byBtYWtlIGNoYW5nZXMgd2l0aGluIHRoZSBhbmd1bGFyIGxpZmVjeWNsZS5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdzZWxlY3RlZFJpdGRlZWxJZCcpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoaWQgPT4gIWlkKSkuc3Vic2NyaWJlKHRoaXMuZGVzZWxlY3RSaXRkZWVsXG4gICAgICAgICkpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlT25nZXBsYW5kZUFjdGllc0xpc3QoKSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgaXNSaXRkZWVsWmljaHRiYWFyKHJpdGRlZWw6IFJpdGRlZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuaXNaaWNodGJhYXIoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVSaXRkZWVsWmljaHRiYWFyaGVpZChyaXRkZWVsOiBSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUml0ZGVsZW5BY3Rpb25zLnRvZ2dsZVJpdGRlZWxaaWNodGJhYXIocml0ZGVlbCkpO1xuICAgIH1cblxuICAgIHRvZ2dsZVppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4oY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc2VsZWN0Uml0ZGVlbCgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy5zZXRaaWNodGJhYXJoZWlkQWxsZVJpdGRlbGVuKGNoZWNrZWQpKTtcbiAgICB9XG5cbiAgICBpc1JpdGRlZWxOaWV1dyhyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuaXNOaWV1dygpID8gJysnIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0VGl0bGUocml0ZGVlbDogUml0ZGVlbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiByaXRkZWVsLmdldEJld2VnaW5nSWQoKTtcbiAgICB9XG5cbiAgICBnZXRUcmVpbk51bW1lcihyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuZ2V0VHJlaW5OdW1tZXIoKTtcbiAgICB9XG5cbiAgICBkZWxldGVSaXRkZWVsKHJpdGRlZWw6IFJpdGRlZWwpOiB2b2lkIHtcbiAgICAgICAgcml0ZGVlbC5hY3RpZXMuZm9yRWFjaChhY3RpZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZlcmh1aXNBY3RpZU5hYXJPbmdlcGxhbmQoYWN0aWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kZXNlbGVjdFJpdGRlZWwoKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuZGVsZXRlUml0ZGVlbChyaXRkZWVsKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWN0aWVzVWl0Uml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbD8uYWN0aWVzLnNsaWNlKCkuZm9yRWFjaChhY3RpZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUFjdGllVWl0Uml0KGFjdGllKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWN0aWVVaXRSaXQoYWN0aWU6IEFjdGllKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJpdGRlZWwpIHJldHVybjtcblxuICAgICAgICBjb25zdCBhY3RpZXMgPSB0aGlzLnNlbGVjdGVkUml0ZGVlbC5hY3RpZXMgPz8gW107XG4gICAgICAgIGNvbnN0IGlkeCA9IGFjdGllcy5pbmRleE9mKGFjdGllKTtcbiAgICAgICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnZlcmh1aXNBY3RpZU5hYXJPbmdlcGxhbmQoYWN0aWUpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuZGVsZXRlUml0ZGVlbEFjdGllKHRoaXMuc2VsZWN0ZWRSaXRkZWVsLCBhY3RpZXNbaWR4XSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMuaW5kZXhPZihhY3RpZSk7XG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAgIHRoaXMubmlldEdlcGxhbmRlQWN0aWVzLnB1c2goYWN0aWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJodWlzQWN0aWVOYWFyT25nZXBsYW5kKGFjdGllOiBBY3RpZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwdWljcyA9IHRoaXMuZ2VwbGFuZGVBY3RpZXMuZ2V0KGFjdGllKTtcblxuICAgICAgICBpZiAocHVpY3MgJiYgcHVpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLkFkZE9uZ2VwbGFuZGVBY3RpZShuZXcgT25nZXBsYW5kZUFjdGllKGFjdGllLCBwdWljcykpKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5EZWxldGVHZXBsYW5kZUFjdGllKGFjdGllLCBwdWljcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdm9lZ0FjdGllc1RvZUFhblJpdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aWVzID0gdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzO1xuICAgICAgICBhY3RpZXMuc2xpY2UoKS5mb3JFYWNoKGFjdGllID0+IHtcbiAgICAgICAgICAgIHRoaXMudm9lZ0FjdGllVG9lQWFuUml0KGFjdGllKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdm9lZ0FjdGllVG9lQWFuUml0KG9uZ2VwbGFuZGVBY3RpZTogT25nZXBsYW5kZUFjdGllKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcy5pbmRleE9mKG9uZ2VwbGFuZGVBY3RpZSk7XG4gICAgICAgIGlmIChpZHggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuYWRkUml0ZGVlbEFjdGllKHRoaXMuc2VsZWN0ZWRSaXRkZWVsLCB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXNbaWR4XS5hY3RpZSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLkFkZEdlcGxhbmRlQWN0aWUob25nZXBsYW5kZUFjdGllLmFjdGllLCBvbmdlcGxhbmRlQWN0aWUucHVpY3MpKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5EZWxldGVPbmdlcGxhbmRlQWN0aWUob25nZXBsYW5kZUFjdGllKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVPbmdlcGxhbmRlQWN0aWVzTGlzdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSaXRkZWVsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IHJpdFB1aWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgY29uc3Qgcml0ZGVlbFRvcG9FbGVtZW50cyA9IEFjdGllSGVscGVyLmdldEFjdGllVG9wb0VsZW1lbnRzKHRoaXMuc2VsZWN0ZWRSaXRkZWVsLCB0aGlzLnNibVNlcnZpY2UpO1xuICAgICAgICAgICAgY29uc3Qgd2lzc2VsT2JqZWN0ZW46IGRvbWVpbi5XaXNzZWxbXSA9IEpzSmF2YVV0aWwubGlzdFRvQXJyYXkodGhpcy5zZWxlY3RlZFJpdGRlZWwuZ2V0Um91dGUoKS5nZXRXaXNzZWxPYmplY3RlbkluRGVSb3V0ZSgpKTtcblxuICAgICAgICAgICAgcml0ZGVlbFRvcG9FbGVtZW50cy5mb3JFYWNoKGVsZW0gPT4gcml0UHVpY3MucHVzaChlbGVtLmdldFB1aWMoKSkpO1xuICAgICAgICAgICAgY29uc3Qgb25nZXBsYW5kZUFjdGllc0FycmF5ID0gdGhpcy5vbmdlcGxhbmRlQWN0aWVzTWFwLnZhbHVlcygpO1xuICAgICAgICAgICAgb25nZXBsYW5kZUFjdGllc0FycmF5LmZvckVhY2gob2EgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGllcyA9IHRoaXMucml0ZGVlbFZpZXdNb2RlbHMuZmxhdE1hcChyZCA9PiByZC5yaXRkZWVsLmFjdGllcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxyZWFkeUFkZGVkID0gYWN0aWVzLmZpbHRlcihhID0+IGEuaWQgPT09IG9hLmFjdGllLmlkKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgIGlmICghYWxyZWFkeUFkZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBvYU1hdGNoO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQWN0aWVIZWxwZXIuaXNWU1RBY3RpZShvYS5hY3RpZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9hTWF0Y2ggPSB0aGlzLm1hdGNoZWRXaXNzZWxNZXRLYW50Q29kZUluVlNUQWN0aWUob2EsIHdpc3NlbE9iamVjdGVuKSA/IG9hIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG9hLnB1aWNzLmZpbHRlcihwID0+IHJpdFB1aWNzLmluY2x1ZGVzKHApIHx8IHRoaXMuYmV2YXRXaXNzZWxQdWljKHJpdFB1aWNzLCBwKSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2FNYXRjaCA9IG9hO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWxyZWFkeUFkZGVkQXNPbmdlcGxhbmQgPSB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMuZmlsdGVyKGEgPT4gYS5hY3RpZS5pZCA9PT0gb2EuYWN0aWUuaWQpLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvYU1hdGNoICYmICFhbHJlYWR5QWRkZWRBc09uZ2VwbGFuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzLnB1c2gob2FNYXRjaCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1hdGNoZWRXaXNzZWxNZXRLYW50Q29kZUluVlNUQWN0aWUob25nZXBsYW5kZUFjdGllOiBPbmdlcGxhbmRlQWN0aWUsIHdpc3NlbHM6IGRvbWVpbi5XaXNzZWxbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwcGxnID0gb25nZXBsYW5kZUFjdGllLmFjdGllLnBwbGdOYWFtO1xuICAgICAgICBjb25zdCB3aXNzZWxLYW50Q29kZXMgPSBBY3RpZUhlbHBlci5nZXRXaXNzZWxLYW50Q29kZXMob25nZXBsYW5kZUFjdGllLmFjdGllKTtcblxuICAgICAgICBsZXQgZ2V2b25kZW5XaXNzZWxzID0gMDtcbiAgICAgICAgbGV0IGdldm9uZGVuV2lzc2VsS2FudENvZGVzID0gMDtcblxuICAgICAgICB3aXNzZWxLYW50Q29kZXMuZm9yRWFjaCgod2lzc2VsS2FudENvZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGdldm9uZGVuV2lzc2VsID0gdGhpcy5maW5kV2lzc2VsT3BOYWFtRW5QcGxnKHdpc3NlbHMsIHdpc3NlbEthbnRDb2RlLm5hYW0sIHBwbGcpO1xuXG4gICAgICAgICAgICBpZiAoZ2V2b25kZW5XaXNzZWwpIHtcbiAgICAgICAgICAgICAgICBnZXZvbmRlbldpc3NlbHMrKztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5nZXRLYW50Q29kZShnZXZvbmRlbldpc3NlbC5nZXRTdGFuZCgpKSA9PT0gd2lzc2VsS2FudENvZGUua2FudENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V2b25kZW5XaXNzZWxLYW50Q29kZXMrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBnZXZvbmRlbldpc3NlbHMgPiAwICYmIGdldm9uZGVuV2lzc2VscyA9PT0gZ2V2b25kZW5XaXNzZWxLYW50Q29kZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kV2lzc2VsT3BOYWFtRW5QcGxnKHdpc3NlbHM6IGRvbWVpbi5XaXNzZWxbXSwgd2lzc2VsTmFhbTogc3RyaW5nLCBwcGxnTmFhbTogc3RyaW5nKTogZG9tZWluLldpc3NlbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB3aXNzZWxzLmZpbmQod28gPT4gd28uZ2V0TmFtZSgpID09PSB3aXNzZWxOYWFtICYmIHdvLmdldFBQTEcoKSA9PT0gcHBsZ05hYW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmV2YXRXaXNzZWxQdWljKHJpdFB1aWNzOiBzdHJpbmdbXSwgcDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiByaXRQdWljcy5pbmNsdWRlcyh0aGlzLnNibVNlcnZpY2UuZ2V0V2lzc2VsTWV0U3RvcmluZ3NrYWRlclB1aWMocCk/LmdldFB1aWMoKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRSaXRkZWVsQ2xhc3Mocml0ZGVlbDogUml0ZGVlbCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChyaXRkZWVsLmdldFppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUoKSkge1xuICAgICAgICAgICAgaWYgKHJpdGRlZWwuZXF1YWxzKHRoaXMuc2VsZWN0ZWRSaXRkZWVsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnc2VsZWN0ZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICd2aXNpYmxlLW91dHNpZGUtd2luZG93JztcbiAgICAgICAgfVxuICAgICAgICBpZiAocml0ZGVlbC5pc05pZXRCZXNjaGlrYmFhcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2Rpc2FibGVkJztcbiAgICAgICAgfVxuICAgICAgICBpZiAocml0ZGVlbC5lcXVhbHModGhpcy5zZWxlY3RlZFJpdGRlZWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3NlbGVjdGVkJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgc2VsZWN0Uml0ZGVlbChldmVudDogTW91c2VFdmVudCwgcml0ZGVlbDogUml0ZGVlbCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQ/LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNFbWl0dGVyLmVtaXQocml0ZGVlbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAocml0ZGVlbD8uZXF1YWxzKHRoaXMuc2VsZWN0ZWRSaXRkZWVsKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbCA9IHJpdGRlZWw7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsID0gIXRoaXMuc2VsZWN0ZWRSaXRkZWVsLmlzWmljaHRiYWFyKCk7XG5cbiAgICAgICAgICAgIGlmIChyaXRkZWVsLmFjdGllcykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsQWN0aWVzID0gcml0ZGVlbC5hY3RpZXM7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPbmdlcGxhbmRlQWN0aWVzTGlzdCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbEFjdGllcyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWN0aWVPbXNjaHJpanZpbmdUZWtzdChhY3RpZTogQWN0aWUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLmJlcGFhbFByZWZpeFZvb3JBY3RpZU9tc2NocmlqdmluZyhhY3RpZSk7XG4gICAgICAgIGlmIChBY3RpZUhlbHBlci5pc1ZTVEFjdGllKGFjdGllKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFha1ZzdEFjdGllT21zY2hyaWp2aW5nKGFjdGllLCBwcmVmaXgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmVmaXggKyBhY3RpZS5yaXRBY3RpZVR5cGVPbXNjaHJpanZpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWFrVnN0QWN0aWVPbXNjaHJpanZpbmcoYWN0aWU6IEFjdGllLCBwcmVmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHsgcHJlZml4IH0keyBBY3RpZUhlbHBlci5nZXRWU1RBY3RpZU9tc2NocmlqdmluZyhhY3RpZSkgfWA7XG4gICAgfVxuXG4gICAgYmVwYWFsUHJlZml4Vm9vckFjdGllT21zY2hyaWp2aW5nKGFjdGllOiBBY3RpZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG5vUHJlZml4ID0gJyc7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUml0ZGVlbD8uYWN0aWVzLmluY2x1ZGVzKGFjdGllKSkge1xuICAgICAgICAgICAgLy8gQWZ3aWprZW5kZSBuYWFtIGJpaiBuaWV0IGdldmlzdWFsaXNlZXJkZSBhY3RpZSBpbiByaXRcbiAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5nZXBsYW5kZUFjdGllcy5nZXQoYWN0aWUpO1xuICAgICAgICAgICAgcmV0dXJuIHB1aWNzLmxlbmd0aCA+IDAgPyBub1ByZWZpeCA6IHRoaXMuTkdfQUNUSUVfUFJFRklYO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub1ByZWZpeDtcbiAgICB9XG5cbiAgICBhY3RpZVZhbkttVGVrc3QoYWN0aWU6IEFjdGllKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKEFjdGllSGVscGVyLmlzV2lzc2VsU2xpanBlbkFjdGllKGFjdGllKSkge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGllLndpc3NlbE5hYW07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjdGllLnZhbktpbG9tZXRlcmxpbnQgPyBhY3RpZS52YW5LaWxvbWV0ZXJsaW50ICsgJyAnICsgYWN0aWUudmFuS2lsb21ldHJlcmluZyA6ICctJztcbiAgICB9XG5cbiAgICBhY3RpZVRvdEttVGVrc3QoYWN0aWU6IEFjdGllKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGFjdGllLnRvdEtpbG9tZXRlcmxpbnQgPyBhY3RpZS50b3RLaWxvbWV0ZXJsaW50ICsgJyAnICsgYWN0aWUudG90S2lsb21ldHJlcmluZyA6ICctJztcbiAgICB9XG5cbiAgICBkZXNlbGVjdFJpdGRlZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWwgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWwgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsQWN0aWVzID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcyA9IFtdO1xuICAgIH1cblxuICAgIGdldFBwbGdTdHJpbmcocml0ZGVlbDogUml0ZGVlbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiByaXRkZWVsLmdldFBwbGdTdHJpbmcoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEthbnRDb2RlKHN0YW5kOiBkb21laW4uU3RhbmQpOiBzdHJpbmcge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmIChzdGFuZCA9PT0gd2luZG93Wydkb21laW4nXS5TdGFuZC5MSU5LUykge1xuICAgICAgICAgICAgcmV0dXJuICdMJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ1InO1xuICAgIH1cblxuICAgIHBsYW5BbGxlUml0QWN0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtldXJBbGxlQWN0aWVzR29lZC5lbWl0KCk7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgfVxufVxuXG5jbGFzcyBSaXRkZWVsVmlld01vZGVsIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgcml0ZGVlbDogUml0ZGVlbCxcbiAgICAgICAgcmVhZG9ubHkgc2VsZWN0ZWRSaXRkZWVsQ2xhc3M6IHN0cmluZyxcbiAgICAgICAgcmVhZG9ubHkgaXNaaWNodGJhYXI6IGJvb2xlYW4sXG4gICAgICAgIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IGlzTmlldEJlc2NoaWtiYWFyOiBib29sZWFuLFxuICAgICAgICByZWFkb25seSBpc05pZXV3OiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IHZhblBybFNwb29yOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IG5hYXJQcmxTcG9vcjogc3RyaW5nLFxuICAgICAgICByZWFkb25seSBkd2FuZ051bW1lcjogbnVtYmVyLFxuICAgICAgICByZWFkb25seSBwcGxnU3RyaW5nOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IHRyZWluTnVtbWVyOiBzdHJpbmdcbiAgICApIHtcbiAgICB9XG59XG4iLCI8ZGl2IGlkPVwicml0ZGVsZW4tbGlqc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1oZWFkZXJcIj5cbiAgICAgICAgPGgzIFthdHRyLmRhdGEtdGVzdC1pZF09XCIndGl0bGUtcml0LWRldGFpbHMnXCI+Uml0ZGV0YWlsczwvaDM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVzLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLXBhbmUgdGFibGVGaXhIZWFkXCIgaWQ9XCJ0b3AtcGFuZVwiPlxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbYXR0ci5kYXRhLXRlc3QtaWRdPVwiJ3RhYmxlLXJpdC1kZXRhaWxzJ1wiPlxuICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICNpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3ggY29sLXZpc2liaWxpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlWmljaHRiYWFyaGVpZEFsbGVSaXRkZWxlbihpbnB1dC5jaGVja2VkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLXNlbGVjdGVlckFsbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlNlbGVjdGVlciBhbGxlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIidjaGVja2JveC1hbGxlLWJld2VnaW5nZW4nXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlZhbjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPk5hYXI8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5EVzwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlBQTEcocyk8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5UcmVpbm5yLjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxuXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByaXRkZWVsVmlld01vZGVsIG9mIHJpdGRlZWxWaWV3TW9kZWxzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBzZWxlY3RlZFJpdGRlZWxDbGFzcyhyaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpIH19XCIgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fS16aWNodGJhYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCInY2hlY2tib3gtcicraVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrYm94IGNvbC12aXNpYmlsaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyaXRkZWVsVmlld01vZGVsLmlzWmljaHRiYWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwicml0ZGVlbFZpZXdNb2RlbC50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVSaXRkZWVsWmljaHRiYWFyaGVpZChyaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cInJpdGRlZWxWaWV3TW9kZWwuaXNOaWV0QmVzY2hpa2JhYXJcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LWdld2lqemlnZFwiIChjbGljayk9XCJzZWxlY3RSaXRkZWVsKCRldmVudCwgcml0ZGVlbFZpZXdNb2RlbC5yaXRkZWVsKVwiPnt7cml0ZGVlbFZpZXdNb2RlbC5pc05pZXV3fX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fS12YW5TcG9vclwiIChjbGljayk9XCJzZWxlY3RSaXRkZWVsKCRldmVudCwgcml0ZGVlbFZpZXdNb2RlbC5yaXRkZWVsKVwiPnt7cml0ZGVlbFZpZXdNb2RlbC52YW5QcmxTcG9vcn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tbmFhclNwb29yXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLm5hYXJQcmxTcG9vcn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tZHdhbmdOdW1tZXJcIiAoY2xpY2spPVwic2VsZWN0Uml0ZGVlbCgkZXZlbnQsIHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj57e3JpdGRlZWxWaWV3TW9kZWwuZHdhbmdOdW1tZXJ9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LXBwbGdzXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLnBwbGdTdHJpbmd9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LXRyZWluTnVtbWVyXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLnRyZWluTnVtbWVyfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOnJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtcnt7aX19LWRlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tZGFuZ2VyIGJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSaXRkZWVsKHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj5YXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGllLXBhbmVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFJpdGRlZWwgICYmIChzZWxlY3RlZFJpdGRlZWxBY3RpZXMubGVuZ3RoID4gMCB8fCBzZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzLmxlbmd0aCA+IDApIFwiXG4gICAgICAgICAgICAgICAgIGlkPVwiYWN0aWUtcGFuZVwiPlxuICAgICAgICAgICAgICAgIDxoND5HZXBsYW5kZSBhY3RpZXM8L2g0PlxuICAgICAgICAgICAgICAgIDx0YWJsZSBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+QWN0aWU8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+VmFuPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlRvdDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJzZWxlY3RlZFJpdGRlZWxBY3RpZXMubGVuZ3RoPT09MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImJ1bGtTZXRPbmdlcGxhbmRCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIid1bnBsYW4tYWxsLWFjdGlvbnMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLWRhbmdlciBidG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUFjdGllc1VpdFJpdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQWN0aWVLbm9wcGVuVmFuUml0ZGVlbFwiPlhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBhY3RpZSBvZiBzZWxlY3RlZFJpdGRlZWxBY3RpZXM7IGxldCBpID0gaW5kZXhcIiBpZD1cInJpdGRldGFpbHMtYXt7aX19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLWF7e2l9fS1vbXNjaHJpanZpbmdcIiBjbGFzcz1cIm5vd3JhcFwiPnt7IGFjdGllT21zY2hyaWp2aW5nVGVrc3QoYWN0aWUpIH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtYXt7aX19LXZhbkttTGludFwiPnt7IGFjdGllVmFuS21UZWtzdChhY3RpZSl9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLWF7e2l9fS10b3RLbUxpbnRcIj57eyBhY3RpZVRvdEttVGVrc3QoYWN0aWUpfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtYXt7aX19LWRlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1kYW5nZXIgYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVBY3RpZVVpdFJpdChhY3RpZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsXCI+WFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxoND5PbmdlcGxhbmRlIGFjdGllczwvaDQ+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5BY3RpZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5WYW48L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+VG90PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cInNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMubGVuZ3RoPT09MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImJ1bGtTZXRHZXBsYW5kQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCIncGxhbi1hbGwtYWN0aW9ucydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tc3VjY2VzcyBsb3hpYS1idG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZvZWdBY3RpZXNUb2VBYW5SaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWxcIj5eXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb25nZXBsYW5kZUFjdGllIG9mIHNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLW9he3tpfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS1vbXNjaHJpanZpbmdcIiBjbGFzcz1cIm5vd3JhcFwiPnt7YWN0aWVPbXNjaHJpanZpbmdUZWtzdChvbmdlcGxhbmRlQWN0aWUuYWN0aWUpIH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS12YW5LbUxpbnRcIj57eyBhY3RpZVZhbkttVGVrc3Qob25nZXBsYW5kZUFjdGllLmFjdGllKX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS10b3RLbUxpbnRcIj57eyBhY3RpZVRvdEttVGVrc3Qob25nZXBsYW5kZUFjdGllLmFjdGllKX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246cmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLW9he3tpfX0tZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLXN1Y2Nlc3MgbG94aWEtYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2b2VnQWN0aWVUb2VBYW5SaXQob25nZXBsYW5kZUFjdGllKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWxcIj5eXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrbm9wLXBhbmVcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1wcmltYXJ5IGxveGlhLWJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCIncGxhbi1hbGwtYWN0aW9ucy1mb3ItZmlsZSdcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJUZXh0XT1cIidQbGFuIGFjdGllcyBoZWxlIHJpdCdcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicGxhbkFsbGVSaXRBY3RpZXMoKVwiPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckQsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSS9ELE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxLQUFLLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQVFyRCxNQUFNLE9BQU8sc0JBQXNCO0lBa0IvQixZQUE2QixLQUE0QixFQUFtQixVQUEyQztRQUExRixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUFtQixlQUFVLEdBQVYsVUFBVSxDQUFpQztRQWpCOUcsdUJBQWtCLEdBQVksRUFBRSxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxE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eyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZG9tZWluLCBKc0phdmFVdGlsIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPbmdlcGxhbmRlQWN0aWUgfSBmcm9tICcuLi8uLi9tb2RlbC9vbmdlcGxhbmRlLWFjdGllJztcbmltcG9ydCB7IFJpdGRlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9yaXRkZWVsJztcbmltcG9ydCB7IEFjdGllIH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIE1zdEFjdGlvbnMgZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9hY3Rpb25zJztcbmltcG9ydCAqIGFzIFJpdGRlbGVuQWN0aW9ucyBmcm9tICcuLi8uLi9zdGF0ZS9hY3Rpb25zL3JpdGRlbGVuLmFjdGlvbnMnO1xuaW1wb3J0IHsgTXN0RWRpdG9yU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZS9tc3QtZWRpdG9yLXN0YXRlJztcbmltcG9ydCB7IEFjdGllSGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9hY3RpZS1oZWxwZXInO1xuaW1wb3J0IHsgQXJyYXlNdWx0aW1hcCB9IGZyb20gJy4uLy4uL3V0aWwvbXVsdGktbWFwJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdyaXRkZWxlbi1saWpzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JpdGRlbGVuLWxpanN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yaXRkZWxlbi1saWpzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBSaXRkZWxlbkxpanN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBuaWV0R2VwbGFuZGVBY3RpZXM6IEFjdGllW10gPSBbXTtcblxuICAgIEBPdXRwdXQoKSBmb2N1c0VtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFJpdGRlZWw+KCk7XG4gICAgQE91dHB1dCgpIGtldXJBbGxlQWN0aWVzR29lZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHJpdGRlZWxWaWV3TW9kZWxzOiBSaXRkZWVsVmlld01vZGVsW10gPSBbXTtcbiAgICBzZWxlY3RlZFJpdGRlZWw6IFJpdGRlZWwgfCB1bmRlZmluZWQ7XG4gICAgc2VsZWN0ZWRSaXRkZWVsQWN0aWVzOiBBY3RpZVtdID0gW107XG4gICAgc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllczogT25nZXBsYW5kZUFjdGllW10gPSBbXTtcbiAgICBkaXNhYmxlQWN0aWVLbm9wcGVuVmFuUml0ZGVlbCA9IHRydWU7XG4gICAgZWRpdGFibGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgb25nZXBsYW5kZUFjdGllc01hcDogQXJyYXlNdWx0aW1hcDxzdHJpbmcsIE9uZ2VwbGFuZGVBY3RpZT4gPSBuZXcgQXJyYXlNdWx0aW1hcCgpO1xuICAgIHByaXZhdGUgZ2VwbGFuZGVBY3RpZXM6IEFycmF5TXVsdGltYXA8QWN0aWUsIHN0cmluZz4gPSBuZXcgQXJyYXlNdWx0aW1hcCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgTkdfQUNUSUVfUFJFRklYID0gJyogJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4sIHByaXZhdGUgcmVhZG9ubHkgc2JtU2VydmljZTogU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdG9yZS5zZWxlY3QoJ3JpdERlbGVuJykuc3Vic2NyaWJlKChyaXRkZWxlbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5yaXRkZWVsVmlld01vZGVscyA9IHJpdGRlbGVuPy5tYXAocml0ZGVlbCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSaXRkZWVsVmlld01vZGVsKFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbENsYXNzKHJpdGRlZWwpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUml0ZGVlbFppY2h0YmFhcihyaXRkZWVsKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRUaXRsZShyaXRkZWVsKSxcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVlbC5pc05pZXRCZXNjaGlrYmFhcigpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUml0ZGVlbE5pZXV3KHJpdGRlZWwpLFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmdldFZhblBybFNwb29yKCksXG4gICAgICAgICAgICAgICAgICAgIHJpdGRlZWwuZ2V0TmFhclBybFNwb29yVGV4dCgpLFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmdldER3YW5nTnVtbWVyKCksXG4gICAgICAgICAgICAgICAgICAgIHJpdGRlZWwuZ2V0UHBsZ1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFRyZWluTnVtbWVyKHJpdGRlZWwpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJykuc3Vic2NyaWJlKGFjdGllcyA9PiB0aGlzLm9uZ2VwbGFuZGVBY3RpZXNNYXAgPSBhY3RpZXMpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdnZXBsYW5kZUFjdGllcycpLnN1YnNjcmliZShhY3RpZXMgPT4gdGhpcy5nZXBsYW5kZUFjdGllcyA9IGFjdGllcykpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdG9yZS5zZWxlY3QoJ2VkaXRhYmxlJykuc3Vic2NyaWJlKGVkaXRhYmxlID0+IHRoaXMuZWRpdGFibGUgPSBlZGl0YWJsZSkpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlT25nZXBsYW5kZUFjdGllc0xpc3QoKSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgaXNSaXRkZWVsWmljaHRiYWFyKHJpdGRlZWw6IFJpdGRlZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuaXNaaWNodGJhYXIoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVSaXRkZWVsWmljaHRiYWFyaGVpZChyaXRkZWVsOiBSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUml0ZGVsZW5BY3Rpb25zLnRvZ2dsZVJpdGRlZWxaaWNodGJhYXIocml0ZGVlbCkpO1xuICAgIH1cblxuICAgIHRvZ2dsZVppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4oY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc2VsZWN0Uml0ZGVlbCgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy5zZXRaaWNodGJhYXJoZWlkQWxsZVJpdGRlbGVuKGNoZWNrZWQpKTtcbiAgICB9XG5cbiAgICBpc1JpdGRlZWxOaWV1dyhyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuaXNOaWV1dygpID8gJysnIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0VGl0bGUocml0ZGVlbDogUml0ZGVlbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiByaXRkZWVsLmdldEJld2VnaW5nSWQoKTtcbiAgICB9XG5cbiAgICBnZXRUcmVpbk51bW1lcihyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuZ2V0VHJlaW5OdW1tZXIoKTtcbiAgICB9XG5cbiAgICBkZWxldGVSaXRkZWVsKHJpdGRlZWw6IFJpdGRlZWwpOiB2b2lkIHtcbiAgICAgICAgcml0ZGVlbC5hY3RpZXMuZm9yRWFjaChhY3RpZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZlcmh1aXNBY3RpZU5hYXJPbmdlcGxhbmQoYWN0aWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kZXNlbGVjdFJpdGRlZWwoKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuZGVsZXRlUml0ZGVlbChyaXRkZWVsKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWN0aWVzVWl0Uml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbD8uYWN0aWVzLnNsaWNlKCkuZm9yRWFjaChhY3RpZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUFjdGllVWl0Uml0KGFjdGllKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWN0aWVVaXRSaXQoYWN0aWU6IEFjdGllKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJpdGRlZWwpIHJldHVybjtcblxuICAgICAgICBjb25zdCBhY3RpZXMgPSB0aGlzLnNlbGVjdGVkUml0ZGVlbC5hY3RpZXMgPz8gW107XG4gICAgICAgIGNvbnN0IGlkeCA9IGFjdGllcy5pbmRleE9mKGFjdGllKTtcbiAgICAgICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnZlcmh1aXNBY3RpZU5hYXJPbmdlcGxhbmQoYWN0aWUpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuZGVsZXRlUml0ZGVlbEFjdGllKHRoaXMuc2VsZWN0ZWRSaXRkZWVsLCBhY3RpZXNbaWR4XSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMuaW5kZXhPZihhY3RpZSk7XG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAgIHRoaXMubmlldEdlcGxhbmRlQWN0aWVzLnB1c2goYWN0aWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJodWlzQWN0aWVOYWFyT25nZXBsYW5kKGFjdGllOiBBY3RpZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwdWljcyA9IHRoaXMuZ2VwbGFuZGVBY3RpZXMuZ2V0KGFjdGllKTtcblxuICAgICAgICBpZiAocHVpY3MgJiYgcHVpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLkFkZE9uZ2VwbGFuZGVBY3RpZShuZXcgT25nZXBsYW5kZUFjdGllKGFjdGllLCBwdWljcykpKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5EZWxldGVHZXBsYW5kZUFjdGllKGFjdGllLCBwdWljcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdm9lZ0FjdGllc1RvZUFhblJpdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aWVzID0gdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzO1xuICAgICAgICBhY3RpZXMuc2xpY2UoKS5mb3JFYWNoKGFjdGllID0+IHtcbiAgICAgICAgICAgIHRoaXMudm9lZ0FjdGllVG9lQWFuUml0KGFjdGllKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdm9lZ0FjdGllVG9lQWFuUml0KG9uZ2VwbGFuZGVBY3RpZTogT25nZXBsYW5kZUFjdGllKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcy5pbmRleE9mKG9uZ2VwbGFuZGVBY3RpZSk7XG4gICAgICAgIGlmIChpZHggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuYWRkUml0ZGVlbEFjdGllKHRoaXMuc2VsZWN0ZWRSaXRkZWVsLCB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXNbaWR4XS5hY3RpZSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLkFkZEdlcGxhbmRlQWN0aWUob25nZXBsYW5kZUFjdGllLmFjdGllLCBvbmdlcGxhbmRlQWN0aWUucHVpY3MpKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5EZWxldGVPbmdlcGxhbmRlQWN0aWUob25nZXBsYW5kZUFjdGllKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVPbmdlcGxhbmRlQWN0aWVzTGlzdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSaXRkZWVsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IHJpdFB1aWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgY29uc3Qgcml0ZGVlbFRvcG9FbGVtZW50cyA9IEFjdGllSGVscGVyLmdldEFjdGllVG9wb0VsZW1lbnRzKHRoaXMuc2VsZWN0ZWRSaXRkZWVsLCB0aGlzLnNibVNlcnZpY2UpO1xuICAgICAgICAgICAgY29uc3Qgd2lzc2VsT2JqZWN0ZW46IGRvbWVpbi5XaXNzZWxbXSA9IEpzSmF2YVV0aWwubGlzdFRvQXJyYXkodGhpcy5zZWxlY3RlZFJpdGRlZWwuZ2V0Um91dGUoKS5nZXRXaXNzZWxPYmplY3RlbkluRGVSb3V0ZSgpKTtcblxuICAgICAgICAgICAgcml0ZGVlbFRvcG9FbGVtZW50cy5mb3JFYWNoKGVsZW0gPT4gcml0UHVpY3MucHVzaChlbGVtLmdldFB1aWMoKSkpO1xuICAgICAgICAgICAgY29uc3Qgb25nZXBsYW5kZUFjdGllc0FycmF5ID0gdGhpcy5vbmdlcGxhbmRlQWN0aWVzTWFwLnZhbHVlcygpO1xuICAgICAgICAgICAgb25nZXBsYW5kZUFjdGllc0FycmF5LmZvckVhY2gob2EgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGllcyA9IHRoaXMucml0ZGVlbFZpZXdNb2RlbHMuZmxhdE1hcChyZCA9PiByZC5yaXRkZWVsLmFjdGllcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxyZWFkeUFkZGVkID0gYWN0aWVzLmZpbHRlcihhID0+IGEuaWQgPT09IG9hLmFjdGllLmlkKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgIGlmICghYWxyZWFkeUFkZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBvYU1hdGNoO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQWN0aWVIZWxwZXIuaXNWU1RBY3RpZShvYS5hY3RpZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9hTWF0Y2ggPSB0aGlzLm1hdGNoZWRXaXNzZWxNZXRLYW50Q29kZUluVlNUQWN0aWUob2EsIHdpc3NlbE9iamVjdGVuKSA/IG9hIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG9hLnB1aWNzLmZpbHRlcihwID0+IHJpdFB1aWNzLmluY2x1ZGVzKHApIHx8IHRoaXMuYmV2YXRXaXNzZWxQdWljKHJpdFB1aWNzLCBwKSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2FNYXRjaCA9IG9hO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWxyZWFkeUFkZGVkQXNPbmdlcGxhbmQgPSB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMuZmlsdGVyKGEgPT4gYS5hY3RpZS5pZCA9PT0gb2EuYWN0aWUuaWQpLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvYU1hdGNoICYmICFhbHJlYWR5QWRkZWRBc09uZ2VwbGFuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzLnB1c2gob2FNYXRjaCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1hdGNoZWRXaXNzZWxNZXRLYW50Q29kZUluVlNUQWN0aWUob25nZXBsYW5kZUFjdGllOiBPbmdlcGxhbmRlQWN0aWUsIHdpc3NlbHM6IGRvbWVpbi5XaXNzZWxbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwcGxnID0gb25nZXBsYW5kZUFjdGllLmFjdGllLnBwbGdOYWFtO1xuICAgICAgICBjb25zdCB3aXNzZWxLYW50Q29kZXMgPSBBY3RpZUhlbHBlci5nZXRXaXNzZWxLYW50Q29kZXMob25nZXBsYW5kZUFjdGllLmFjdGllKTtcblxuICAgICAgICBsZXQgZ2V2b25kZW5XaXNzZWxzID0gMDtcbiAgICAgICAgbGV0IGdldm9uZGVuV2lzc2VsS2FudENvZGVzID0gMDtcblxuICAgICAgICB3aXNzZWxLYW50Q29kZXMuZm9yRWFjaCgod2lzc2VsS2FudENvZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGdldm9uZGVuV2lzc2VsID0gdGhpcy5maW5kV2lzc2VsT3BOYWFtRW5QcGxnKHdpc3NlbHMsIHdpc3NlbEthbnRDb2RlLm5hYW0sIHBwbGcpO1xuXG4gICAgICAgICAgICBpZiAoZ2V2b25kZW5XaXNzZWwpIHtcbiAgICAgICAgICAgICAgICBnZXZvbmRlbldpc3NlbHMrKztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5nZXRLYW50Q29kZShnZXZvbmRlbldpc3NlbC5nZXRTdGFuZCgpKSA9PT0gd2lzc2VsS2FudENvZGUua2FudENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V2b25kZW5XaXNzZWxLYW50Q29kZXMrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBnZXZvbmRlbldpc3NlbHMgPiAwICYmIGdldm9uZGVuV2lzc2VscyA9PT0gZ2V2b25kZW5XaXNzZWxLYW50Q29kZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kV2lzc2VsT3BOYWFtRW5QcGxnKHdpc3NlbHM6IGRvbWVpbi5XaXNzZWxbXSwgd2lzc2VsTmFhbTogc3RyaW5nLCBwcGxnTmFhbTogc3RyaW5nKTogZG9tZWluLldpc3NlbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB3aXNzZWxzLmZpbmQod28gPT4gd28uZ2V0TmFtZSgpID09PSB3aXNzZWxOYWFtICYmIHdvLmdldFBQTEcoKSA9PT0gcHBsZ05hYW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmV2YXRXaXNzZWxQdWljKHJpdFB1aWNzOiBzdHJpbmdbXSwgcDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiByaXRQdWljcy5pbmNsdWRlcyh0aGlzLnNibVNlcnZpY2UuZ2V0V2lzc2VsTWV0U3RvcmluZ3NrYWRlclB1aWMocCk/LmdldFB1aWMoKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRSaXRkZWVsQ2xhc3Mocml0ZGVlbDogUml0ZGVlbCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChyaXRkZWVsLmdldFppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUoKSkge1xuICAgICAgICAgICAgaWYgKHJpdGRlZWwuZXF1YWxzKHRoaXMuc2VsZWN0ZWRSaXRkZWVsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnc2VsZWN0ZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICd2aXNpYmxlLW91dHNpZGUtd2luZG93JztcbiAgICAgICAgfVxuICAgICAgICBpZiAocml0ZGVlbC5pc05pZXRCZXNjaGlrYmFhcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2Rpc2FibGVkJztcbiAgICAgICAgfVxuICAgICAgICBpZiAocml0ZGVlbC5lcXVhbHModGhpcy5zZWxlY3RlZFJpdGRlZWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3NlbGVjdGVkJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgc2VsZWN0Uml0ZGVlbChldmVudDogTW91c2VFdmVudCwgcml0ZGVlbDogUml0ZGVlbCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQ/LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNFbWl0dGVyLmVtaXQocml0ZGVlbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAocml0ZGVlbD8uZXF1YWxzKHRoaXMuc2VsZWN0ZWRSaXRkZWVsKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbCA9IHJpdGRlZWw7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsID0gIXRoaXMuc2VsZWN0ZWRSaXRkZWVsLmlzWmljaHRiYWFyKCk7XG5cbiAgICAgICAgICAgIGlmIChyaXRkZWVsLmFjdGllcykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsQWN0aWVzID0gcml0ZGVlbC5hY3RpZXM7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPbmdlcGxhbmRlQWN0aWVzTGlzdCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbEFjdGllcyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWN0aWVPbXNjaHJpanZpbmdUZWtzdChhY3RpZTogQWN0aWUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLmJlcGFhbFByZWZpeFZvb3JBY3RpZU9tc2NocmlqdmluZyhhY3RpZSk7XG4gICAgICAgIGlmIChBY3RpZUhlbHBlci5pc1ZTVEFjdGllKGFjdGllKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFha1ZzdEFjdGllT21zY2hyaWp2aW5nKGFjdGllLCBwcmVmaXgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmVmaXggKyBhY3RpZS5yaXRBY3RpZVR5cGVPbXNjaHJpanZpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWFrVnN0QWN0aWVPbXNjaHJpanZpbmcoYWN0aWU6IEFjdGllLCBwcmVmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHsgcHJlZml4IH0keyBBY3RpZUhlbHBlci5nZXRWU1RBY3RpZU9tc2NocmlqdmluZyhhY3RpZSkgfWA7XG4gICAgfVxuXG4gICAgYmVwYWFsUHJlZml4Vm9vckFjdGllT21zY2hyaWp2aW5nKGFjdGllOiBBY3RpZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG5vUHJlZml4ID0gJyc7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUml0ZGVlbD8uYWN0aWVzLmluY2x1ZGVzKGFjdGllKSkge1xuICAgICAgICAgICAgLy8gQWZ3aWprZW5kZSBuYWFtIGJpaiBuaWV0IGdldmlzdWFsaXNlZXJkZSBhY3RpZSBpbiByaXRcbiAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5nZXBsYW5kZUFjdGllcy5nZXQoYWN0aWUpO1xuICAgICAgICAgICAgcmV0dXJuIHB1aWNzLmxlbmd0aCA+IDAgPyBub1ByZWZpeCA6IHRoaXMuTkdfQUNUSUVfUFJFRklYO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub1ByZWZpeDtcbiAgICB9XG5cbiAgICBhY3RpZVZhbkttVGVrc3QoYWN0aWU6IEFjdGllKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKEFjdGllSGVscGVyLmlzV2lzc2VsU2xpanBlbkFjdGllKGFjdGllKSkge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGllLndpc3NlbE5hYW07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjdGllLnZhbktpbG9tZXRlcmxpbnQgPyBhY3RpZS52YW5LaWxvbWV0ZXJsaW50ICsgJyAnICsgYWN0aWUudmFuS2lsb21ldHJlcmluZyA6ICctJztcbiAgICB9XG5cbiAgICBhY3RpZVRvdEttVGVrc3QoYWN0aWU6IEFjdGllKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGFjdGllLnRvdEtpbG9tZXRlcmxpbnQgPyBhY3RpZS50b3RLaWxvbWV0ZXJsaW50ICsgJyAnICsgYWN0aWUudG90S2lsb21ldHJlcmluZyA6ICctJztcbiAgICB9XG5cbiAgICBkZXNlbGVjdFJpdGRlZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWwgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWwgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsQWN0aWVzID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcyA9IFtdO1xuICAgIH1cblxuICAgIGdldFBwbGdTdHJpbmcocml0ZGVlbDogUml0ZGVlbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiByaXRkZWVsLmdldFBwbGdTdHJpbmcoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEthbnRDb2RlKHN0YW5kOiBkb21laW4uU3RhbmQpOiBzdHJpbmcge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmIChzdGFuZCA9PT0gd2luZG93Wydkb21laW4nXS5TdGFuZC5MSU5LUykge1xuICAgICAgICAgICAgcmV0dXJuICdMJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ1InO1xuICAgIH1cblxuICAgIHBsYW5BbGxlUml0QWN0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtldXJBbGxlQWN0aWVzR29lZC5lbWl0KCk7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgfVxufVxuXG5jbGFzcyBSaXRkZWVsVmlld01vZGVsIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgcml0ZGVlbDogUml0ZGVlbCxcbiAgICAgICAgcmVhZG9ubHkgc2VsZWN0ZWRSaXRkZWVsQ2xhc3M6IHN0cmluZyxcbiAgICAgICAgcmVhZG9ubHkgaXNaaWNodGJhYXI6IGJvb2xlYW4sXG4gICAgICAgIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IGlzTmlldEJlc2NoaWtiYWFyOiBib29sZWFuLFxuICAgICAgICByZWFkb25seSBpc05pZXV3OiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IHZhblBybFNwb29yOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IG5hYXJQcmxTcG9vcjogc3RyaW5nLFxuICAgICAgICByZWFkb25seSBkd2FuZ051bW1lcjogbnVtYmVyLFxuICAgICAgICByZWFkb25seSBwcGxnU3RyaW5nOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IHRyZWluTnVtbWVyOiBzdHJpbmdcbiAgICApIHtcbiAgICB9XG59XG4iLCI8ZGl2IGlkPVwicml0ZGVsZW4tbGlqc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1oZWFkZXJcIj5cbiAgICAgICAgPGgzIFthdHRyLmRhdGEtdGVzdC1pZF09XCIndGl0bGUtcml0LWRldGFpbHMnXCI+Uml0ZGV0YWlsczwvaDM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVzLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLXBhbmUgdGFibGVGaXhIZWFkXCIgaWQ9XCJ0b3AtcGFuZVwiPlxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbYXR0ci5kYXRhLXRlc3QtaWRdPVwiJ3RhYmxlLXJpdC1kZXRhaWxzJ1wiPlxuICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICNpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3ggY29sLXZpc2liaWxpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlWmljaHRiYWFyaGVpZEFsbGVSaXRkZWxlbihpbnB1dC5jaGVja2VkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLXNlbGVjdGVlckFsbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlNlbGVjdGVlciBhbGxlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIidjaGVja2JveC1hbGxlLWJld2VnaW5nZW4nXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlZhbjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPk5hYXI8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5EVzwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlBQTEcocyk8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5UcmVpbm5yLjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxuXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByaXRkZWVsVmlld01vZGVsIG9mIHJpdGRlZWxWaWV3TW9kZWxzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBzZWxlY3RlZFJpdGRlZWxDbGFzcyhyaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpIH19XCIgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fS16aWNodGJhYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCInY2hlY2tib3gtcicraVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrYm94IGNvbC12aXNpYmlsaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyaXRkZWVsVmlld01vZGVsLmlzWmljaHRiYWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwicml0ZGVlbFZpZXdNb2RlbC50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVSaXRkZWVsWmljaHRiYWFyaGVpZChyaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cInJpdGRlZWxWaWV3TW9kZWwuaXNOaWV0QmVzY2hpa2JhYXJcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LWdld2lqemlnZFwiIChjbGljayk9XCJzZWxlY3RSaXRkZWVsKCRldmVudCwgcml0ZGVlbFZpZXdNb2RlbC5yaXRkZWVsKVwiPnt7cml0ZGVlbFZpZXdNb2RlbC5pc05pZXV3fX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fS12YW5TcG9vclwiIChjbGljayk9XCJzZWxlY3RSaXRkZWVsKCRldmVudCwgcml0ZGVlbFZpZXdNb2RlbC5yaXRkZWVsKVwiPnt7cml0ZGVlbFZpZXdNb2RlbC52YW5QcmxTcG9vcn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tbmFhclNwb29yXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLm5hYXJQcmxTcG9vcn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tZHdhbmdOdW1tZXJcIiAoY2xpY2spPVwic2VsZWN0Uml0ZGVlbCgkZXZlbnQsIHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj57e3JpdGRlZWxWaWV3TW9kZWwuZHdhbmdOdW1tZXJ9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LXBwbGdzXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLnBwbGdTdHJpbmd9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LXRyZWluTnVtbWVyXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLnRyZWluTnVtbWVyfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOnJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtcnt7aX19LWRlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tZGFuZ2VyIGJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSaXRkZWVsKHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj5YXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGllLXBhbmVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFJpdGRlZWwgICYmIChzZWxlY3RlZFJpdGRlZWxBY3RpZXMubGVuZ3RoID4gMCB8fCBzZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzLmxlbmd0aCA+IDApIFwiXG4gICAgICAgICAgICAgICAgIGlkPVwiYWN0aWUtcGFuZVwiPlxuICAgICAgICAgICAgICAgIDxoND5HZXBsYW5kZSBhY3RpZXM8L2g0PlxuICAgICAgICAgICAgICAgIDx0YWJsZSBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+QWN0aWU8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+VmFuPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlRvdDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJzZWxlY3RlZFJpdGRlZWxBY3RpZXMubGVuZ3RoPT09MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImJ1bGtTZXRPbmdlcGxhbmRCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIid1bnBsYW4tYWxsLWFjdGlvbnMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLWRhbmdlciBidG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUFjdGllc1VpdFJpdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQWN0aWVLbm9wcGVuVmFuUml0ZGVlbFwiPlhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBhY3RpZSBvZiBzZWxlY3RlZFJpdGRlZWxBY3RpZXM7IGxldCBpID0gaW5kZXhcIiBpZD1cInJpdGRldGFpbHMtYXt7aX19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLWF7e2l9fS1vbXNjaHJpanZpbmdcIiBjbGFzcz1cIm5vd3JhcFwiPnt7IGFjdGllT21zY2hyaWp2aW5nVGVrc3QoYWN0aWUpIH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtYXt7aX19LXZhbkttTGludFwiPnt7IGFjdGllVmFuS21UZWtzdChhY3RpZSl9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLWF7e2l9fS10b3RLbUxpbnRcIj57eyBhY3RpZVRvdEttVGVrc3QoYWN0aWUpfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtYXt7aX19LWRlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1kYW5nZXIgYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVBY3RpZVVpdFJpdChhY3RpZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsXCI+WFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxoND5PbmdlcGxhbmRlIGFjdGllczwvaDQ+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5BY3RpZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5WYW48L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+VG90PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cInNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMubGVuZ3RoPT09MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImJ1bGtTZXRHZXBsYW5kQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCIncGxhbi1hbGwtYWN0aW9ucydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tc3VjY2VzcyBsb3hpYS1idG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZvZWdBY3RpZXNUb2VBYW5SaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWxcIj5eXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb25nZXBsYW5kZUFjdGllIG9mIHNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLW9he3tpfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS1vbXNjaHJpanZpbmdcIiBjbGFzcz1cIm5vd3JhcFwiPnt7YWN0aWVPbXNjaHJpanZpbmdUZWtzdChvbmdlcGxhbmRlQWN0aWUuYWN0aWUpIH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS12YW5LbUxpbnRcIj57eyBhY3RpZVZhbkttVGVrc3Qob25nZXBsYW5kZUFjdGllLmFjdGllKX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS10b3RLbUxpbnRcIj57eyBhY3RpZVRvdEttVGVrc3Qob25nZXBsYW5kZUFjdGllLmFjdGllKX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246cmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLW9he3tpfX0tZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLXN1Y2Nlc3MgbG94aWEtYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2b2VnQWN0aWVUb2VBYW5SaXQob25nZXBsYW5kZUFjdGllKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWxcIj5eXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrbm9wLXBhbmVcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1wcmltYXJ5IGxveGlhLWJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCIncGxhbi1hbGwtYWN0aW9ucy1mb3ItZmlsZSdcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJUZXh0XT1cIidQbGFuIGFjdGllcyBoZWxlIHJpdCdcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicGxhbkFsbGVSaXRBY3RpZXMoKVwiPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { combineLatest } from 'rxjs';
|
|
|
3
3
|
import { AlternatiefRitDeel } from '../../model/alternatief-rit-deel';
|
|
4
4
|
import { OngeplandeActie } from '../../model/ongeplande-actie';
|
|
5
5
|
import { SeinOpRitdeel } from '../../model/sein-op-ritdeel';
|
|
6
|
-
import { AddOngeplandeActie, BepaalOngeplandeActies, BewegingInvoegen, ClearProgress,
|
|
6
|
+
import { AddOngeplandeActie, BepaalOngeplandeActies, BewegingInvoegen, ClearProgress, navigeerBuitenRit, ResetNieuweRoute, SetActieOpRitSelectieIds, SetAlternatievenClickableIds, SetAlternatievenSelectieIds, SetBeginSeinRightClickableIds, SetBeginSeinSelectieIds, SetEindSeinenClickableIds, SetEindSeinSelectieIds, SetGebrokenRitSelectieIds, SetGeplandeActies, SetNieuwRouteEindSein, SetRitSelectieIds } from '../../state/actions/actions';
|
|
7
7
|
import { ritdeelInvoegen, setAlternatieveRitDelen } from '../../state/actions/ritdelen.actions';
|
|
8
8
|
import { ActiePopoverBepaler } from '../../util/actie-popover-bepaler';
|
|
9
9
|
import { ArrayMultimap } from '../../util/multi-map';
|
|
@@ -81,7 +81,6 @@ export class SvgVisualisatieComponent {
|
|
|
81
81
|
this.store.dispatch(navigeerBuitenRit(puic));
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
this.store.dispatch(SetSelectedRitdeel(undefined));
|
|
85
84
|
}
|
|
86
85
|
handleImxviewRightClick(evt) {
|
|
87
86
|
const fn = () => {
|
|
@@ -272,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
272
271
|
type: ViewChild,
|
|
273
272
|
args: ['imxviewercontainer']
|
|
274
273
|
}] } });
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUFFLGtCQUFrQixFQUNqQyxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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Q0FBQztvQkFDN0Ysc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFnQixFQUFFLGdCQUF3QjtRQUNoRSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsUUFBUSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUU7a0JBQ2xGLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcscUNBQXFDLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxpQkFBaUIsQ0FBQztJQUM3QixDQUFDO0lBRU8sUUFBUSxDQUFDLGFBQXFDO1FBQ2xELE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OEdBelJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDZQQzVDckMsdzNCQWlCQTs7MkZEMkJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSxrQkFBa0I7aU5BTW5CLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUUyQixTQUFTO3NCQUF6QyxTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElteFZpZXdlckNvbXBvbmVudCwgUG9wb3ZlckluZm8sIFNlbGVjdGllRXZlbnQsIFN2Z0luZm8gfSBmcm9tICdAbG94aWEvaW14LXZpZXdlcic7XG5pbXBvcnQgeyBkb21laW4sIHNiYmxhZCB9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWx0ZXJuYXRpZWZSaXREZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvYWx0ZXJuYXRpZWYtcml0LWRlZWwnO1xuaW1wb3J0IHsgT25nZXBsYW5kZUFjdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvb25nZXBsYW5kZS1hY3RpZSc7XG5pbXBvcnQgeyBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmlqd2VncGxhbi1yaWp3ZWctZHdhbmctY29tYmluYXRpZSc7XG5pbXBvcnQgeyBSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBTZWluT3BSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vpbi1vcC1yaXRkZWVsJztcbmltcG9ydCB7IEFjdGllIH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2lnbmFsZXJpbmdzLWJlZWxkLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZpZXdlci1jb250cm9sLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBBZGRPbmdlcGxhbmRlQWN0aWUsXG4gICAgQmVwYWFsT25nZXBsYW5kZUFjdGllcyxcbiAgICBCZXdlZ2luZ0ludm9lZ2VuLFxuICAgIENsZWFyUHJvZ3Jlc3MsIFNldFNlbGVjdGVkUml0ZGVlbCxcbiAgICBuYXZpZ2VlckJ1aXRlblJpdCxcbiAgICBSZXNldE5pZXV3ZVJvdXRlLFxuICAgIFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzLFxuICAgIFNldEFsdGVybmF0aWV2ZW5TZWxlY3RpZUlkcyxcbiAgICBTZXRCZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyxcbiAgICBTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyxcbiAgICBTZXRFaW5kU2VpbmVuQ2xpY2thYmxlSWRzLFxuICAgIFNldEVpbmRTZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0R2Vicm9rZW5SaXRTZWxlY3RpZUlkcyxcbiAgICBTZXRHZXBsYW5kZUFjdGllcyxcbiAgICBTZXROaWV1d1JvdXRlRWluZFNlaW4sXG4gICAgU2V0Uml0U2VsZWN0aWVJZHNcbn0gZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9hY3Rpb25zJztcbmltcG9ydCB7IHJpdGRlZWxJbnZvZWdlbiwgc2V0QWx0ZXJuYXRpZXZlUml0RGVsZW4gfSBmcm9tICcuLi8uLi9zdGF0ZS9hY3Rpb25zL3JpdGRlbGVuLmFjdGlvbnMnO1xuaW1wb3J0IHsgTXN0RWRpdG9yU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZS9tc3QtZWRpdG9yLXN0YXRlJztcbmltcG9ydCB7IEFjdGllSGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9hY3RpZS1oZWxwZXInO1xuaW1wb3J0IHsgQWN0aWVQb3BvdmVyQmVwYWxlciB9IGZyb20gJy4uLy4uL3V0aWwvYWN0aWUtcG9wb3Zlci1iZXBhbGVyJztcbmltcG9ydCB7IEFycmF5TXVsdGltYXAgfSBmcm9tICcuLi8uLi91dGlsL211bHRpLW1hcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc3ZnLXZpc3VhbGlzYXRpZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdmdWaXN1YWxpc2F0aWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBuaWV0R2VwbGFuZGVBY3RpZXM6IEFjdGllW10gPSBbXTtcbiAgICBASW5wdXQoKSB1c2VDbGlja0FyZWEgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lteHZpZXdlcmNvbnRhaW5lcicpIGlteHZpZXdlcj86IElteFZpZXdlckNvbXBvbmVudDtcblxuICAgIHN2Z0luZm9zJDogT2JzZXJ2YWJsZTxTdmdJbmZvW10+ID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3N2Z0luZm9zJyk7XG4gICAgcG9wb3ZlckluZm9zOiBQb3BvdmVySW5mb1tdID0gW107XG4gICAgY2xpY2thYmxlSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcmlnaHRDbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG4gICAgY29udGV4dE1lbnVBY3Rpb25zOiBhbnkgPSBbXTtcbiAgICBjb250ZXh0TWVudVN0eWxlOiBhbnkgPSB7IGRpc3BsYXk6ICdub25lJyB9O1xuICAgIGVkaXRhYmxlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbCA9IG5ldyBNYXA8c3RyaW5nLCBTZWluT3BSaXRkZWVsPigpO1xuICAgIHByaXZhdGUgcHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUgPSBuZXcgTWFwPHN0cmluZywgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZT4oKTtcbiAgICBwcml2YXRlIHB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUgPSBuZXcgTWFwPHN0cmluZywgQWx0ZXJuYXRpZWZSaXREZWVsPigpO1xuXG4gICAgcHJpdmF0ZSBvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPE1zdEVkaXRvclN0YXRlPixcbiAgICAgICAgICAgICAgICBwdWJsaWMgdmlld2VyQ29udHJvbHNTZXJ2aWNlOiBWaWV3ZXJDb250cm9sU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGFjdGllSGVscGVyOiBBY3RpZUhlbHBlcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHNibVNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMub25SaXRkZWxlblVwZGF0ZSgpO1xuICAgICAgICB0aGlzLnRyaWdnZXJDbGlja2FibGVJZEJlcGFsaW5nKCk7XG4gICAgICAgIHRoaXMudHJpZ2dlclJpZ2h0Q2xpY2thYmxlSWRCZXBhbGluZygpO1xuICAgICAgICB0aGlzLmhhbmRsZU5pZXV3ZVJvdXRlVG9lZ2V2b2VnZCgpO1xuICAgICAgICB0aGlzLnNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdlZGl0YWJsZScpLnN1YnNjcmliZShlZGl0YWJsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGU7XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zdG9yZS5zZWxlY3QoJ29uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUob25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPT4gdGhpcy5vbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdmb2N1c0lkcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGZvY3VzSWRzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9jdXNJZHMgJiYgdGhpcy5pbXh2aWV3ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbXh2aWV3ZXIuZm9jdXNPbklkcyhmb2N1c0lkcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGV4dE1lbnUnKT8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsICgpID0+IHRoaXMuaGlkZUNvbnRleHRNZW51KCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW14dmlld0NsaWNrKGV2dDogU2VsZWN0aWVFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwdWljID0gZXZ0LmlkO1xuICAgICAgICBjb25zdCBhbHRlcm5hdGlldmVSaXREZWVsID0gdGhpcy5wdWljTmFhckFsdGVybmF0aWV2ZVJvdXRlLmdldChwdWljKTtcbiAgICAgICAgY29uc3QgY29tYmluYXRpZSA9IHRoaXMucHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUuZ2V0KHB1aWMpO1xuICAgICAgICBpZiAoYWx0ZXJuYXRpZXZlUml0RGVlbCkge1xuICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUml0RGVlbC5yaXREZWVsLmFjdGllcy5mb3JFYWNoKGFjdGllID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWljcyA9IHRoaXMuYWN0aWVIZWxwZXIuYmVwYWFsUHVpY3NWb29yQWN0aWUoYWN0aWUpO1xuICAgICAgICAgICAgICAgIGlmIChwdWljcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRkT25nZXBsYW5kZUFjdGllKG5ldyBPbmdlcGxhbmRlQWN0aWUoYWN0aWUsIHB1aWNzKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzZXRBbHRlcm5hdGlldmVSaXREZWxlbihhbHRlcm5hdGlldmVSaXREZWVsKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29tYmluYXRpZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXROaWV1d1JvdXRlRWluZFNlaW4oY29tYmluYXRpZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcmFuZCA9IHRoaXMuc2JtU2VydmljZS5nZXRUb3BvbG9neUVsZW1lbnRCeVB1aWMocHVpYyk7XG4gICAgICAgICAgICBpZiAocmFuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmF2aWdlZXJCdWl0ZW5SaXQocHVpYykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRTZWxlY3RlZFJpdGRlZWwodW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW14dmlld1JpZ2h0Q2xpY2soZXZ0OiBTZWxlY3RpZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZuID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRTZWluT3BSaXRkZWVsID0gdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuZ2V0KGV2dC5pZCk7XG4gICAgICAgICAgICBpZiAoc3RhcnRTZWluT3BSaXRkZWVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZXdlZ2luZ0ludm9lZ2VuKHN0YXJ0U2Vpbk9wUml0ZGVlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVBY3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVBY3Rpb25zLnB1c2goeyBsYWJlbDogJ2Jld2VnaW5nIGludm9lZ2VuJywgY2xpY2s6IGZuIH0pO1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51U3R5bGUgPSB7XG4gICAgICAgICAgICBsZWZ0OiAoZXZ0LmV2ZW50Lm9mZnNldFggLSA1KSArICdweCcsXG4gICAgICAgICAgICB0b3A6IChldnQuZXZlbnQub2Zmc2V0WSAtIDUpICsgJ3B4JyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUnLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSdcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBiZXdlZ2luZ0ludm9lZ2VuKHN0YXJ0U2Vpbk9wUml0ZGVlbDogU2Vpbk9wUml0ZGVlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVDb250ZXh0TWVudSgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsLCB0aGlzLnB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllKSk7XG4gICAgfVxuXG4gICAgaGlkZUNvbnRleHRNZW51KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51U3R5bGUgPSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAnbm9uZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTmlldXdlUm91dGVUb2VnZXZvZWdkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnbmlldXdlUm91dGUnKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobmlldXdlUm91dGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5pZXV3ZVJvdXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSZXNldE5pZXV3ZVJvdXRlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChyaXRkZWVsSW52b2VnZW4obmlldXdlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblJpdGRlbGVuVXBkYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKS5zdWJzY3JpYmUocml0RGVsZW4gPT4ge1xuICAgICAgICAgICAgaWYgKHJpdERlbGVuICYmIHJpdERlbGVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbFJvdXRlSGlnaGxpZ2h0cyhyaXREZWxlbik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxDb250ZXh0TWVudVZvb3JCZWdpblNlaW5lbihyaXREZWxlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJDbGlja2FibGVJZEJlcGFsaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdhbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnZWluZFNlaW5lbkNsaWNrYWJsZUlkcycpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2Nvbm5lY3RvckNsaWNrYWJsZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW2FsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsIGVpbmRTZWluZW5DbGlja2FibGVJZHMsIGNvbm5lY3RvckNsaWNrYWJsZUlkc10pID0+XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZUlkcyA9IFsuLi5hbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzLCAuLi5laW5kU2VpbmVuQ2xpY2thYmxlSWRzLCAuLi5jb25uZWN0b3JDbGlja2FibGVJZHNdKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmlnZ2VyUmlnaHRDbGlja2FibGVJZEJlcGFsaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdCgnYmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFtiZWdpblNlaW5SaWdodENsaWNrYWJsZUlkc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpZHMgPSBbXTtcbiAgICAgICAgICAgICAgICBpZHMucHVzaCguLi5iZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodENsaWNrYWJsZUlkcyA9IGlkcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFRyaWdnZXJQb3BvdmVyQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ3JpdERlbGVuJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnb25nZXBsYW5kZUFjdGllcycpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2dlcGxhbmRlQWN0aWVzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbcml0ZGVsZW4sIG9uZ2VwbGFuZGVBY3RpZXMsIGdlcGxhbmRlQWN0aWVzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyaXRkZWxlbiAmJiByaXRkZWxlbi5sZW5ndGggPiAwICYmIGdlcGxhbmRlQWN0aWVzICYmIG9uZ2VwbGFuZGVBY3RpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVySW5mb3MgPSBBY3RpZVBvcG92ZXJCZXBhbGVyLmJlcGFhbFBvcG92ZXJJbmZvcyhyaXRkZWxlbiwgZ2VwbGFuZGVBY3RpZXMsIG9uZ2VwbGFuZGVBY3RpZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgYmVwYWFsT25nZXBsYW5kZUFjdGllcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmlldEdlcGxhbmRlQWN0aWVzKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXModGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQ29udGV4dE1lbnVWb29yQmVnaW5TZWluZW4ocml0RGVsZW46IFJpdGRlZWxbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2JtU2VydmljZS5pc1JlYWR5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBpZHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIHJpdERlbGVuLmZpbHRlcihyaXREZWVsID0+IHJpdERlZWwuaXNaaWNodGJhYXIoKSkuZm9yRWFjaChyaXREZWVsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gcml0RGVlbC5nZXRTZWluZW4oKS5mbGF0TWFwKHNlaW4gPT4gdGhpcy52ZXJ6YW1lbEJlZ2luU2VpbkluZm9ybWF0aWUoc2Vpbiwgcml0RGVlbCkpO1xuICAgICAgICAgICAgaWRzID0gaWRzLmNvbmNhdChwdWljcyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMoaWRzKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMoW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRFaW5kU2VpblNlbGVjdGllSWRzKFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyhbXSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyemFtZWxCZWdpblNlaW5JbmZvcm1hdGllKHNlaW46IGRvbWVpbi5TZWluLCByaXREZWVsOiBSaXRkZWVsKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBwdWljczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3Qgc2JTZWluID0gdGhpcy5zYm1TZXJ2aWNlLmdldFNCU2VpbihzZWluKTtcbiAgICAgICAgaWYgKHNiU2Vpbikge1xuICAgICAgICAgICAgY29uc3QgcHVpYyA9IHNiU2Vpbi5nZXRQdWljKCk7XG4gICAgICAgICAgICBwdWljcy5wdXNoKHB1aWMpO1xuICAgICAgICAgICAgdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuc2V0KHB1aWMsIG5ldyBTZWluT3BSaXRkZWVsKHNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhbHRTYlNlaW4gPSB0aGlzLnNibVNlcnZpY2UuZ2V0VGVjaG5pc2NoQWx0ZXJuYXRpZWZTQlNlaW4oc2JTZWluKTtcbiAgICAgICAgaWYgKGFsdFNiU2Vpbikge1xuICAgICAgICAgICAgY29uc3QgcHVpYyA9IGFsdFNiU2Vpbi5nZXRQdWljKCk7XG4gICAgICAgICAgICBwdWljcy5wdXNoKHB1aWMpO1xuICAgICAgICAgICAgY29uc3QgcndwID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmdldFJpandlZ3BsYW4oYWx0U2JTZWluLmdldFBQTEcoKSk7XG4gICAgICAgICAgICBjb25zdCBkb21laW5TZWluID0gcndwLmdldEJlZ2luU2VpbihhbHRTYlNlaW4uZ2V0TmFtZSgpKTtcbiAgICAgICAgICAgIC8vIHNlaW4ga2FuIG5pZXQgYWx0aWpkIGdldm9uZGVuIHdvcmRlbiBvbWRhdCBlciBuaWV0IGFsdGlqZCBlZW4gcmlqd2VnIHZhbmFmIGRpdCBzZWluIGlzLCBiaWp2IGJpaiB2ZWVyd2lzc2VsLlxuICAgICAgICAgICAgaWYgKGRvbWVpblNlaW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5zZXQocHVpYywgbmV3IFNlaW5PcFJpdGRlZWwoZG9tZWluU2Vpbiwgcml0RGVlbCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwdWljcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbFJvdXRlSGlnaGxpZ2h0cyhyaXREZWxlbjogUml0ZGVlbFtdKTogdm9pZCB7XG4gICAgICAgIGxldCByaXRTZWxlY3RpZVB1aWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBhY3RpZU9wUml0U2VsZWN0aWVQdWljcyA9IG5ldyBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+KCk7XG4gICAgICAgIGxldCBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVJvdXRlUHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IGNsaWNrYWJsZUlkczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgbGV0IGxhYXRzdGVOYWFyU3Bvb3I6IHN0cmluZztcbiAgICAgICAgY29uc3QgYmVzdGFhdFVpdDFSaXRkZWVsID0gcml0RGVsZW4ubGVuZ3RoID09PSAxO1xuICAgICAgICBsZXQgZ2Vicm9rZW5SaXQgPSBmYWxzZTtcbiAgICAgICAgcml0RGVsZW4uZm9yRWFjaChyaXREZWVsID0+IHtcbiAgICAgICAgICAgIGlmIChyaXREZWVsLmlzWmljaHRiYWFyKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXA6IEFycmF5TXVsdGltYXA8QWN0aWUsIHN0cmluZz4gPSB0aGlzLmFjdGllSGVscGVyLmJlcGFhbEFjdGllUHVpY3NVaXRSaXRkZWVsKHJpdERlZWwpO1xuICAgICAgICAgICAgICAgIG1hcC5rZXlzKCkuZm9yRWFjaChrZXkgPT4gYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MucHV0QWxsKGtleSwgbWFwLmdldChrZXkpKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBpc0dlYnJva2VuUml0ZGVlbCA9ICFiZXN0YWF0VWl0MVJpdGRlZWwgJiYgdGhpcy5pc0dlYnJva2VuUml0ZGVlbChyaXREZWVsLCBsYWF0c3RlTmFhclNwb29yKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWljcyA9IFsuLi50aGlzLmdldFB1aWNzKHJpdERlZWwuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkpLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnNibVNlcnZpY2UuZ2V0UHVpY3NWb29yU2VpbmVuSW5Sb3V0ZShyaXREZWVsLmdldFJvdXRlKCkpXTtcblxuICAgICAgICAgICAgICAgIGlmIChwdWljcyAmJiBpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgICAgICAgICBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB1aWNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmNvbmNhdChwdWljcyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxBbHRlcm5hdGlldmVuKHJpdERlZWwsIGNsaWNrYWJsZUlkcywgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyk7XG5cbiAgICAgICAgICAgICAgICBnZWJyb2tlblJpdCA9IGdlYnJva2VuUml0IHx8IGlzR2Vicm9rZW5SaXRkZWVsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFhdHN0ZU5hYXJTcG9vciA9IHJpdERlZWwuZ2V0VmlzdWVlbE5hYXJQcmxTcG9vcigpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5zZXRWYWxpZGVSaXQoIWdlYnJva2VuUml0KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEdlcGxhbmRlQWN0aWVzKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzKSk7XG4gICAgICAgIGNvbnN0IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkgPSBBcnJheS5mcm9tKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzLnZhbHVlcygpKS5yZWR1Y2UoKGFjYzogc3RyaW5nW10sIHZhbDogc3RyaW5nKTogc3RyaW5nW10gPT4gYWNjLmNvbmNhdCh2YWwpLCBbXSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkpKTtcbiAgICAgICAgcml0U2VsZWN0aWVQdWljcyA9IHJpdFNlbGVjdGllUHVpY3MuZmlsdGVyKGl0ZW0gPT4gYWN0aWVPcFJpdFNlbGVjdGllUHVpY3NBcnJheS5pbmRleE9mKGl0ZW0pIDwgMCk7IC8vIG1ha2UgbXV0dWFsbHkgZXhjbHVzaXZlXG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0Uml0U2VsZWN0aWVJZHMocml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMoZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyh0aGlzLmVkaXRhYmxlID8gY2xpY2thYmxlSWRzIDogW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHModGhpcy5lZGl0YWJsZSA/IGFsdGVybmF0aWV2ZVJvdXRlUHVpY3MgOiBbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENsZWFyUHJvZ3Jlc3MoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxBbHRlcm5hdGlldmVuKHJpdERlZWw6IFJpdGRlZWwsIGNsaWNrYWJsZUlkczogc3RyaW5nW10sIGFsdGVybmF0aWV2ZVJvdXRlUHVpY3M6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHJpdERlZWwuZ2V0QWx0ZXJuYXRpZXZlUm91dGVzKCk/LmZvckVhY2goYWx0ZXJuYXRpZXZlUm91dGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWx0ZXJuYXRpZXZlVG9wb0VsZW1lbnRlbiA9XG4gICAgICAgICAgICAgICAgdGhpcy5zYm1TZXJ2aWNlLmJlcGFhbEFsdGVybmF0aXZlUm91dGVIaWdobGlnaHRzKGFsdGVybmF0aWV2ZVJvdXRlLCByaXREZWVsLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpKTtcblxuICAgICAgICAgICAgY29uc3QgYWx0UHVpY3MgPSB0aGlzLmdldFB1aWNzKGFsdGVybmF0aWV2ZVRvcG9FbGVtZW50ZW4pO1xuICAgICAgICAgICAgaWYgKGFsdFB1aWNzKSB7XG4gICAgICAgICAgICAgICAgY2xpY2thYmxlSWRzLnB1c2goLi4uYWx0UHVpY3MpO1xuICAgICAgICAgICAgICAgIGFsdFB1aWNzLmZvckVhY2gocHVpYyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHVpY05hYXJBbHRlcm5hdGlldmVSb3V0ZS5zZXQocHVpYywgbmV3IEFsdGVybmF0aWVmUml0RGVlbChyaXREZWVsLCBhbHRlcm5hdGlldmVSb3V0ZSkpO1xuICAgICAgICAgICAgICAgICAgICBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzLnB1c2gocHVpYyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNHZWJyb2tlblJpdGRlZWwocml0RGVlbDogUml0ZGVlbCwgbGFhdHN0ZU5hYXJTcG9vcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzR2Vicm9rZW5SaXRkZWVsID0gISghbGFhdHN0ZU5hYXJTcG9vciB8fCByaXREZWVsLmdldFZhblBybFNwb29yKCkgPT09IGxhYXRzdGVOYWFyU3Bvb3IpO1xuICAgICAgICBpZiAoaXNHZWJyb2tlblJpdGRlZWwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSaXQgdmFuICcgKyByaXREZWVsLmdldFZhblBybFNwb29yKCkgKyAnIG5hYXIgJyArIHJpdERlZWwuZ2V0TmFhclBybFNwb29yKClcbiAgICAgICAgICAgICAgICArICcgaW4gcHBsZyAnICsgcml0RGVlbC5nZXRQcGxnKCkgKyAnIHNsdWl0IG5pZXQgYWFuIG9wIHZvcmlnZSBiZXdlZ2luZy4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNHZWJyb2tlblJpdGRlZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQdWljcyh0b3BvRWxlbWVudGVuOiBzYmJsYWQuSGFzSWRlbnRpZmllcltdKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdG9wb0VsZW1lbnRlbi5tYXAoZSA9PiBlLmdldFB1aWMoKSk7XG4gICAgfVxufVxuIiwiPGlteC12aWV3ZXIgI2lteHZpZXdlcmNvbnRhaW5lclxuICAgICAgICAgICAgW3N2Z0luZm9dPVwic3ZnSW5mb3MkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW3NlbGVjdGllSW5mb3NdPVwidmlld2VyQ29udHJvbHNTZXJ2aWNlLnNlbGVjdGllSW5mb3NcIlxuICAgICAgICAgICAgW2NsaWNrYWJsZUlkc109XCJjbGlja2FibGVJZHNcIlxuICAgICAgICAgICAgW3JpZ2h0Q2xpY2thYmxlSWRzXT1cInJpZ2h0Q2xpY2thYmxlSWRzXCJcbiAgICAgICAgICAgIFtwb3BvdmVySW5mb3NdPVwicG9wb3ZlckluZm9zXCJcbiAgICAgICAgICAgIFtpbmxpbmVEZ25Dc3NJbXBvcnRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3VzZUNsaWNrQXJlYV09XCJ1c2VDbGlja0FyZWFcIlxuICAgICAgICAgICAgW3pvb21TY2FsZVNlbnNpdGl2aXR5XT1cIjAuMjVcIlxuICAgICAgICAgICAgKGNsaWNrSGFuZGxlcik9XCJoYW5kbGVJbXh2aWV3Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAocmlnaHRDbGlja0hhbmRsZXIpPVwiaGFuZGxlSW14dmlld1JpZ2h0Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgPjwvaW14LXZpZXdlcj5cblxuPHVsIGlkPVwiY29udGV4dE1lbnVcIiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiByb2xlPVwibWVudVwiIFtuZ1N0eWxlXT1cImNvbnRleHRNZW51U3R5bGVcIj5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb250ZXh0TWVudUFjdGlvbnNcIj48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5jbGljaygpXCI+e3thY3Rpb24ubGFiZWx9fTwvYT48L2xpPlxuPC91bD5cbiJdfQ==
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNwQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUdoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FB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UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFnQixFQUFFLGdCQUF3QjtRQUNoRSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsUUFBUSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUU7a0JBQ2xGLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcscUNBQXFDLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxpQkFBaUIsQ0FBQztJQUM3QixDQUFDO0lBRU8sUUFBUSxDQUFDLGFBQXFDO1FBQ2xELE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OEdBdlJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDZQQzVDckMsdzNCQWlCQTs7MkZEMkJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSxrQkFBa0I7aU5BTW5CLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUUyQixTQUFTO3NCQUF6QyxTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElteFZpZXdlckNvbXBvbmVudCwgUG9wb3ZlckluZm8sIFNlbGVjdGllRXZlbnQsIFN2Z0luZm8gfSBmcm9tICdAbG94aWEvaW14LXZpZXdlcic7XG5pbXBvcnQgeyBkb21laW4sIHNiYmxhZCB9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWx0ZXJuYXRpZWZSaXREZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvYWx0ZXJuYXRpZWYtcml0LWRlZWwnO1xuaW1wb3J0IHsgT25nZXBsYW5kZUFjdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvb25nZXBsYW5kZS1hY3RpZSc7XG5pbXBvcnQgeyBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmlqd2VncGxhbi1yaWp3ZWctZHdhbmctY29tYmluYXRpZSc7XG5pbXBvcnQgeyBSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBTZWluT3BSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vpbi1vcC1yaXRkZWVsJztcbmltcG9ydCB7IEFjdGllIH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2lnbmFsZXJpbmdzLWJlZWxkLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZpZXdlci1jb250cm9sLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBBZGRPbmdlcGxhbmRlQWN0aWUsXG4gICAgQmVwYWFsT25nZXBsYW5kZUFjdGllcyxcbiAgICBCZXdlZ2luZ0ludm9lZ2VuLFxuICAgIENsZWFyUHJvZ3Jlc3MsXG4gICAgbmF2aWdlZXJCdWl0ZW5SaXQsXG4gICAgUmVzZXROaWV1d2VSb3V0ZSxcbiAgICBTZXRBY3RpZU9wUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMsXG4gICAgU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMsXG4gICAgU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRFaW5kU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0R2VwbGFuZGVBY3RpZXMsXG4gICAgU2V0TmlldXdSb3V0ZUVpbmRTZWluLFxuICAgIFNldFJpdFNlbGVjdGllSWRzXG59IGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyByaXRkZWVsSW52b2VnZW4sIHNldEFsdGVybmF0aWV2ZVJpdERlbGVuIH0gZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9yaXRkZWxlbi5hY3Rpb25zJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQgeyBBY3RpZUhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWwvYWN0aWUtaGVscGVyJztcbmltcG9ydCB7IEFjdGllUG9wb3ZlckJlcGFsZXIgfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLXBvcG92ZXItYmVwYWxlcic7XG5pbXBvcnQgeyBBcnJheU11bHRpbWFwIH0gZnJvbSAnLi4vLi4vdXRpbC9tdWx0aS1tYXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3N2Zy12aXN1YWxpc2F0aWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3ZnVmlzdWFsaXNhdGllQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgbmlldEdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdID0gW107XG4gICAgQElucHV0KCkgdXNlQ2xpY2tBcmVhID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdpbXh2aWV3ZXJjb250YWluZXInKSBpbXh2aWV3ZXI/OiBJbXhWaWV3ZXJDb21wb25lbnQ7XG5cbiAgICBzdmdJbmZvcyQ6IE9ic2VydmFibGU8U3ZnSW5mb1tdPiA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzdmdJbmZvcycpO1xuICAgIHBvcG92ZXJJbmZvczogUG9wb3ZlckluZm9bXSA9IFtdO1xuICAgIGNsaWNrYWJsZUlkczogc3RyaW5nW10gPSBbXTtcblxuICAgIHJpZ2h0Q2xpY2thYmxlSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnRleHRNZW51QWN0aW9uczogYW55ID0gW107XG4gICAgY29udGV4dE1lbnVTdHlsZTogYW55ID0geyBkaXNwbGF5OiAnbm9uZScgfTtcbiAgICBlZGl0YWJsZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwdWljTmFhckJlZ2luU2VpblJpdGRlZWwgPSBuZXcgTWFwPHN0cmluZywgU2Vpbk9wUml0ZGVlbD4oKTtcbiAgICBwcml2YXRlIHB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllID0gbmV3IE1hcDxzdHJpbmcsIFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWU+KCk7XG4gICAgcHJpdmF0ZSBwdWljTmFhckFsdGVybmF0aWV2ZVJvdXRlID0gbmV3IE1hcDxzdHJpbmcsIEFsdGVybmF0aWVmUml0RGVlbD4oKTtcblxuICAgIHByaXZhdGUgb25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4sXG4gICAgICAgICAgICAgICAgcHVibGljIHZpZXdlckNvbnRyb2xzU2VydmljZTogVmlld2VyQ29udHJvbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBhY3RpZUhlbHBlcjogQWN0aWVIZWxwZXIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzYm1TZXJ2aWNlOiBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge1xuICAgICAgICB0aGlzLm9uUml0ZGVsZW5VcGRhdGUoKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyQ2xpY2thYmxlSWRCZXBhbGluZygpO1xuICAgICAgICB0aGlzLnRyaWdnZXJSaWdodENsaWNrYWJsZUlkQmVwYWxpbmcoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVOaWV1d2VSb3V0ZVRvZWdldm9lZ2QoKTtcbiAgICAgICAgdGhpcy5zZXR1cFRyaWdnZXJQb3BvdmVyQmVwYWxpbmcoKTtcblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgnZWRpdGFibGUnKS5zdWJzY3JpYmUoZWRpdGFibGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5lZGl0YWJsZSA9IGVkaXRhYmxlO1xuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkID0+IHRoaXMub25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPSBvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgnZm9jdXNJZHMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShmb2N1c0lkcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvY3VzSWRzICYmIHRoaXMuaW14dmlld2VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW14dmlld2VyLmZvY3VzT25JZHMoZm9jdXNJZHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRleHRNZW51Jyk/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB0aGlzLmhpZGVDb250ZXh0TWVudSgpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIGhhbmRsZUlteHZpZXdDbGljayhldnQ6IFNlbGVjdGllRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHVpYyA9IGV2dC5pZDtcbiAgICAgICAgY29uc3QgYWx0ZXJuYXRpZXZlUml0RGVlbCA9IHRoaXMucHVpY05hYXJBbHRlcm5hdGlldmVSb3V0ZS5nZXQocHVpYyk7XG4gICAgICAgIGNvbnN0IGNvbWJpbmF0aWUgPSB0aGlzLnB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllLmdldChwdWljKTtcbiAgICAgICAgaWYgKGFsdGVybmF0aWV2ZVJpdERlZWwpIHtcbiAgICAgICAgICAgIGFsdGVybmF0aWV2ZVJpdERlZWwucml0RGVlbC5hY3RpZXMuZm9yRWFjaChhY3RpZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHVpY3MgPSB0aGlzLmFjdGllSGVscGVyLmJlcGFhbFB1aWNzVm9vckFjdGllKGFjdGllKTtcbiAgICAgICAgICAgICAgICBpZiAocHVpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkZE9uZ2VwbGFuZGVBY3RpZShuZXcgT25nZXBsYW5kZUFjdGllKGFjdGllLCBwdWljcykpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2V0QWx0ZXJuYXRpZXZlUml0RGVsZW4oYWx0ZXJuYXRpZXZlUml0RGVlbCkpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbWJpbmF0aWUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0TmlldXdSb3V0ZUVpbmRTZWluKGNvbWJpbmF0aWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmQgPSB0aGlzLnNibVNlcnZpY2UuZ2V0VG9wb2xvZ3lFbGVtZW50QnlQdWljKHB1aWMpO1xuICAgICAgICAgICAgaWYgKHJhbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5hdmlnZWVyQnVpdGVuUml0KHB1aWMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUlteHZpZXdSaWdodENsaWNrKGV2dDogU2VsZWN0aWVFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0U2Vpbk9wUml0ZGVlbCA9IHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLmdldChldnQuaWQpO1xuICAgICAgICAgICAgaWYgKHN0YXJ0U2Vpbk9wUml0ZGVlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmV3ZWdpbmdJbnZvZWdlbihzdGFydFNlaW5PcFJpdGRlZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51QWN0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51QWN0aW9ucy5wdXNoKHsgbGFiZWw6ICdiZXdlZ2luZyBpbnZvZWdlbicsIGNsaWNrOiBmbiB9KTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVN0eWxlID0ge1xuICAgICAgICAgICAgbGVmdDogKGV2dC5ldmVudC5vZmZzZXRYIC0gNSkgKyAncHgnLFxuICAgICAgICAgICAgdG9wOiAoZXZ0LmV2ZW50Lm9mZnNldFkgLSA1KSArICdweCcsXG4gICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgYmV3ZWdpbmdJbnZvZWdlbihzdGFydFNlaW5PcFJpdGRlZWw6IFNlaW5PcFJpdGRlZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRlQ29udGV4dE1lbnUoKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChCZXdlZ2luZ0ludm9lZ2VuKHN0YXJ0U2Vpbk9wUml0ZGVlbCwgdGhpcy5wdWljTmFhckVpbmRTZWluQ29tYmluYXRpZSkpO1xuICAgIH1cblxuICAgIGhpZGVDb250ZXh0TWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVN0eWxlID0ge1xuICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSdcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU5pZXV3ZVJvdXRlVG9lZ2V2b2VnZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ25pZXV3ZVJvdXRlJylcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5pZXV3ZVJvdXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuaWV1d2VSb3V0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUmVzZXROaWV1d2VSb3V0ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gocml0ZGVlbEludm9lZ2VuKG5pZXV3ZVJvdXRlKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25SaXRkZWxlblVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zdG9yZS5zZWxlY3QoJ3JpdERlbGVuJykuc3Vic2NyaWJlKHJpdERlbGVuID0+IHtcbiAgICAgICAgICAgIGlmIChyaXREZWxlbiAmJiByaXREZWxlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxSb3V0ZUhpZ2hsaWdodHMocml0RGVsZW4pO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmVkaXRhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsQ29udGV4dE1lbnVWb29yQmVnaW5TZWluZW4ocml0RGVsZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMub25nZXBsYW5kZUFjdGllc0JlcGFhbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxPbmdlcGxhbmRlQWN0aWVzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmlnZ2VyQ2xpY2thYmxlSWRCZXBhbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnYWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcycpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2VpbmRTZWluZW5DbGlja2FibGVJZHMnKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdjb25uZWN0b3JDbGlja2FibGVJZHMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFthbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzLCBlaW5kU2VpbmVuQ2xpY2thYmxlSWRzLCBjb25uZWN0b3JDbGlja2FibGVJZHNdKSA9PlxuICAgICAgICAgICAgdGhpcy5jbGlja2FibGVJZHMgPSBbLi4uYWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcywgLi4uZWluZFNlaW5lbkNsaWNrYWJsZUlkcywgLi4uY29ubmVjdG9yQ2xpY2thYmxlSWRzXSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlclJpZ2h0Q2xpY2thYmxlSWRCZXBhbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goY29tYmluZUxhdGVzdChbdGhpcy5zdG9yZS5zZWxlY3QoJ2JlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbYmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHNdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaWRzID0gW107XG4gICAgICAgICAgICAgICAgaWRzLnB1c2goLi4uYmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMpO1xuICAgICAgICAgICAgICAgIHRoaXMucmlnaHRDbGlja2FibGVJZHMgPSBpZHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBUcmlnZ2VyUG9wb3ZlckJlcGFsaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ29uZ2VwbGFuZGVBY3RpZXMnKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdnZXBsYW5kZUFjdGllcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW3JpdGRlbGVuLCBvbmdlcGxhbmRlQWN0aWVzLCBnZXBsYW5kZUFjdGllc10pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocml0ZGVsZW4gJiYgcml0ZGVsZW4ubGVuZ3RoID4gMCAmJiBnZXBsYW5kZUFjdGllcyAmJiBvbmdlcGxhbmRlQWN0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlckluZm9zID0gQWN0aWVQb3BvdmVyQmVwYWxlci5iZXBhYWxQb3BvdmVySW5mb3Mocml0ZGVsZW4sIGdlcGxhbmRlQWN0aWVzLCBvbmdlcGxhbmRlQWN0aWVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICkpO1xuICAgIH1cblxuICAgIGJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5pZXRHZXBsYW5kZUFjdGllcykge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChCZXBhYWxPbmdlcGxhbmRlQWN0aWVzKHRoaXMubmlldEdlcGxhbmRlQWN0aWVzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbENvbnRleHRNZW51Vm9vckJlZ2luU2VpbmVuKHJpdERlbGVuOiBSaXRkZWVsW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNibVNlcnZpY2UuaXNSZWFkeSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICByaXREZWxlbi5maWx0ZXIocml0RGVlbCA9PiByaXREZWVsLmlzWmljaHRiYWFyKCkpLmZvckVhY2gocml0RGVlbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwdWljcyA9IHJpdERlZWwuZ2V0U2VpbmVuKCkuZmxhdE1hcChzZWluID0+IHRoaXMudmVyemFtZWxCZWdpblNlaW5JbmZvcm1hdGllKHNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIGlkcyA9IGlkcy5jb25jYXQocHVpY3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKGlkcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblNlbGVjdGllSWRzKFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0RWluZFNlaW5TZWxlY3RpZUlkcyhbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMoW10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcnphbWVsQmVnaW5TZWluSW5mb3JtYXRpZShzZWluOiBkb21laW4uU2Vpbiwgcml0RGVlbDogUml0ZGVlbCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgcHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IHNiU2VpbiA9IHRoaXMuc2JtU2VydmljZS5nZXRTQlNlaW4oc2Vpbik7XG4gICAgICAgIGlmIChzYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBzYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLnNldChwdWljLCBuZXcgU2Vpbk9wUml0ZGVlbChzZWluLCByaXREZWVsKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWx0U2JTZWluID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRlY2huaXNjaEFsdGVybmF0aWVmU0JTZWluKHNiU2Vpbik7XG4gICAgICAgIGlmIChhbHRTYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBhbHRTYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIGNvbnN0IHJ3cCA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRSaWp3ZWdwbGFuKGFsdFNiU2Vpbi5nZXRQUExHKCkpO1xuICAgICAgICAgICAgY29uc3QgZG9tZWluU2VpbiA9IHJ3cC5nZXRCZWdpblNlaW4oYWx0U2JTZWluLmdldE5hbWUoKSk7XG4gICAgICAgICAgICAvLyBzZWluIGthbiBuaWV0IGFsdGlqZCBnZXZvbmRlbiB3b3JkZW4gb21kYXQgZXIgbmlldCBhbHRpamQgZWVuIHJpandlZyB2YW5hZiBkaXQgc2VpbiBpcywgYmlqdiBiaWogdmVlcndpc3NlbC5cbiAgICAgICAgICAgIGlmIChkb21laW5TZWluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuc2V0KHB1aWMsIG5ldyBTZWluT3BSaXRkZWVsKGRvbWVpblNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHVpY3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxSb3V0ZUhpZ2hsaWdodHMocml0RGVsZW46IFJpdGRlZWxbXSk6IHZvaWQge1xuICAgICAgICBsZXQgcml0U2VsZWN0aWVQdWljczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MgPSBuZXcgQXJyYXlNdWx0aW1hcDxBY3RpZSwgc3RyaW5nPigpO1xuICAgICAgICBsZXQgZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBjbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGxldCBsYWF0c3RlTmFhclNwb29yOiBzdHJpbmc7XG4gICAgICAgIGNvbnN0IGJlc3RhYXRVaXQxUml0ZGVlbCA9IHJpdERlbGVuLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgbGV0IGdlYnJva2VuUml0ID0gZmFsc2U7XG4gICAgICAgIHJpdERlbGVuLmZvckVhY2gocml0RGVlbCA9PiB7XG4gICAgICAgICAgICBpZiAocml0RGVlbC5pc1ppY2h0YmFhcigpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFwOiBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+ID0gdGhpcy5hY3RpZUhlbHBlci5iZXBhYWxBY3RpZVB1aWNzVWl0Uml0ZGVlbChyaXREZWVsKTtcbiAgICAgICAgICAgICAgICBtYXAua2V5cygpLmZvckVhY2goa2V5ID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzLnB1dEFsbChrZXksIG1hcC5nZXQoa2V5KSkpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhYmVzdGFhdFVpdDFSaXRkZWVsICYmIHRoaXMuaXNHZWJyb2tlblJpdGRlZWwocml0RGVlbCwgbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgICAgICAgICAgY29uc3QgcHVpY3MgPSBbLi4udGhpcy5nZXRQdWljcyhyaXREZWVsLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpKSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5zYm1TZXJ2aWNlLmdldFB1aWNzVm9vclNlaW5lbkluUm91dGUocml0RGVlbC5nZXRSb3V0ZSgpKV07XG5cbiAgICAgICAgICAgICAgICBpZiAocHVpY3MgJiYgaXNHZWJyb2tlblJpdGRlZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzID0gZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzLmNvbmNhdChwdWljcyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwdWljcykge1xuICAgICAgICAgICAgICAgICAgICByaXRTZWxlY3RpZVB1aWNzID0gcml0U2VsZWN0aWVQdWljcy5jb25jYXQocHVpY3MpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsLCBjbGlja2FibGVJZHMsIGFsdGVybmF0aWV2ZVJvdXRlUHVpY3MpO1xuXG4gICAgICAgICAgICAgICAgZ2Vicm9rZW5SaXQgPSBnZWJyb2tlblJpdCB8fCBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYXRzdGVOYWFyU3Bvb3IgPSByaXREZWVsLmdldFZpc3VlZWxOYWFyUHJsU3Bvb3IoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2V0VmFsaWRlUml0KCFnZWJyb2tlblJpdCk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZXBsYW5kZUFjdGllcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICBjb25zdCBhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5ID0gQXJyYXkuZnJvbShhY3RpZU9wUml0U2VsZWN0aWVQdWljcy52YWx1ZXMoKSkucmVkdWNlKChhY2M6IHN0cmluZ1tdLCB2YWw6IHN0cmluZyk6IHN0cmluZ1tdID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5KSk7XG4gICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmZpbHRlcihpdGVtID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkuaW5kZXhPZihpdGVtKSA8IDApOyAvLyBtYWtlIG11dHVhbGx5IGV4Y2x1c2l2ZVxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFJpdFNlbGVjdGllSWRzKHJpdFNlbGVjdGllUHVpY3MpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzKGdlYnJva2VuUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHModGhpcy5lZGl0YWJsZSA/IGNsaWNrYWJsZUlkcyA6IFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzKHRoaXMuZWRpdGFibGUgPyBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzIDogW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGVhclByb2dyZXNzKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsOiBSaXRkZWVsLCBjbGlja2FibGVJZHM6IHN0cmluZ1tdLCBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICByaXREZWVsLmdldEFsdGVybmF0aWV2ZVJvdXRlcygpPy5mb3JFYWNoKGFsdGVybmF0aWV2ZVJvdXRlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVRvcG9FbGVtZW50ZW4gPVxuICAgICAgICAgICAgICAgIHRoaXMuc2JtU2VydmljZS5iZXBhYWxBbHRlcm5hdGl2ZVJvdXRlSGlnaGxpZ2h0cyhhbHRlcm5hdGlldmVSb3V0ZSwgcml0RGVlbC5nZXRUb3BvbG9naWVFbGVtZW50ZW4oKSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFsdFB1aWNzID0gdGhpcy5nZXRQdWljcyhhbHRlcm5hdGlldmVUb3BvRWxlbWVudGVuKTtcbiAgICAgICAgICAgIGlmIChhbHRQdWljcykge1xuICAgICAgICAgICAgICAgIGNsaWNrYWJsZUlkcy5wdXNoKC4uLmFsdFB1aWNzKTtcbiAgICAgICAgICAgICAgICBhbHRQdWljcy5mb3JFYWNoKHB1aWMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuc2V0KHB1aWMsIG5ldyBBbHRlcm5hdGllZlJpdERlZWwocml0RGVlbCwgYWx0ZXJuYXRpZXZlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUm91dGVQdWljcy5wdXNoKHB1aWMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzR2Vicm9rZW5SaXRkZWVsKHJpdERlZWw6IFJpdGRlZWwsIGxhYXRzdGVOYWFyU3Bvb3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBpc0dlYnJva2VuUml0ZGVlbCA9ICEoIWxhYXRzdGVOYWFyU3Bvb3IgfHwgcml0RGVlbC5nZXRWYW5QcmxTcG9vcigpID09PSBsYWF0c3RlTmFhclNwb29yKTtcbiAgICAgICAgaWYgKGlzR2Vicm9rZW5SaXRkZWVsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUml0IHZhbiAnICsgcml0RGVlbC5nZXRWYW5QcmxTcG9vcigpICsgJyBuYWFyICcgKyByaXREZWVsLmdldE5hYXJQcmxTcG9vcigpXG4gICAgICAgICAgICAgICAgKyAnIGluIHBwbGcgJyArIHJpdERlZWwuZ2V0UHBsZygpICsgJyBzbHVpdCBuaWV0IGFhbiBvcCB2b3JpZ2UgYmV3ZWdpbmcuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzR2Vicm9rZW5SaXRkZWVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHVpY3ModG9wb0VsZW1lbnRlbjogc2JibGFkLkhhc0lkZW50aWZpZXJbXSk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRvcG9FbGVtZW50ZW4ubWFwKGUgPT4gZS5nZXRQdWljKCkpO1xuICAgIH1cbn1cbiIsIjxpbXgtdmlld2VyICNpbXh2aWV3ZXJjb250YWluZXJcbiAgICAgICAgICAgIFtzdmdJbmZvXT1cInN2Z0luZm9zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtzZWxlY3RpZUluZm9zXT1cInZpZXdlckNvbnRyb2xzU2VydmljZS5zZWxlY3RpZUluZm9zXCJcbiAgICAgICAgICAgIFtjbGlja2FibGVJZHNdPVwiY2xpY2thYmxlSWRzXCJcbiAgICAgICAgICAgIFtyaWdodENsaWNrYWJsZUlkc109XCJyaWdodENsaWNrYWJsZUlkc1wiXG4gICAgICAgICAgICBbcG9wb3ZlckluZm9zXT1cInBvcG92ZXJJbmZvc1wiXG4gICAgICAgICAgICBbaW5saW5lRGduQ3NzSW1wb3J0XT1cImZhbHNlXCJcbiAgICAgICAgICAgIFt1c2VDbGlja0FyZWFdPVwidXNlQ2xpY2tBcmVhXCJcbiAgICAgICAgICAgIFt6b29tU2NhbGVTZW5zaXRpdml0eV09XCIwLjI1XCJcbiAgICAgICAgICAgIChjbGlja0hhbmRsZXIpPVwiaGFuZGxlSW14dmlld0NsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgKHJpZ2h0Q2xpY2tIYW5kbGVyKT1cImhhbmRsZUlteHZpZXdSaWdodENsaWNrKCRldmVudClcIlxuICAgICAgICAgID48L2lteC12aWV3ZXI+XG5cbjx1bCBpZD1cImNvbnRleHRNZW51XCIgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgcm9sZT1cIm1lbnVcIiBbbmdTdHlsZV09XCJjb250ZXh0TWVudVN0eWxlXCI+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgY29udGV4dE1lbnVBY3Rpb25zXCI+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uY2xpY2soKVwiPnt7YWN0aW9uLmxhYmVsfX08L2E+PC9saT5cbjwvdWw+XG4iXX0=
|
|
@@ -86,7 +86,6 @@ export const navigeerBuitenRit = createAction(NAVIGEER_BUITEN_RIT, (randPuic) =>
|
|
|
86
86
|
export const focusOpRitdeel = createAction(FOCUS_OP_RITDEEL, (ritdeel, paginationSize, iaVersieInfo) => ({ ritdeel, paginationSize, iaVersieInfo }));
|
|
87
87
|
export const focusOpIds = createAction(FOCUS_OP_IDS, (puics) => ({ puics }));
|
|
88
88
|
export const bepaalSbInfos = createAction(BEPAAL_SB_INFOS, (rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize) => ({ rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize }));
|
|
89
|
-
export const SetSelectedRitdeel = createAction(SET_SELECTED_RITDEEL, (id) => ({ id }));
|
|
90
89
|
// do not export return value
|
|
91
90
|
const mstActions = union({
|
|
92
91
|
setEditable,
|
|
@@ -124,7 +123,6 @@ const mstActions = union({
|
|
|
124
123
|
ClearProgress,
|
|
125
124
|
BewegingInvoegen,
|
|
126
125
|
KeurAlleActiesGoed,
|
|
127
|
-
UpdateRit
|
|
128
|
-
setSelectedRitdeel: SetSelectedRitdeel
|
|
126
|
+
UpdateRit
|
|
129
127
|
});
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zdGF0ZS9hY3Rpb25zL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFVbEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHFDQUFxQyxDQUFDO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLHVDQUF1QyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLDZCQUE2QixDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDhCQUE4QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLGlDQUFpQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLG1DQUFtQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLCtCQUErQixDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFN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QUUsZ0JBQXlCLEVBQUUsUUFBZ0IsRUFBRSxzQkFBK0IsRUFBRSxjQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOVAsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRS9GLDZCQUE2QjtBQUM3QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDckIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsNkJBQTZCO0lBQzdCLCtCQUErQjtJQUMvQixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtJQUM1QiwrQkFBK0I7SUFDL0IsbUNBQW1DO0lBQ25DLHNDQUFzQztJQUN0QyxXQUFXO0lBQ1gsV0FBVztJQUNYLFFBQVE7SUFDUixrQkFBa0I7SUFDbEIsMEJBQTBCO0lBQzFCLFlBQVk7SUFDWixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1Qsa0JBQWtCLEVBQUUsa0JBQWtCO0NBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN2Z0luZm8gfSBmcm9tICdAbG94aWEvaW14LXZpZXdlcic7XG5pbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHVuaW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQWxnZW1lbmVSaXREdG8gfSBmcm9tICcuLi8uLi8uLi9nZW5lcmF0ZWQvb3BlbmFwaSc7XG5pbXBvcnQgeyBPbmdlcGxhbmRlQWN0aWUgfSBmcm9tICcuLi8uLi9tb2RlbC9vbmdlcGxhbmRlLWFjdGllJztcbmltcG9ydCB7IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUgfSBmcm9tICcuLi8uLi9tb2RlbC9yaWp3ZWdwbGFuLXJpandlZy1kd2FuZy1jb21iaW5hdGllJztcbmltcG9ydCB7IFJpdGRlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9yaXRkZWVsJztcbmltcG9ydCB7IFNlaW5PcFJpdGRlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWluLW9wLXJpdGRlZWwnO1xuaW1wb3J0IHsgQWN0aWUsIEJld2VnaW5nLCBJbmZyYU1vZGVsLCBSaXQgfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuaW1wb3J0IHsgSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0byB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9zaWduYWxlcmluZ3NiZWVsZGluZm8ucmVzb3VyY2UnO1xuaW1wb3J0IHsgQXJyYXlNdWx0aW1hcCB9IGZyb20gJy4uLy4uL3V0aWwvbXVsdGktbWFwJztcblxuZXhwb3J0IGNvbnN0IFNFVF9FRElUQUJMRSA9ICdbbXN0XSBTZXRFZGl0YWJsZSc7XG5leHBvcnQgY29uc3QgU0VUX1JJVF9TRUxFQ1RJRV9JRFMgPSAnW21zdF0gU2V0Uml0U2VsZWN0aWVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9HRVBMQU5ERV9BQ1RJRVMgPSAnW21zdF0gU2V0R2VwbGFuZGVBY3RpZXMnO1xuZXhwb3J0IGNvbnN0IERFTEVURV9HRVBMQU5ERV9BQ1RJRVMgPSAnW21zdF0gRGVsZXRlR2VwbGFuZGVBY3RpZXMnO1xuZXhwb3J0IGNvbnN0IEFERF9HRVBMQU5ERV9BQ1RJRVMgPSAnW21zdF0gQWRkR2VwbGFuZGVBY3RpZXMnO1xuZXhwb3J0IGNvbnN0IFNFVF9BQ1RJRU9QUklUX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRBY3RpZU9wUml0U2VsZWN0aWVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9PTkdFUExBTkRFQUNUSUVfU0VMRUNUSUVfSURTID0gJ1ttc3RdIFNldE9uZ2VwbGFuZGVBY3RpZVNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBERUxFVEVfT05HRVBMQU5ERV9BQ1RJRV9TRUxFQ1RJRV9JRCA9ICdbbXN0XSBEZWxldGVPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkJztcbmV4cG9ydCBjb25zdCBBRERfT05HRVBMQU5ERV9BQ1RJRSA9ICdbbXN0XSBBZGRPbmdlcGxhbmRlQWN0aWUnO1xuZXhwb3J0IGNvbnN0IERFTEVURV9PTkdFUExBTkRFX0FDVElFID0gJ1ttc3RdIERlbGV0ZU9uZ2VwbGFuZGVBY3RpZSc7XG5leHBvcnQgY29uc3QgQkVQQUFMX09OR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMnO1xuZXhwb3J0IGNvbnN0IFNFVF9PTkdFUExBTkRFX0FDVElFUyA9ICdbbXN0XSBTZXRPbmdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBTRVRfR0VCUk9LRU5SSVRfU0VMRUNUSUVfSURTID0gJ1ttc3RdIFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9BTFRFUk5BVElFVkVOX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9CRUdJTlNFSU5fU0VMRUNUSUVfSURTID0gJ1ttc3RdIFNldEJlZ2luU2VpblNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfRUlORFNFSU5fU0VMRUNUSUVfSURTID0gJ1ttc3RdIFNldEVpbmRTZWluU2VsZWN0aWVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9BTFRFUk5BVElFVkVOX0NMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0VJTkRTRUlORU5fQ0xJQ0tBQkxFX0lEUyA9ICdbbXN0XSBTZXRFaW5kU2VpbmVuQ2xpY2thYmxlSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQ09OTkVDVE9SRU5fQ0xJQ0tBQkxFX0lEUyA9ICdbbXN0XSBTZXRDb25uZWN0b3JlbmxpY2thYmxlSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQkVHSU5TRUlOX1JJR0hUQ0xJQ0tBQkxFX0lEUyA9ICdbbXN0XSBTZXRCZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX05JRVVXX1JPVVRFX0JFR0lOU0VJTiA9ICdbbXN0XSBTZXROaWV1d1JvdXRlQmVnaW5TZWluJztcbmV4cG9ydCBjb25zdCBTRVRfTklFVVdfUk9VVEVfRUlORFNFSU4gPSAnW21zdF0gU2V0TmlldXdSb3V0ZUVpbmRTZWluJztcbmV4cG9ydCBjb25zdCBSRVNFVF9OSUVVV0VfUk9VVEUgPSAnW21zdF0gUmVzZXROaWV1d2VSb3V0ZSc7XG5leHBvcnQgY29uc3QgU0VUX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyA9ICdbbXN0XSBTZXRTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zJztcbmV4cG9ydCBjb25zdCBVUERBVEVfU0lHTkFMRVJJTkdTQkVFTERfSU5GT19EVE9TID0gJ1ttc3RdIFVwZGF0ZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MnO1xuZXhwb3J0IGNvbnN0IFNFVF9WSVNJQkxFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyA9ICdbbXN0XSBTZXRWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1ZJU0lCTEVfU0lHTkFMRVJJTkdTQkVFTERfSU5GT19EVE9TID0gJ1ttc3RdIFVwZGF0ZVZpc2libGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zJztcbmV4cG9ydCBjb25zdCBTRVRfSUFfVkVSU0lFID0gJ1ttc3RdIFNldElhVmVyc2llJztcbmV4cG9ydCBjb25zdCBTRVRfQUxHRU1FTkVfUklUX0lORk8gPSAnW21zdF0gU2V0QWxnZW1lbmVSaXRJbmZvJztcbmV4cG9ydCBjb25zdCBTRVRfU1ZHX0lORk9TID0gJ1ttc3RdIFNFVF9TVkdfSU5GT1MnO1xuZXhwb3J0IGNvbnN0IFNFVF9ERUJVRyA9ICdbbXN0XSBTRVRfREVCVUcnO1xuZXhwb3J0IGNvbnN0IFNFVF9PTkdFUExBTkRFX0FDVElFU19CRVBBQUxEID0gJ1ttc3RdIFNFVF9PTkdFUExBTkRFX0FDVElFU19CRVBBQUxEJztcbmV4cG9ydCBjb25zdCBCRVdFR0lOR19JTlZPRUdFTiA9ICdbbXN0XSBCZXdlZ2luZ0ludm9lZ2VuJztcbmV4cG9ydCBjb25zdCBTSE9XX1BST0dSRVNTX0lORElDQVRPUiA9ICdbcHJvZ3Jlc3NdIFNob3cgdGhlIHByb2dyZXNzIGluZGljYXRvcic7XG5leHBvcnQgY29uc3QgQ0xFQVJfUFJPR1JFU1NfSU5ESUNBVE9SID0gJ1twcm9ncmVzc10gQ2xlYXIgdGhlIHByb2dyZXNzIGluZGljYXRvcic7XG5leHBvcnQgY29uc3QgS0VVUl9BTExFX0FDVElFU19HT0VEID0gJ1twcm9ncmVzc10gS2V1ckFsbGVBY3RpZXNHb2VkJztcbmV4cG9ydCBjb25zdCBVUERBVEVfUklUID0gJ1twcm9ncmVzc10gVXBkYXRlUml0JztcbmV4cG9ydCBjb25zdCBTRVRfQkFTRV9VUkwgPSAnW3Byb2dyZXNzXSBTZXQgQmFzZVVybCc7XG5leHBvcnQgY29uc3QgTkFWSUdFRVJfQlVJVEVOX1JJVCA9ICdbbXN0XSBOYXZpZ2VlckJ1aXRlblJpdCc7XG5leHBvcnQgY29uc3QgTEFBRF9FTl9WRVJXRVJLX1NJR05BTEVSSU5HU0JFRUxEX0lORk8gPSAnW21zdF0gbGFhZEVuVmVyd2Vya1NpZ25hbGVyaW5nc2JlZWxkSW5mbyc7XG5cbmV4cG9ydCBjb25zdCBGT0NVU19PUF9SSVRERUVMID0gJ1ttc3RdIGZvY3VzT3BSaXRkZWVsJztcbmV4cG9ydCBjb25zdCBGT0NVU19PUF9JRFMgPSAnW21zdF0gZm9jdXNPcElkcyc7XG5leHBvcnQgY29uc3QgQkVQQUFMX1NCX0lORk9TID0gJ1ttc3RdIGJlcGFhbFNiSW5mb3MnO1xuZXhwb3J0IGNvbnN0IFNFVF9TRUxFQ1RFRF9SSVRERUVMID0gJ1ttc3RdIFNldFNlbGVjdGVkUml0ZGVlbCc7XG5cbmV4cG9ydCBjb25zdCBzZXRFZGl0YWJsZSA9IGNyZWF0ZUFjdGlvbihTRVRfRURJVEFCTEUsIChlZGl0YWJsZTogYm9vbGVhbikgPT4gKHsgZWRpdGFibGUgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0Uml0U2VsZWN0aWVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX1JJVF9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0R2VwbGFuZGVBY3RpZXMgPSBjcmVhdGVBY3Rpb24oU0VUX0dFUExBTkRFX0FDVElFUyxcbiAgICAoZ2VwbGFuZGVBY3RpZXNNYXA6IEFycmF5TXVsdGltYXA8QWN0aWUsIHN0cmluZz4pID0+ICh7IGdlcGxhbmRlQWN0aWVzTWFwIH0pKTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUdlcGxhbmRlQWN0aWUgPSBjcmVhdGVBY3Rpb24oREVMRVRFX0dFUExBTkRFX0FDVElFUywgKGFjdGllOiBBY3RpZSwgcHVpY3M6IHN0cmluZ1tdKSA9PiAoeyBhY3RpZSwgcHVpY3MgfSkpO1xuXG5leHBvcnQgY29uc3QgQWRkR2VwbGFuZGVBY3RpZSA9IGNyZWF0ZUFjdGlvbihBRERfR0VQTEFOREVfQUNUSUVTLCAoYWN0aWU6IEFjdGllLCBwdWljczogc3RyaW5nW10pID0+ICh7IGFjdGllLCBwdWljcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRBY3RpZU9wUml0U2VsZWN0aWVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0FDVElFT1BSSVRfU0VMRUNUSUVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldE9uZ2VwbGFuZGVBY3RpZVNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9PTkdFUExBTkRFQUNUSUVfU0VMRUNUSUVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZU9uZ2VwbGFuZGVBY3RpZVNlbGVjdGllSWQgPSBjcmVhdGVBY3Rpb24oREVMRVRFX09OR0VQTEFOREVfQUNUSUVfU0VMRUNUSUVfSUQsIChpZDogc3RyaW5nKSA9PiAoeyBpZCB9KSk7XG5cbmV4cG9ydCBjb25zdCBBZGRPbmdlcGxhbmRlQWN0aWUgPSBjcmVhdGVBY3Rpb24oQUREX09OR0VQTEFOREVfQUNUSUUsIChvbmdlcGxhbmRlQWN0aWU6IE9uZ2VwbGFuZGVBY3RpZSkgPT4gKHsgb25nZXBsYW5kZUFjdGllIH0pKTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZU9uZ2VwbGFuZGVBY3RpZSA9IGNyZWF0ZUFjdGlvbihERUxFVEVfT05HRVBMQU5ERV9BQ1RJRSwgKG9uZ2VwbGFuZGVBY3RpZTogT25nZXBsYW5kZUFjdGllKSA9PiAoeyBvbmdlcGxhbmRlQWN0aWUgfSkpO1xuXG5leHBvcnQgY29uc3QgQmVwYWFsT25nZXBsYW5kZUFjdGllcyA9IGNyZWF0ZUFjdGlvbihCRVBBQUxfT05HRVBMQU5ERV9BQ1RJRVMsIChvbmdlcGxhbmRlQWN0aWVzOiBhbnlbXSkgPT4gKHsgb25nZXBsYW5kZUFjdGllcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRPbmdlcGxhbmRlQWN0aWVzID0gY3JlYXRlQWN0aW9uKFNFVF9PTkdFUExBTkRFX0FDVElFUyxcbiAgICAob25nZXBsYW5kZUFjdGllc01hcDogQXJyYXlNdWx0aW1hcDxzdHJpbmcsIE9uZ2VwbGFuZGVBY3RpZT4pID0+ICh7IG9uZ2VwbGFuZGVBY3RpZXNNYXAgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0R2Vicm9rZW5SaXRTZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfR0VCUk9LRU5SSVRfU0VMRUNUSUVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEFsdGVybmF0aWV2ZW5TZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQUxURVJOQVRJRVZFTl9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0JFR0lOU0VJTl9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0RWluZFNlaW5TZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfRUlORFNFSU5fU0VMRUNUSUVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0FMVEVSTkFUSUVWRU5fQ0xJQ0tBQkxFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRFaW5kU2VpbmVuQ2xpY2thYmxlSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9FSU5EU0VJTkVOX0NMSUNLQUJMRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0Q29ubmVjdG9yZW5DbGlja2FibGVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0NPTk5FQ1RPUkVOX0NMSUNLQUJMRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0JFR0lOU0VJTl9SSUdIVENMSUNLQUJMRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0TmlldXdSb3V0ZUJlZ2luU2VpbiA9IGNyZWF0ZUFjdGlvbihTRVRfTklFVVdfUk9VVEVfQkVHSU5TRUlOLFxuICAgIChzdGFydFNlaW5PcFJpdGRlZWw6IFNlaW5PcFJpdGRlZWwpID0+ICh7IHN0YXJ0U2Vpbk9wUml0ZGVlbCB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXROaWV1d1JvdXRlRWluZFNlaW4gPSBjcmVhdGVBY3Rpb24oU0VUX05JRVVXX1JPVVRFX0VJTkRTRUlOLFxuICAgIChjb21iaW5hdGllVm9vckVpbmRzZWluOiBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllKSA9PiAoeyBjb21iaW5hdGllVm9vckVpbmRzZWluIH0pKTtcblxuZXhwb3J0IGNvbnN0IFJlc2V0TmlldXdlUm91dGUgPSBjcmVhdGVBY3Rpb24oUkVTRVRfTklFVVdFX1JPVVRFKTtcblxuZXhwb3J0IGNvbnN0IFNldFNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MgPSBjcmVhdGVBY3Rpb24oU0VUX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyxcbiAgICAoZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdLCBpYXZlcnNpZWluZm86IGFueSwgdHJlaW5wYWQ6IGFueSwgcGFnaW5hdGlvblNpemU6IG51bWJlciwgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbjogYm9vbGVhbikgPT5cbiAgICAgICAgKHsgZHRvcywgaWF2ZXJzaWVpbmZvLCB0cmVpbnBhZCwgcGFnaW5hdGlvblNpemUsIHJpdEdld2lqemlnZFRvZWdlc3RhYW4gfSkpO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyA9IGNyZWF0ZUFjdGlvbihVUERBVEVfU0lHTkFMRVJJTkdTQkVFTERfSU5GT19EVE9TLFxuICAgIChkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pID0+ICh7IGR0b3MgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MgPSBjcmVhdGVBY3Rpb24oU0VUX1ZJU0lCTEVfU0lHTkFMRVJJTkdTQkVFTERfSU5GT19EVE9TLFxuICAgIChkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pID0+ICh7IGR0b3MgfSkpO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MgPSBjcmVhdGVBY3Rpb24oVVBEQVRFX1ZJU0lCTEVfU0lHTkFMRVJJTkdTQkVFTERfSU5GT19EVE9TLFxuICAgIChkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pID0+ICh7IGR0b3MgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0SWFWZXJzaWUgPSBjcmVhdGVBY3Rpb24oU0VUX0lBX1ZFUlNJRSwgKGlhVmVyc2llOiBJbmZyYU1vZGVsKSA9PiAoeyBpYVZlcnNpZSB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRTdmdJbmZvcyA9IGNyZWF0ZUFjdGlvbihTRVRfU1ZHX0lORk9TLCAoc3ZnSW5mb3M6IFN2Z0luZm9bXSkgPT4gKHsgc3ZnSW5mb3MgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0RGVidWcgPSBjcmVhdGVBY3Rpb24oU0VUX0RFQlVHLCAoZGVidWc6IGJvb2xlYW4pID0+ICh7IGRlYnVnIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEFsZ2VtZW5lUml0SW5mbyA9IGNyZWF0ZUFjdGlvbihTRVRfQUxHRU1FTkVfUklUX0lORk8sIChhbGdlbWVuZVJpdEluZm9EdG86IEFsZ2VtZW5lUml0RHRvKSA9PiAoeyBhbGdlbWVuZVJpdEluZm9EdG8gfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0T25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPSBjcmVhdGVBY3Rpb24oU0VUX09OR0VQTEFOREVfQUNUSUVTX0JFUEFBTEQsIChiZXBhYWxkOiBib29sZWFuKSA9PiAoeyBiZXBhYWxkIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNob3dQcm9ncmVzcyA9IGNyZWF0ZUFjdGlvbihTSE9XX1BST0dSRVNTX0lORElDQVRPUik7XG5leHBvcnQgY29uc3QgQ2xlYXJQcm9ncmVzcyA9IGNyZWF0ZUFjdGlvbihDTEVBUl9QUk9HUkVTU19JTkRJQ0FUT1IpO1xuZXhwb3J0IGNvbnN0IEJld2VnaW5nSW52b2VnZW4gPSBjcmVhdGVBY3Rpb24oQkVXRUdJTkdfSU5WT0VHRU4sXG4gICAgKHN0YXJ0U2Vpbk9wUml0ZGVlbDogU2Vpbk9wUml0ZGVlbCwgcHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWU6IE1hcDxzdHJpbmcsIFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWU+KSA9PlxuICAgICAgICAoeyBzdGFydFNlaW5PcFJpdGRlZWwsIHB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllIH0pKTtcblxuZXhwb3J0IGNvbnN0IEtldXJBbGxlQWN0aWVzR29lZCA9IGNyZWF0ZUFjdGlvbihLRVVSX0FMTEVfQUNUSUVTX0dPRUQsIChiZXdlZ2luZ2VuOiBCZXdlZ2luZ1tdLCBvbmdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdKSA9PiAoeyBiZXdlZ2luZ2VuLCBvbmdlcGxhbmRlQWN0aWVzIH0pKTtcbmV4cG9ydCBjb25zdCBVcGRhdGVSaXQgPSBjcmVhdGVBY3Rpb24oVVBEQVRFX1JJVCwgKGJld2VnaW5nZW46IEJld2VnaW5nW10pID0+ICh7IGJld2VnaW5nZW4gfSkpO1xuZXhwb3J0IGNvbnN0IFNldEJhc2VVcmwgPSBjcmVhdGVBY3Rpb24oU0VUX0JBU0VfVVJMLCAoYmFzZVVybDogc3RyaW5nKSA9PiAoeyBiYXNlVXJsIH0pKTtcblxuZXhwb3J0IGNvbnN0IGxhYWRFblZlcndlcmtTaWduYWxlcmluZ3NiZWVsZEluZm8gPSBjcmVhdGVBY3Rpb24oTEFBRF9FTl9WRVJXRVJLX1NJR05BTEVSSU5HU0JFRUxEX0lORk8sXG4gICAgKHJpdDogUml0LCBwYWdpbmF0aW9uU2l6ZTogbnVtYmVyLCBwcGxnczogc3RyaW5nW10sIHJpdEdld2lqemlnZFRvZWdlc3RhYW46IGJvb2xlYW4pID0+ICh7IHJpdCwgcGFnaW5hdGlvblNpemUsIHBwbGdzLCByaXRHZXdpanppZ2RUb2VnZXN0YWFuIH0pKTtcbmV4cG9ydCBjb25zdCBuYXZpZ2VlckJ1aXRlblJpdCA9IGNyZWF0ZUFjdGlvbihOQVZJR0VFUl9CVUlURU5fUklULCAocmFuZFB1aWM6IHN0cmluZykgPT4gKHsgcmFuZFB1aWMgfSkpO1xuXG5leHBvcnQgY29uc3QgZm9jdXNPcFJpdGRlZWwgPSBjcmVhdGVBY3Rpb24oRk9DVVNfT1BfUklUREVFTCwgKHJpdGRlZWw6IFJpdGRlZWwsIHBhZ2luYXRpb25TaXplOiBudW1iZXIsIGlhVmVyc2llSW5mbzogSW5mcmFNb2RlbCkgPT4gKHsgcml0ZGVlbCwgcGFnaW5hdGlvblNpemUsIGlhVmVyc2llSW5mbyB9KSApXG5leHBvcnQgY29uc3QgZm9jdXNPcElkcyA9IGNyZWF0ZUFjdGlvbihGT0NVU19PUF9JRFMsIChwdWljczogc3RyaW5nW10pID0+ICh7IHB1aWNzIH0pKTtcbmV4cG9ydCBjb25zdCBiZXBhYWxTYkluZm9zID0gY3JlYXRlQWN0aW9uKEJFUEFBTF9TQl9JTkZPUywgKHJpdDogUml0LCBvbmdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdLCBpYVZlcnNpZTogc3RyaW5nLCByaXRHZXdpanppZ2RUb2VnZXN0YWFuOiBib29sZWFuLCBwYWdpbmF0aW9uU2l6ZTogbnVtYmVyKSA9PiAoeyByaXQsIG9uZ2VwbGFuZGVBY3RpZXMsIGlhVmVyc2llLCByaXRHZXdpanppZ2RUb2VnZXN0YWFuLCBwYWdpbmF0aW9uU2l6ZSB9KSk7XG5leHBvcnQgY29uc3QgU2V0U2VsZWN0ZWRSaXRkZWVsID0gY3JlYXRlQWN0aW9uKFNFVF9TRUxFQ1RFRF9SSVRERUVMLCAoaWQ6IG51bWJlcikgPT4gKHsgaWQgfSkpO1xuXG4vLyBkbyBub3QgZXhwb3J0IHJldHVybiB2YWx1ZVxuY29uc3QgbXN0QWN0aW9ucyA9IHVuaW9uKHtcbiAgICBzZXRFZGl0YWJsZSxcbiAgICBTZXRSaXRTZWxlY3RpZUlkcyxcbiAgICBTZXRHZXBsYW5kZUFjdGllcyxcbiAgICBEZWxldGVHZXBsYW5kZUFjdGllLFxuICAgIEFkZEdlcGxhbmRlQWN0aWUsXG4gICAgU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzLFxuICAgIFNldE9uZ2VwbGFuZGVBY3RpZVNlbGVjdGllSWRzLFxuICAgIERlbGV0ZU9uZ2VwbGFuZGVBY3RpZVNlbGVjdGllSWQsXG4gICAgQWRkT25nZXBsYW5kZUFjdGllLFxuICAgIERlbGV0ZU9uZ2VwbGFuZGVBY3RpZSxcbiAgICBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzLFxuICAgIFNldE9uZ2VwbGFuZGVBY3RpZXMsXG4gICAgU2V0R2Vicm9rZW5SaXRTZWxlY3RpZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMsXG4gICAgU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0RWluZFNlaW5TZWxlY3RpZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzLFxuICAgIFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMsXG4gICAgU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMsXG4gICAgU2V0TmlldXdSb3V0ZUJlZ2luU2VpbixcbiAgICBTZXROaWV1d1JvdXRlRWluZFNlaW4sXG4gICAgUmVzZXROaWV1d2VSb3V0ZSxcbiAgICBTZXRTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zLFxuICAgIFVwZGF0ZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MsXG4gICAgU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MsXG4gICAgVXBkYXRlVmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MsXG4gICAgU2V0SWFWZXJzaWUsXG4gICAgU2V0U3ZnSW5mb3MsXG4gICAgU2V0RGVidWcsXG4gICAgU2V0QWxnZW1lbmVSaXRJbmZvLFxuICAgIFNldE9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkLFxuICAgIFNob3dQcm9ncmVzcyxcbiAgICBDbGVhclByb2dyZXNzLFxuICAgIEJld2VnaW5nSW52b2VnZW4sXG4gICAgS2V1ckFsbGVBY3RpZXNHb2VkLFxuICAgIFVwZGF0ZVJpdCxcbiAgICBzZXRTZWxlY3RlZFJpdGRlZWw6IFNldFNlbGVjdGVkUml0ZGVlbFxufSk7XG5cbi8vIGV4cG9ydCBvbmx5IHR5cGVcbmV4cG9ydCB0eXBlIE1zdEFjdGlvbnNVbmlvbiA9IHR5cGVvZiBtc3RBY3Rpb25zO1xuXG5cblxuIl19
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zdGF0ZS9hY3Rpb25zL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFVbEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHFDQUFxQyxDQUFDO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLHVDQUF1QyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLDZCQUE2QixDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDhCQUE4QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLGlDQUFpQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLG1DQUFtQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLCtCQUErQixDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFN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QUUsZ0JBQXlCLEVBQUUsUUFBZ0IsRUFBRSxzQkFBK0IsRUFBRSxjQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFOVAsNkJBQTZCO0FBQzdCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNyQixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0Isc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsc0NBQXNDO0lBQ3RDLFdBQVc7SUFDWCxXQUFXO0lBQ1gsUUFBUTtJQUNSLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsWUFBWTtJQUNaLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFNBQVM7Q0FDWixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdmdJbmZvIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCB1bmlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFsZ2VtZW5lUml0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZ2VuZXJhdGVkL29wZW5hcGknO1xuaW1wb3J0IHsgT25nZXBsYW5kZUFjdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvb25nZXBsYW5kZS1hY3RpZSc7XG5pbXBvcnQgeyBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmlqd2VncGxhbi1yaWp3ZWctZHdhbmctY29tYmluYXRpZSc7XG5pbXBvcnQgeyBSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBTZWluT3BSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vpbi1vcC1yaXRkZWVsJztcbmltcG9ydCB7IEFjdGllLCBCZXdlZ2luZywgSW5mcmFNb2RlbCwgUml0IH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8gfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvc2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlJztcbmltcG9ydCB7IEFycmF5TXVsdGltYXAgfSBmcm9tICcuLi8uLi91dGlsL211bHRpLW1hcCc7XG5cbmV4cG9ydCBjb25zdCBTRVRfRURJVEFCTEUgPSAnW21zdF0gU2V0RWRpdGFibGUnO1xuZXhwb3J0IGNvbnN0IFNFVF9SSVRfU0VMRUNUSUVfSURTID0gJ1ttc3RdIFNldFJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIFNldEdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBERUxFVEVfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIERlbGV0ZUdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBBRERfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIEFkZEdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBTRVRfQUNUSUVPUFJJVF9TRUxFQ1RJRV9JRFMgPSAnW21zdF0gU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERUFDVElFX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkcyc7XG5leHBvcnQgY29uc3QgREVMRVRFX09OR0VQTEFOREVfQUNUSUVfU0VMRUNUSUVfSUQgPSAnW21zdF0gRGVsZXRlT25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZCc7XG5leHBvcnQgY29uc3QgQUREX09OR0VQTEFOREVfQUNUSUUgPSAnW21zdF0gQWRkT25nZXBsYW5kZUFjdGllJztcbmV4cG9ydCBjb25zdCBERUxFVEVfT05HRVBMQU5ERV9BQ1RJRSA9ICdbbXN0XSBEZWxldGVPbmdlcGxhbmRlQWN0aWUnO1xuZXhwb3J0IGNvbnN0IEJFUEFBTF9PTkdFUExBTkRFX0FDVElFUyA9ICdbbXN0XSBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERV9BQ1RJRVMgPSAnW21zdF0gU2V0T25nZXBsYW5kZUFjdGllcyc7XG5leHBvcnQgY29uc3QgU0VUX0dFQlJPS0VOUklUX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQUxURVJOQVRJRVZFTl9TRUxFQ1RJRV9JRFMgPSAnW21zdF0gU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQkVHSU5TRUlOX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0VJTkRTRUlOX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRFaW5kU2VpblNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQUxURVJOQVRJRVZFTl9DTElDS0FCTEVfSURTID0gJ1ttc3RdIFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9FSU5EU0VJTkVOX0NMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0NPTk5FQ1RPUkVOX0NMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0Q29ubmVjdG9yZW5saWNrYWJsZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0JFR0lOU0VJTl9SSUdIVENMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9OSUVVV19ST1VURV9CRUdJTlNFSU4gPSAnW21zdF0gU2V0TmlldXdSb3V0ZUJlZ2luU2Vpbic7XG5leHBvcnQgY29uc3QgU0VUX05JRVVXX1JPVVRFX0VJTkRTRUlOID0gJ1ttc3RdIFNldE5pZXV3Um91dGVFaW5kU2Vpbic7XG5leHBvcnQgY29uc3QgUkVTRVRfTklFVVdFX1JPVVRFID0gJ1ttc3RdIFJlc2V0TmlldXdlUm91dGUnO1xuZXhwb3J0IGNvbnN0IFNFVF9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MgPSAnW21zdF0gU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyA9ICdbbXN0XSBVcGRhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zJztcbmV4cG9ydCBjb25zdCBTRVRfVklTSUJMRV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MgPSAnW21zdF0gU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MnO1xuZXhwb3J0IGNvbnN0IFVQREFURV9WSVNJQkxFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyA9ICdbbXN0XSBVcGRhdGVWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyc7XG5leHBvcnQgY29uc3QgU0VUX0lBX1ZFUlNJRSA9ICdbbXN0XSBTZXRJYVZlcnNpZSc7XG5leHBvcnQgY29uc3QgU0VUX0FMR0VNRU5FX1JJVF9JTkZPID0gJ1ttc3RdIFNldEFsZ2VtZW5lUml0SW5mbyc7XG5leHBvcnQgY29uc3QgU0VUX1NWR19JTkZPUyA9ICdbbXN0XSBTRVRfU1ZHX0lORk9TJztcbmV4cG9ydCBjb25zdCBTRVRfREVCVUcgPSAnW21zdF0gU0VUX0RFQlVHJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERV9BQ1RJRVNfQkVQQUFMRCA9ICdbbXN0XSBTRVRfT05HRVBMQU5ERV9BQ1RJRVNfQkVQQUFMRCc7XG5leHBvcnQgY29uc3QgQkVXRUdJTkdfSU5WT0VHRU4gPSAnW21zdF0gQmV3ZWdpbmdJbnZvZWdlbic7XG5leHBvcnQgY29uc3QgU0hPV19QUk9HUkVTU19JTkRJQ0FUT1IgPSAnW3Byb2dyZXNzXSBTaG93IHRoZSBwcm9ncmVzcyBpbmRpY2F0b3InO1xuZXhwb3J0IGNvbnN0IENMRUFSX1BST0dSRVNTX0lORElDQVRPUiA9ICdbcHJvZ3Jlc3NdIENsZWFyIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3InO1xuZXhwb3J0IGNvbnN0IEtFVVJfQUxMRV9BQ1RJRVNfR09FRCA9ICdbcHJvZ3Jlc3NdIEtldXJBbGxlQWN0aWVzR29lZCc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1JJVCA9ICdbcHJvZ3Jlc3NdIFVwZGF0ZVJpdCc7XG5leHBvcnQgY29uc3QgU0VUX0JBU0VfVVJMID0gJ1twcm9ncmVzc10gU2V0IEJhc2VVcmwnO1xuZXhwb3J0IGNvbnN0IE5BVklHRUVSX0JVSVRFTl9SSVQgPSAnW21zdF0gTmF2aWdlZXJCdWl0ZW5SaXQnO1xuZXhwb3J0IGNvbnN0IExBQURfRU5fVkVSV0VSS19TSUdOQUxFUklOR1NCRUVMRF9JTkZPID0gJ1ttc3RdIGxhYWRFblZlcndlcmtTaWduYWxlcmluZ3NiZWVsZEluZm8nO1xuXG5leHBvcnQgY29uc3QgRk9DVVNfT1BfUklUREVFTCA9ICdbbXN0XSBmb2N1c09wUml0ZGVlbCc7XG5leHBvcnQgY29uc3QgRk9DVVNfT1BfSURTID0gJ1ttc3RdIGZvY3VzT3BJZHMnO1xuZXhwb3J0IGNvbnN0IEJFUEFBTF9TQl9JTkZPUyA9ICdbbXN0XSBiZXBhYWxTYkluZm9zJztcbmV4cG9ydCBjb25zdCBTRVRfU0VMRUNURURfUklUREVFTCA9ICdbbXN0XSBTZXRTZWxlY3RlZFJpdGRlZWwnO1xuXG5leHBvcnQgY29uc3Qgc2V0RWRpdGFibGUgPSBjcmVhdGVBY3Rpb24oU0VUX0VESVRBQkxFLCAoZWRpdGFibGU6IGJvb2xlYW4pID0+ICh7IGVkaXRhYmxlIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldFJpdFNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9SSVRfU0VMRUNUSUVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEdlcGxhbmRlQWN0aWVzID0gY3JlYXRlQWN0aW9uKFNFVF9HRVBMQU5ERV9BQ1RJRVMsXG4gICAgKGdlcGxhbmRlQWN0aWVzTWFwOiBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+KSA9PiAoeyBnZXBsYW5kZUFjdGllc01hcCB9KSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVHZXBsYW5kZUFjdGllID0gY3JlYXRlQWN0aW9uKERFTEVURV9HRVBMQU5ERV9BQ1RJRVMsIChhY3RpZTogQWN0aWUsIHB1aWNzOiBzdHJpbmdbXSkgPT4gKHsgYWN0aWUsIHB1aWNzIH0pKTtcblxuZXhwb3J0IGNvbnN0IEFkZEdlcGxhbmRlQWN0aWUgPSBjcmVhdGVBY3Rpb24oQUREX0dFUExBTkRFX0FDVElFUywgKGFjdGllOiBBY3RpZSwgcHVpY3M6IHN0cmluZ1tdKSA9PiAoeyBhY3RpZSwgcHVpY3MgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9BQ1RJRU9QUklUX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfT05HRVBMQU5ERUFDVElFX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkID0gY3JlYXRlQWN0aW9uKERFTEVURV9PTkdFUExBTkRFX0FDVElFX1NFTEVDVElFX0lELCAoaWQ6IHN0cmluZykgPT4gKHsgaWQgfSkpO1xuXG5leHBvcnQgY29uc3QgQWRkT25nZXBsYW5kZUFjdGllID0gY3JlYXRlQWN0aW9uKEFERF9PTkdFUExBTkRFX0FDVElFLCAob25nZXBsYW5kZUFjdGllOiBPbmdlcGxhbmRlQWN0aWUpID0+ICh7IG9uZ2VwbGFuZGVBY3RpZSB9KSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVPbmdlcGxhbmRlQWN0aWUgPSBjcmVhdGVBY3Rpb24oREVMRVRFX09OR0VQTEFOREVfQUNUSUUsIChvbmdlcGxhbmRlQWN0aWU6IE9uZ2VwbGFuZGVBY3RpZSkgPT4gKHsgb25nZXBsYW5kZUFjdGllIH0pKTtcblxuZXhwb3J0IGNvbnN0IEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMgPSBjcmVhdGVBY3Rpb24oQkVQQUFMX09OR0VQTEFOREVfQUNUSUVTLCAob25nZXBsYW5kZUFjdGllczogYW55W10pID0+ICh7IG9uZ2VwbGFuZGVBY3RpZXMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0T25nZXBsYW5kZUFjdGllcyA9IGNyZWF0ZUFjdGlvbihTRVRfT05HRVBMQU5ERV9BQ1RJRVMsXG4gICAgKG9uZ2VwbGFuZGVBY3RpZXNNYXA6IEFycmF5TXVsdGltYXA8c3RyaW5nLCBPbmdlcGxhbmRlQWN0aWU+KSA9PiAoeyBvbmdlcGxhbmRlQWN0aWVzTWFwIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0dFQlJPS0VOUklUX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0FMVEVSTkFUSUVWRU5fU0VMRUNUSUVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEJlZ2luU2VpblNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9CRUdJTlNFSU5fU0VMRUNUSUVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEVpbmRTZWluU2VsZWN0aWVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0VJTkRTRUlOX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRBbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9BTFRFUk5BVElFVkVOX0NMSUNLQUJMRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfRUlORFNFSU5FTl9DTElDS0FCTEVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldENvbm5lY3RvcmVuQ2xpY2thYmxlSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9DT05ORUNUT1JFTl9DTElDS0FCTEVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9CRUdJTlNFSU5fUklHSFRDTElDS0FCTEVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldE5pZXV3Um91dGVCZWdpblNlaW4gPSBjcmVhdGVBY3Rpb24oU0VUX05JRVVXX1JPVVRFX0JFR0lOU0VJTixcbiAgICAoc3RhcnRTZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsKSA9PiAoeyBzdGFydFNlaW5PcFJpdGRlZWwgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0TmlldXdSb3V0ZUVpbmRTZWluID0gY3JlYXRlQWN0aW9uKFNFVF9OSUVVV19ST1VURV9FSU5EU0VJTixcbiAgICAoY29tYmluYXRpZVZvb3JFaW5kc2VpbjogUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSkgPT4gKHsgY29tYmluYXRpZVZvb3JFaW5kc2VpbiB9KSk7XG5cbmV4cG9ydCBjb25zdCBSZXNldE5pZXV3ZVJvdXRlID0gY3JlYXRlQWN0aW9uKFJFU0VUX05JRVVXRV9ST1VURSk7XG5cbmV4cG9ydCBjb25zdCBTZXRTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zID0gY3JlYXRlQWN0aW9uKFNFVF9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MsXG4gICAgKGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSwgaWF2ZXJzaWVpbmZvOiBhbnksIHRyZWlucGFkOiBhbnksIHBhZ2luYXRpb25TaXplOiBudW1iZXIsIHJpdEdld2lqemlnZFRvZWdlc3RhYW46IGJvb2xlYW4pID0+XG4gICAgICAgICh7IGR0b3MsIGlhdmVyc2llaW5mbywgdHJlaW5wYWQsIHBhZ2luYXRpb25TaXplLCByaXRHZXdpanppZ2RUb2VnZXN0YWFuIH0pKTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MgPSBjcmVhdGVBY3Rpb24oVVBEQVRFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyxcbiAgICAoZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKSA9PiAoeyBkdG9zIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldFZpc2libGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zID0gY3JlYXRlQWN0aW9uKFNFVF9WSVNJQkxFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyxcbiAgICAoZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKSA9PiAoeyBkdG9zIH0pKTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVZpc2libGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zID0gY3JlYXRlQWN0aW9uKFVQREFURV9WSVNJQkxFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyxcbiAgICAoZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKSA9PiAoeyBkdG9zIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldElhVmVyc2llID0gY3JlYXRlQWN0aW9uKFNFVF9JQV9WRVJTSUUsIChpYVZlcnNpZTogSW5mcmFNb2RlbCkgPT4gKHsgaWFWZXJzaWUgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0U3ZnSW5mb3MgPSBjcmVhdGVBY3Rpb24oU0VUX1NWR19JTkZPUywgKHN2Z0luZm9zOiBTdmdJbmZvW10pID0+ICh7IHN2Z0luZm9zIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldERlYnVnID0gY3JlYXRlQWN0aW9uKFNFVF9ERUJVRywgKGRlYnVnOiBib29sZWFuKSA9PiAoeyBkZWJ1ZyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRBbGdlbWVuZVJpdEluZm8gPSBjcmVhdGVBY3Rpb24oU0VUX0FMR0VNRU5FX1JJVF9JTkZPLCAoYWxnZW1lbmVSaXRJbmZvRHRvOiBBbGdlbWVuZVJpdER0bykgPT4gKHsgYWxnZW1lbmVSaXRJbmZvRHRvIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldE9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkID0gY3JlYXRlQWN0aW9uKFNFVF9PTkdFUExBTkRFX0FDVElFU19CRVBBQUxELCAoYmVwYWFsZDogYm9vbGVhbikgPT4gKHsgYmVwYWFsZCB9KSk7XG5cbmV4cG9ydCBjb25zdCBTaG93UHJvZ3Jlc3MgPSBjcmVhdGVBY3Rpb24oU0hPV19QUk9HUkVTU19JTkRJQ0FUT1IpO1xuZXhwb3J0IGNvbnN0IENsZWFyUHJvZ3Jlc3MgPSBjcmVhdGVBY3Rpb24oQ0xFQVJfUFJPR1JFU1NfSU5ESUNBVE9SKTtcbmV4cG9ydCBjb25zdCBCZXdlZ2luZ0ludm9lZ2VuID0gY3JlYXRlQWN0aW9uKEJFV0VHSU5HX0lOVk9FR0VOLFxuICAgIChzdGFydFNlaW5PcFJpdGRlZWw6IFNlaW5PcFJpdGRlZWwsIHB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllOiBNYXA8c3RyaW5nLCBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllPikgPT5cbiAgICAgICAgKHsgc3RhcnRTZWluT3BSaXRkZWVsLCBwdWljTmFhckVpbmRTZWluQ29tYmluYXRpZSB9KSk7XG5cbmV4cG9ydCBjb25zdCBLZXVyQWxsZUFjdGllc0dvZWQgPSBjcmVhdGVBY3Rpb24oS0VVUl9BTExFX0FDVElFU19HT0VELCAoYmV3ZWdpbmdlbjogQmV3ZWdpbmdbXSwgb25nZXBsYW5kZUFjdGllczogQWN0aWVbXSkgPT4gKHsgYmV3ZWdpbmdlbiwgb25nZXBsYW5kZUFjdGllcyB9KSk7XG5leHBvcnQgY29uc3QgVXBkYXRlUml0ID0gY3JlYXRlQWN0aW9uKFVQREFURV9SSVQsIChiZXdlZ2luZ2VuOiBCZXdlZ2luZ1tdKSA9PiAoeyBiZXdlZ2luZ2VuIH0pKTtcbmV4cG9ydCBjb25zdCBTZXRCYXNlVXJsID0gY3JlYXRlQWN0aW9uKFNFVF9CQVNFX1VSTCwgKGJhc2VVcmw6IHN0cmluZykgPT4gKHsgYmFzZVVybCB9KSk7XG5cbmV4cG9ydCBjb25zdCBsYWFkRW5WZXJ3ZXJrU2lnbmFsZXJpbmdzYmVlbGRJbmZvID0gY3JlYXRlQWN0aW9uKExBQURfRU5fVkVSV0VSS19TSUdOQUxFUklOR1NCRUVMRF9JTkZPLFxuICAgIChyaXQ6IFJpdCwgcGFnaW5hdGlvblNpemU6IG51bWJlciwgcHBsZ3M6IHN0cmluZ1tdLCByaXRHZXdpanppZ2RUb2VnZXN0YWFuOiBib29sZWFuKSA9PiAoeyByaXQsIHBhZ2luYXRpb25TaXplLCBwcGxncywgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbiB9KSk7XG5leHBvcnQgY29uc3QgbmF2aWdlZXJCdWl0ZW5SaXQgPSBjcmVhdGVBY3Rpb24oTkFWSUdFRVJfQlVJVEVOX1JJVCwgKHJhbmRQdWljOiBzdHJpbmcpID0+ICh7IHJhbmRQdWljIH0pKTtcblxuZXhwb3J0IGNvbnN0IGZvY3VzT3BSaXRkZWVsID0gY3JlYXRlQWN0aW9uKEZPQ1VTX09QX1JJVERFRUwsIChyaXRkZWVsOiBSaXRkZWVsLCBwYWdpbmF0aW9uU2l6ZTogbnVtYmVyLCBpYVZlcnNpZUluZm86IEluZnJhTW9kZWwpID0+ICh7IHJpdGRlZWwsIHBhZ2luYXRpb25TaXplLCBpYVZlcnNpZUluZm8gfSkgKVxuZXhwb3J0IGNvbnN0IGZvY3VzT3BJZHMgPSBjcmVhdGVBY3Rpb24oRk9DVVNfT1BfSURTLCAocHVpY3M6IHN0cmluZ1tdKSA9PiAoeyBwdWljcyB9KSk7XG5leHBvcnQgY29uc3QgYmVwYWFsU2JJbmZvcyA9IGNyZWF0ZUFjdGlvbihCRVBBQUxfU0JfSU5GT1MsIChyaXQ6IFJpdCwgb25nZXBsYW5kZUFjdGllczogQWN0aWVbXSwgaWFWZXJzaWU6IHN0cmluZywgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbjogYm9vbGVhbiwgcGFnaW5hdGlvblNpemU6IG51bWJlcikgPT4gKHsgcml0LCBvbmdlcGxhbmRlQWN0aWVzLCBpYVZlcnNpZSwgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbiwgcGFnaW5hdGlvblNpemUgfSkpO1xuXG4vLyBkbyBub3QgZXhwb3J0IHJldHVybiB2YWx1ZVxuY29uc3QgbXN0QWN0aW9ucyA9IHVuaW9uKHtcbiAgICBzZXRFZGl0YWJsZSxcbiAgICBTZXRSaXRTZWxlY3RpZUlkcyxcbiAgICBTZXRHZXBsYW5kZUFjdGllcyxcbiAgICBEZWxldGVHZXBsYW5kZUFjdGllLFxuICAgIEFkZEdlcGxhbmRlQWN0aWUsXG4gICAgU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzLFxuICAgIFNldE9uZ2VwbGFuZGVBY3RpZVNlbGVjdGllSWRzLFxuICAgIERlbGV0ZU9uZ2VwbGFuZGVBY3RpZVNlbGVjdGllSWQsXG4gICAgQWRkT25nZXBsYW5kZUFjdGllLFxuICAgIERlbGV0ZU9uZ2VwbGFuZGVBY3RpZSxcbiAgICBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzLFxuICAgIFNldE9uZ2VwbGFuZGVBY3RpZXMsXG4gICAgU2V0R2Vicm9rZW5SaXRTZWxlY3RpZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMsXG4gICAgU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0RWluZFNlaW5TZWxlY3RpZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzLFxuICAgIFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMsXG4gICAgU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMsXG4gICAgU2V0TmlldXdSb3V0ZUJlZ2luU2VpbixcbiAgICBTZXROaWV1d1JvdXRlRWluZFNlaW4sXG4gICAgUmVzZXROaWV1d2VSb3V0ZSxcbiAgICBTZXRTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zLFxuICAgIFVwZGF0ZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MsXG4gICAgU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MsXG4gICAgVXBkYXRlVmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MsXG4gICAgU2V0SWFWZXJzaWUsXG4gICAgU2V0U3ZnSW5mb3MsXG4gICAgU2V0RGVidWcsXG4gICAgU2V0QWxnZW1lbmVSaXRJbmZvLFxuICAgIFNldE9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkLFxuICAgIFNob3dQcm9ncmVzcyxcbiAgICBDbGVhclByb2dyZXNzLFxuICAgIEJld2VnaW5nSW52b2VnZW4sXG4gICAgS2V1ckFsbGVBY3RpZXNHb2VkLFxuICAgIFVwZGF0ZVJpdFxufSk7XG5cbi8vIGV4cG9ydCBvbmx5IHR5cGVcbmV4cG9ydCB0eXBlIE1zdEFjdGlvbnNVbmlvbiA9IHR5cGVvZiBtc3RBY3Rpb25zO1xuXG5cblxuIl19
|