@loxia/mst-viewer 8.1.3-202511181116 → 8.1.3-202511191453
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/carousel-controls/carousel-controls.component.mjs +5 -6
- package/esm2022/lib/components/mstviewer/mstviewer.component.mjs +4 -4
- package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +12 -13
- package/esm2022/lib/model/km-range.mjs +2 -2
- package/esm2022/lib/services/print-beweging.service.mjs +23 -20
- package/esm2022/lib/services/signalerings-beeld-manager.service.mjs +1 -1
- package/esm2022/lib/services/viewer-control.service.mjs +8 -6
- package/esm2022/lib/state/actions/actions.mjs +1 -2
- package/esm2022/lib/state/actions/ritdelen.actions.mjs +4 -4
- package/esm2022/lib/state/effect/focus-effect.mjs +2 -2
- package/esm2022/lib/state/effect/laad-route-files.effect.mjs +6 -6
- package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +2 -2
- package/esm2022/lib/util/actie-helper.mjs +6 -6
- package/esm2022/lib/util/utils.mjs +4 -1
- package/fesm2022/loxia-mst-viewer.mjs +63 -61
- package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
- package/lib/components/carousel-controls/carousel-controls.component.d.ts +1 -3
- package/lib/components/viewer-controls/viewer-controls.component.d.ts +2 -3
- package/lib/model/km-range.d.ts +1 -1
- package/lib/services/print-beweging.service.d.ts +1 -3
- package/lib/services/signalerings-beeld-manager.service.d.ts +1 -1
- package/lib/services/viewer-control.service.d.ts +0 -2
- package/lib/state/actions/actions.d.ts +0 -1
- package/lib/state/actions/ritdelen.actions.d.ts +3 -7
- package/lib/state/effect/laad-route-files.effect.d.ts +2 -4
- package/package.json +1 -1
|
@@ -42,7 +42,6 @@ export const LAAD_EN_VERWERK_SIGNALERINGSBEELD_INFO = '[mst] laadEnVerwerkSignal
|
|
|
42
42
|
export const FOCUS_OP_RITDEEL = '[mst] focusOpRitdeel';
|
|
43
43
|
export const FOCUS_OP_IDS = '[mst] focusOpIds';
|
|
44
44
|
export const BEPAAL_SB_INFOS = '[mst] bepaalSbInfos';
|
|
45
|
-
export const SET_SELECTED_RITDEEL = '[mst] SetSelectedRitdeel';
|
|
46
45
|
export const setEditable = createAction(SET_EDITABLE, (editable) => ({ editable }));
|
|
47
46
|
export const SetRitSelectieIds = createAction(SET_RIT_SELECTIE_IDS, (ids) => ({ ids }));
|
|
48
47
|
export const SetGeplandeActies = createAction(SET_GEPLANDE_ACTIES, (geplandeActiesMap) => ({ geplandeActiesMap }));
|
|
@@ -125,4 +124,4 @@ const mstActions = union({
|
|
|
125
124
|
KeurAlleActiesGoed,
|
|
126
125
|
UpdateRit
|
|
127
126
|
});
|
|
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
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zdGF0ZS9hY3Rpb25zL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFVbEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHFDQUFxQyxDQUFDO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLHVDQUF1QyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLDZCQUE2QixDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDhCQUE4QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLGlDQUFpQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLG1DQUFtQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLCtCQUErQixDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLDhCQUE4QixDQUFDO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLGlDQUFpQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLGlDQUFpQyxDQUFDO0FBQy9FLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHFDQUFxQyxDQUFDO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLDhCQUE4QixDQUFDO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDZCQUE2QixDQUFDO0FBQ3RFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLHVDQUF1QyxDQUFDO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLDJDQUEyQyxDQUFDO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLDBDQUEwQyxHQUFHLDhDQUE4QyxDQUFDO0FBQ3pHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRywwQkFBMEIsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHFDQUFxQyxDQUFDO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLHdDQUF3QyxDQUFDO0FBQ2hGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLHlDQUF5QyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLCtCQUErQixDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsd0JBQXdCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsMENBQTBDLENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsc0JBQXNCLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFN0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixFQUFFLENBQUMsR0FBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxtQkFBbUIsRUFDN0QsQ0FBQyxpQkFBK0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWxGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEtBQVksRUFBRSxLQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRS9ILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQVksRUFBRSxLQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRXpILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFlBQVksQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEdBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxZQUFZLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQyxHQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFMUgsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUFDLG1DQUFtQyxFQUFFLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFbEksTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsWUFBWSxDQUFDLHVCQUF1QixFQUFFLENBQUMsZUFBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV4SSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxnQkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWxJLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxxQkFBcUIsRUFDakUsQ0FBQyxtQkFBMkQsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWhHLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLFlBQVksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLEdBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVsSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxZQUFZLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxHQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdEgsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDLDBCQUEwQixFQUFFLENBQUMsR0FBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTlHLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEdBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUU1RyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxHQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFeEgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsWUFBWSxDQUFDLDRCQUE0QixFQUFFLENBQUMsR0FBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWxILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLFlBQVksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLEdBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVwSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxZQUFZLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQyxHQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFMUgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDLHlCQUF5QixFQUN4RSxDQUFDLGtCQUFpQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixFQUN0RSxDQUFDLHNCQUF1RCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFL0YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsWUFBWSxDQUFDLCtCQUErQixFQUNwRixDQUFDLElBQWlDLEVBQUUsWUFBaUIsRUFBRSxRQUFhLEVBQUUsY0FBc0IsRUFBRSxzQkFBK0IsRUFBRSxFQUFFLENBQzdILENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFcEYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUFDLGtDQUFrQyxFQUMxRixDQUFDLElBQWlDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsWUFBWSxDQUFDLHVDQUF1QyxFQUNuRyxDQUFDLElBQWlDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsWUFBWSxDQUFDLDBDQUEwQyxFQUN6RyxDQUFDLElBQWlDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVqRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxrQkFBa0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRXhJLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLFlBQVksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFM0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsaUJBQWlCLEVBQzFELENBQUMsa0JBQWlDLEVBQUUsMEJBQXdFLEVBQUUsRUFBRSxDQUM1RyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUMsVUFBc0IsRUFBRSxnQkFBeUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqSyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEcsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFekYsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsWUFBWSxDQUFDLHNDQUFzQyxFQUNqRyxDQUFDLEdBQVEsRUFBRSxjQUFzQixFQUFFLEtBQWUsRUFBRSxzQkFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3RKLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFekcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQWdCLEVBQUUsY0FBc0IsRUFBRSxZQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFFLENBQUE7QUFDbEwsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxHQUFRLEVBQUUsZ0JBQXlCLEVBQUUsUUFBZ0IsRUFBRSxzQkFBK0IsRUFBRSxjQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFOVAsNkJBQTZCO0FBQzdCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNyQixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0Isc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsc0NBQXNDO0lBQ3RDLFdBQVc7SUFDWCxXQUFXO0lBQ1gsUUFBUTtJQUNSLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsWUFBWTtJQUNaLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFNBQVM7Q0FDWixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdmdJbmZvIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCB1bmlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFsZ2VtZW5lUml0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZ2VuZXJhdGVkL29wZW5hcGknO1xuaW1wb3J0IHsgT25nZXBsYW5kZUFjdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvb25nZXBsYW5kZS1hY3RpZSc7XG5pbXBvcnQgeyBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmlqd2VncGxhbi1yaWp3ZWctZHdhbmctY29tYmluYXRpZSc7XG5pbXBvcnQgeyBSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBTZWluT3BSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vpbi1vcC1yaXRkZWVsJztcbmltcG9ydCB7IEFjdGllLCBCZXdlZ2luZywgSW5mcmFNb2RlbCwgUml0IH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8gfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvc2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlJztcbmltcG9ydCB7IEFycmF5TXVsdGltYXAgfSBmcm9tICcuLi8uLi91dGlsL211bHRpLW1hcCc7XG5cbmV4cG9ydCBjb25zdCBTRVRfRURJVEFCTEUgPSAnW21zdF0gU2V0RWRpdGFibGUnO1xuZXhwb3J0IGNvbnN0IFNFVF9SSVRfU0VMRUNUSUVfSURTID0gJ1ttc3RdIFNldFJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIFNldEdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBERUxFVEVfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIERlbGV0ZUdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBBRERfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIEFkZEdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBTRVRfQUNUSUVPUFJJVF9TRUxFQ1RJRV9JRFMgPSAnW21zdF0gU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERUFDVElFX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkcyc7XG5leHBvcnQgY29uc3QgREVMRVRFX09OR0VQTEFOREVfQUNUSUVfU0VMRUNUSUVfSUQgPSAnW21zdF0gRGVsZXRlT25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZCc7XG5leHBvcnQgY29uc3QgQUREX09OR0VQTEFOREVfQUNUSUUgPSAnW21zdF0gQWRkT25nZXBsYW5kZUFjdGllJztcbmV4cG9ydCBjb25zdCBERUxFVEVfT05HRVBMQU5ERV9BQ1RJRSA9ICdbbXN0XSBEZWxldGVPbmdlcGxhbmRlQWN0aWUnO1xuZXhwb3J0IGNvbnN0IEJFUEFBTF9PTkdFUExBTkRFX0FDVElFUyA9ICdbbXN0XSBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERV9BQ1RJRVMgPSAnW21zdF0gU2V0T25nZXBsYW5kZUFjdGllcyc7XG5leHBvcnQgY29uc3QgU0VUX0dFQlJPS0VOUklUX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQUxURVJOQVRJRVZFTl9TRUxFQ1RJRV9JRFMgPSAnW21zdF0gU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQkVHSU5TRUlOX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0VJTkRTRUlOX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRFaW5kU2VpblNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQUxURVJOQVRJRVZFTl9DTElDS0FCTEVfSURTID0gJ1ttc3RdIFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9FSU5EU0VJTkVOX0NMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0NPTk5FQ1RPUkVOX0NMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0Q29ubmVjdG9yZW5saWNrYWJsZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0JFR0lOU0VJTl9SSUdIVENMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9OSUVVV19ST1VURV9CRUdJTlNFSU4gPSAnW21zdF0gU2V0TmlldXdSb3V0ZUJlZ2luU2Vpbic7XG5leHBvcnQgY29uc3QgU0VUX05JRVVXX1JPVVRFX0VJTkRTRUlOID0gJ1ttc3RdIFNldE5pZXV3Um91dGVFaW5kU2Vpbic7XG5leHBvcnQgY29uc3QgUkVTRVRfTklFVVdFX1JPVVRFID0gJ1ttc3RdIFJlc2V0TmlldXdlUm91dGUnO1xuZXhwb3J0IGNvbnN0IFNFVF9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MgPSAnW21zdF0gU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyA9ICdbbXN0XSBVcGRhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zJztcbmV4cG9ydCBjb25zdCBTRVRfVklTSUJMRV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MgPSAnW21zdF0gU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MnO1xuZXhwb3J0IGNvbnN0IFVQREFURV9WSVNJQkxFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyA9ICdbbXN0XSBVcGRhdGVWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyc7XG5leHBvcnQgY29uc3QgU0VUX0lBX1ZFUlNJRSA9ICdbbXN0XSBTZXRJYVZlcnNpZSc7XG5leHBvcnQgY29uc3QgU0VUX0FMR0VNRU5FX1JJVF9JTkZPID0gJ1ttc3RdIFNldEFsZ2VtZW5lUml0SW5mbyc7XG5leHBvcnQgY29uc3QgU0VUX1NWR19JTkZPUyA9ICdbbXN0XSBTRVRfU1ZHX0lORk9TJztcbmV4cG9ydCBjb25zdCBTRVRfREVCVUcgPSAnW21zdF0gU0VUX0RFQlVHJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERV9BQ1RJRVNfQkVQQUFMRCA9ICdbbXN0XSBTRVRfT05HRVBMQU5ERV9BQ1RJRVNfQkVQQUFMRCc7XG5leHBvcnQgY29uc3QgQkVXRUdJTkdfSU5WT0VHRU4gPSAnW21zdF0gQmV3ZWdpbmdJbnZvZWdlbic7XG5leHBvcnQgY29uc3QgU0hPV19QUk9HUkVTU19JTkRJQ0FUT1IgPSAnW3Byb2dyZXNzXSBTaG93IHRoZSBwcm9ncmVzcyBpbmRpY2F0b3InO1xuZXhwb3J0IGNvbnN0IENMRUFSX1BST0dSRVNTX0lORElDQVRPUiA9ICdbcHJvZ3Jlc3NdIENsZWFyIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3InO1xuZXhwb3J0IGNvbnN0IEtFVVJfQUxMRV9BQ1RJRVNfR09FRCA9ICdbcHJvZ3Jlc3NdIEtldXJBbGxlQWN0aWVzR29lZCc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1JJVCA9ICdbcHJvZ3Jlc3NdIFVwZGF0ZVJpdCc7XG5leHBvcnQgY29uc3QgU0VUX0JBU0VfVVJMID0gJ1twcm9ncmVzc10gU2V0IEJhc2VVcmwnO1xuZXhwb3J0IGNvbnN0IE5BVklHRUVSX0JVSVRFTl9SSVQgPSAnW21zdF0gTmF2aWdlZXJCdWl0ZW5SaXQnO1xuZXhwb3J0IGNvbnN0IExBQURfRU5fVkVSV0VSS19TSUdOQUxFUklOR1NCRUVMRF9JTkZPID0gJ1ttc3RdIGxhYWRFblZlcndlcmtTaWduYWxlcmluZ3NiZWVsZEluZm8nO1xuXG5leHBvcnQgY29uc3QgRk9DVVNfT1BfUklUREVFTCA9ICdbbXN0XSBmb2N1c09wUml0ZGVlbCc7XG5leHBvcnQgY29uc3QgRk9DVVNfT1BfSURTID0gJ1ttc3RdIGZvY3VzT3BJZHMnO1xuZXhwb3J0IGNvbnN0IEJFUEFBTF9TQl9JTkZPUyA9ICdbbXN0XSBiZXBhYWxTYkluZm9zJztcblxuZXhwb3J0IGNvbnN0IHNldEVkaXRhYmxlID0gY3JlYXRlQWN0aW9uKFNFVF9FRElUQUJMRSwgKGVkaXRhYmxlOiBib29sZWFuKSA9PiAoeyBlZGl0YWJsZSB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRSaXRTZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfUklUX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRHZXBsYW5kZUFjdGllcyA9IGNyZWF0ZUFjdGlvbihTRVRfR0VQTEFOREVfQUNUSUVTLFxuICAgIChnZXBsYW5kZUFjdGllc01hcDogQXJyYXlNdWx0aW1hcDxBY3RpZSwgc3RyaW5nPikgPT4gKHsgZ2VwbGFuZGVBY3RpZXNNYXAgfSkpO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlR2VwbGFuZGVBY3RpZSA9IGNyZWF0ZUFjdGlvbihERUxFVEVfR0VQTEFOREVfQUNUSUVTLCAoYWN0aWU6IEFjdGllLCBwdWljczogc3RyaW5nW10pID0+ICh7IGFjdGllLCBwdWljcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBBZGRHZXBsYW5kZUFjdGllID0gY3JlYXRlQWN0aW9uKEFERF9HRVBMQU5ERV9BQ1RJRVMsIChhY3RpZTogQWN0aWUsIHB1aWNzOiBzdHJpbmdbXSkgPT4gKHsgYWN0aWUsIHB1aWNzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQUNUSUVPUFJJVF9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0T25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX09OR0VQTEFOREVBQ1RJRV9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlT25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZCA9IGNyZWF0ZUFjdGlvbihERUxFVEVfT05HRVBMQU5ERV9BQ1RJRV9TRUxFQ1RJRV9JRCwgKGlkOiBzdHJpbmcpID0+ICh7IGlkIH0pKTtcblxuZXhwb3J0IGNvbnN0IEFkZE9uZ2VwbGFuZGVBY3RpZSA9IGNyZWF0ZUFjdGlvbihBRERfT05HRVBMQU5ERV9BQ1RJRSwgKG9uZ2VwbGFuZGVBY3RpZTogT25nZXBsYW5kZUFjdGllKSA9PiAoeyBvbmdlcGxhbmRlQWN0aWUgfSkpO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlT25nZXBsYW5kZUFjdGllID0gY3JlYXRlQWN0aW9uKERFTEVURV9PTkdFUExBTkRFX0FDVElFLCAob25nZXBsYW5kZUFjdGllOiBPbmdlcGxhbmRlQWN0aWUpID0+ICh7IG9uZ2VwbGFuZGVBY3RpZSB9KSk7XG5cbmV4cG9ydCBjb25zdCBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzID0gY3JlYXRlQWN0aW9uKEJFUEFBTF9PTkdFUExBTkRFX0FDVElFUywgKG9uZ2VwbGFuZGVBY3RpZXM6IGFueVtdKSA9PiAoeyBvbmdlcGxhbmRlQWN0aWVzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldE9uZ2VwbGFuZGVBY3RpZXMgPSBjcmVhdGVBY3Rpb24oU0VUX09OR0VQTEFOREVfQUNUSUVTLFxuICAgIChvbmdlcGxhbmRlQWN0aWVzTWFwOiBBcnJheU11bHRpbWFwPHN0cmluZywgT25nZXBsYW5kZUFjdGllPikgPT4gKHsgb25nZXBsYW5kZUFjdGllc01hcCB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9HRUJST0tFTlJJVF9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9BTFRFUk5BVElFVkVOX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQkVHSU5TRUlOX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRFaW5kU2VpblNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9FSU5EU0VJTl9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQUxURVJOQVRJRVZFTl9DTElDS0FCTEVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0VJTkRTRUlORU5fQ0xJQ0tBQkxFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRDb25uZWN0b3JlbkNsaWNrYWJsZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQ09OTkVDVE9SRU5fQ0xJQ0tBQkxFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRCZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQkVHSU5TRUlOX1JJR0hUQ0xJQ0tBQkxFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXROaWV1d1JvdXRlQmVnaW5TZWluID0gY3JlYXRlQWN0aW9uKFNFVF9OSUVVV19ST1VURV9CRUdJTlNFSU4sXG4gICAgKHN0YXJ0U2Vpbk9wUml0ZGVlbDogU2Vpbk9wUml0ZGVlbCkgPT4gKHsgc3RhcnRTZWluT3BSaXRkZWVsIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldE5pZXV3Um91dGVFaW5kU2VpbiA9IGNyZWF0ZUFjdGlvbihTRVRfTklFVVdfUk9VVEVfRUlORFNFSU4sXG4gICAgKGNvbWJpbmF0aWVWb29yRWluZHNlaW46IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUpID0+ICh7IGNvbWJpbmF0aWVWb29yRWluZHNlaW4gfSkpO1xuXG5leHBvcnQgY29uc3QgUmVzZXROaWV1d2VSb3V0ZSA9IGNyZWF0ZUFjdGlvbihSRVNFVF9OSUVVV0VfUk9VVEUpO1xuXG5leHBvcnQgY29uc3QgU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyA9IGNyZWF0ZUFjdGlvbihTRVRfU0lHTkFMRVJJTkdTQkVFTERfSU5GT19EVE9TLFxuICAgIChkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10sIGlhdmVyc2llaW5mbzogYW55LCB0cmVpbnBhZDogYW55LCBwYWdpbmF0aW9uU2l6ZTogbnVtYmVyLCByaXRHZXdpanppZ2RUb2VnZXN0YWFuOiBib29sZWFuKSA9PlxuICAgICAgICAoeyBkdG9zLCBpYXZlcnNpZWluZm8sIHRyZWlucGFkLCBwYWdpbmF0aW9uU2l6ZSwgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbiB9KSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zID0gY3JlYXRlQWN0aW9uKFVQREFURV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MsXG4gICAgKGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSkgPT4gKHsgZHRvcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyA9IGNyZWF0ZUFjdGlvbihTRVRfVklTSUJMRV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MsXG4gICAgKGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSkgPT4gKHsgZHRvcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyA9IGNyZWF0ZUFjdGlvbihVUERBVEVfVklTSUJMRV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MsXG4gICAgKGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSkgPT4gKHsgZHRvcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRJYVZlcnNpZSA9IGNyZWF0ZUFjdGlvbihTRVRfSUFfVkVSU0lFLCAoaWFWZXJzaWU6IEluZnJhTW9kZWwpID0+ICh7IGlhVmVyc2llIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldFN2Z0luZm9zID0gY3JlYXRlQWN0aW9uKFNFVF9TVkdfSU5GT1MsIChzdmdJbmZvczogU3ZnSW5mb1tdKSA9PiAoeyBzdmdJbmZvcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXREZWJ1ZyA9IGNyZWF0ZUFjdGlvbihTRVRfREVCVUcsIChkZWJ1ZzogYm9vbGVhbikgPT4gKHsgZGVidWcgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QWxnZW1lbmVSaXRJbmZvID0gY3JlYXRlQWN0aW9uKFNFVF9BTEdFTUVORV9SSVRfSU5GTywgKGFsZ2VtZW5lUml0SW5mb0R0bzogQWxnZW1lbmVSaXREdG8pID0+ICh7IGFsZ2VtZW5lUml0SW5mb0R0byB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRPbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IGNyZWF0ZUFjdGlvbihTRVRfT05HRVBMQU5ERV9BQ1RJRVNfQkVQQUFMRCwgKGJlcGFhbGQ6IGJvb2xlYW4pID0+ICh7IGJlcGFhbGQgfSkpO1xuXG5leHBvcnQgY29uc3QgU2hvd1Byb2dyZXNzID0gY3JlYXRlQWN0aW9uKFNIT1dfUFJPR1JFU1NfSU5ESUNBVE9SKTtcbmV4cG9ydCBjb25zdCBDbGVhclByb2dyZXNzID0gY3JlYXRlQWN0aW9uKENMRUFSX1BST0dSRVNTX0lORElDQVRPUik7XG5leHBvcnQgY29uc3QgQmV3ZWdpbmdJbnZvZWdlbiA9IGNyZWF0ZUFjdGlvbihCRVdFR0lOR19JTlZPRUdFTixcbiAgICAoc3RhcnRTZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsLCBwdWljTmFhckVpbmRTZWluQ29tYmluYXRpZTogTWFwPHN0cmluZywgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZT4pID0+XG4gICAgICAgICh7IHN0YXJ0U2Vpbk9wUml0ZGVlbCwgcHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUgfSkpO1xuXG5leHBvcnQgY29uc3QgS2V1ckFsbGVBY3RpZXNHb2VkID0gY3JlYXRlQWN0aW9uKEtFVVJfQUxMRV9BQ1RJRVNfR09FRCwgKGJld2VnaW5nZW46IEJld2VnaW5nW10sIG9uZ2VwbGFuZGVBY3RpZXM6IEFjdGllW10pID0+ICh7IGJld2VnaW5nZW4sIG9uZ2VwbGFuZGVBY3RpZXMgfSkpO1xuZXhwb3J0IGNvbnN0IFVwZGF0ZVJpdCA9IGNyZWF0ZUFjdGlvbihVUERBVEVfUklULCAoYmV3ZWdpbmdlbjogQmV3ZWdpbmdbXSkgPT4gKHsgYmV3ZWdpbmdlbiB9KSk7XG5leHBvcnQgY29uc3QgU2V0QmFzZVVybCA9IGNyZWF0ZUFjdGlvbihTRVRfQkFTRV9VUkwsIChiYXNlVXJsOiBzdHJpbmcpID0+ICh7IGJhc2VVcmwgfSkpO1xuXG5leHBvcnQgY29uc3QgbGFhZEVuVmVyd2Vya1NpZ25hbGVyaW5nc2JlZWxkSW5mbyA9IGNyZWF0ZUFjdGlvbihMQUFEX0VOX1ZFUldFUktfU0lHTkFMRVJJTkdTQkVFTERfSU5GTyxcbiAgICAocml0OiBSaXQsIHBhZ2luYXRpb25TaXplOiBudW1iZXIsIHBwbGdzOiBzdHJpbmdbXSwgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbjogYm9vbGVhbikgPT4gKHsgcml0LCBwYWdpbmF0aW9uU2l6ZSwgcHBsZ3MsIHJpdEdld2lqemlnZFRvZWdlc3RhYW4gfSkpO1xuZXhwb3J0IGNvbnN0IG5hdmlnZWVyQnVpdGVuUml0ID0gY3JlYXRlQWN0aW9uKE5BVklHRUVSX0JVSVRFTl9SSVQsIChyYW5kUHVpYzogc3RyaW5nKSA9PiAoeyByYW5kUHVpYyB9KSk7XG5cbmV4cG9ydCBjb25zdCBmb2N1c09wUml0ZGVlbCA9IGNyZWF0ZUFjdGlvbihGT0NVU19PUF9SSVRERUVMLCAocml0ZGVlbDogUml0ZGVlbCwgcGFnaW5hdGlvblNpemU6IG51bWJlciwgaWFWZXJzaWVJbmZvOiBJbmZyYU1vZGVsKSA9PiAoeyByaXRkZWVsLCBwYWdpbmF0aW9uU2l6ZSwgaWFWZXJzaWVJbmZvIH0pIClcbmV4cG9ydCBjb25zdCBmb2N1c09wSWRzID0gY3JlYXRlQWN0aW9uKEZPQ1VTX09QX0lEUywgKHB1aWNzOiBzdHJpbmdbXSkgPT4gKHsgcHVpY3MgfSkpO1xuZXhwb3J0IGNvbnN0IGJlcGFhbFNiSW5mb3MgPSBjcmVhdGVBY3Rpb24oQkVQQUFMX1NCX0lORk9TLCAocml0OiBSaXQsIG9uZ2VwbGFuZGVBY3RpZXM6IEFjdGllW10sIGlhVmVyc2llOiBzdHJpbmcsIHJpdEdld2lqemlnZFRvZWdlc3RhYW46IGJvb2xlYW4sIHBhZ2luYXRpb25TaXplOiBudW1iZXIpID0+ICh7IHJpdCwgb25nZXBsYW5kZUFjdGllcywgaWFWZXJzaWUsIHJpdEdld2lqemlnZFRvZWdlc3RhYW4sIHBhZ2luYXRpb25TaXplIH0pKTtcblxuLy8gZG8gbm90IGV4cG9ydCByZXR1cm4gdmFsdWVcbmNvbnN0IG1zdEFjdGlvbnMgPSB1bmlvbih7XG4gICAgc2V0RWRpdGFibGUsXG4gICAgU2V0Uml0U2VsZWN0aWVJZHMsXG4gICAgU2V0R2VwbGFuZGVBY3RpZXMsXG4gICAgRGVsZXRlR2VwbGFuZGVBY3RpZSxcbiAgICBBZGRHZXBsYW5kZUFjdGllLFxuICAgIFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyxcbiAgICBTZXRPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkcyxcbiAgICBEZWxldGVPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkLFxuICAgIEFkZE9uZ2VwbGFuZGVBY3RpZSxcbiAgICBEZWxldGVPbmdlcGxhbmRlQWN0aWUsXG4gICAgQmVwYWFsT25nZXBsYW5kZUFjdGllcyxcbiAgICBTZXRPbmdlcGxhbmRlQWN0aWVzLFxuICAgIFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzLFxuICAgIFNldEJlZ2luU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEVpbmRTZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRFaW5kU2VpbmVuQ2xpY2thYmxlSWRzLFxuICAgIFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzLFxuICAgIFNldE5pZXV3Um91dGVCZWdpblNlaW4sXG4gICAgU2V0TmlldXdSb3V0ZUVpbmRTZWluLFxuICAgIFJlc2V0TmlldXdlUm91dGUsXG4gICAgU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyxcbiAgICBVcGRhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zLFxuICAgIFNldFZpc2libGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zLFxuICAgIFVwZGF0ZVZpc2libGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zLFxuICAgIFNldElhVmVyc2llLFxuICAgIFNldFN2Z0luZm9zLFxuICAgIFNldERlYnVnLFxuICAgIFNldEFsZ2VtZW5lUml0SW5mbyxcbiAgICBTZXRPbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCxcbiAgICBTaG93UHJvZ3Jlc3MsXG4gICAgQ2xlYXJQcm9ncmVzcyxcbiAgICBCZXdlZ2luZ0ludm9lZ2VuLFxuICAgIEtldXJBbGxlQWN0aWVzR29lZCxcbiAgICBVcGRhdGVSaXRcbn0pO1xuXG4vLyBleHBvcnQgb25seSB0eXBlXG5leHBvcnQgdHlwZSBNc3RBY3Rpb25zVW5pb24gPSB0eXBlb2YgbXN0QWN0aW9ucztcblxuXG5cbiJdfQ==
|
|
@@ -13,10 +13,10 @@ export const DELETE_RITDEEL_ACTIE = '[mst] DeleteRitdeelActie';
|
|
|
13
13
|
export const ADD_RITDEEL_ACTIE = '[mst] AddRitdeelActie';
|
|
14
14
|
export const NAVIGEER = '[mst] Navigeer';
|
|
15
15
|
export const NAVIGEER_VANAF = '[mst] NavigeerVanaf';
|
|
16
|
-
export const setRitDelen = createAction(SET_RIT_DELEN, (ritDelen, paginationSize
|
|
16
|
+
export const setRitDelen = createAction(SET_RIT_DELEN, (ritDelen, paginationSize) => ({ ritDelen, paginationSize }));
|
|
17
17
|
export const setRitdelenAfterUpdate = createAction(SET_RIT_DELEN_AFTER_UPDATE, (ritDelen) => ({ ritDelen }));
|
|
18
|
-
export const navigeer = createAction(NAVIGEER, (stapSize, paginationSize
|
|
19
|
-
export const navigeerVanaf = createAction(NAVIGEER_VANAF, (paginationSize,
|
|
18
|
+
export const navigeer = createAction(NAVIGEER, (stapSize, paginationSize) => ({ stapSize, paginationSize }));
|
|
19
|
+
export const navigeerVanaf = createAction(NAVIGEER_VANAF, (paginationSize, ritdeel) => ({ paginationSize, ritdeel }));
|
|
20
20
|
export const updateRitDelen = createAction(UPDATE_RIT_DELEN, (ritDelen) => ({ ritDelen }));
|
|
21
21
|
export const toggleRitdeelZichtbaar = createAction(TOGGLE_RITDEEL_ZICHTBAAR, (ritDeel) => ({ ritDeel }));
|
|
22
22
|
export const setRitdeelZichtbaar = createAction(SET_RITDEEL_ZICHTBAAR, (ritDeel, zichtbaar) => ({ ritDeel, zichtbaar }));
|
|
@@ -42,4 +42,4 @@ const ritdeelActions = union({
|
|
|
42
42
|
setAlternatieveRitDelen,
|
|
43
43
|
ritdeelInvoegen
|
|
44
44
|
});
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0ZGVsZW4uYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zdGF0ZS9hY3Rpb25zL3JpdGRlbGVuLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFNaEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLDhCQUE4QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDhCQUE4QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLHlDQUF5QyxDQUFDO0FBQzlGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLCtCQUErQixDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRywwQkFBMEIsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsYUFBYSxFQUNqRCxD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SUFDYixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLDRCQUE0QjtJQUM1QixpQ0FBaUM7SUFDakMsdUJBQXVCO0lBQ3ZCLGVBQWU7Q0FDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVBY3Rpb24sIHVuaW9ufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge0FsdGVybmF0aWVmUml0RGVlbH0gZnJvbSAnLi4vLi4vbW9kZWwvYWx0ZXJuYXRpZWYtcml0LWRlZWwnO1xuaW1wb3J0IHtOaWV1d2VSb3V0ZX0gZnJvbSAnLi4vLi4vbW9kZWwvbmlldXdlLXJvdXRlJztcbmltcG9ydCB7Uml0ZGVlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQge0FjdGllfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuXG5leHBvcnQgY29uc3QgU0VUX1JJVF9ERUxFTiA9ICdbbXN0XSBTZXRSaXREZWxlbic7XG5leHBvcnQgY29uc3QgU0VUX1JJVF9ERUxFTl9BRlRFUl9VUERBVEUgPSAnW21zdF0gU2V0Uml0RGVsZW5BZnRlclVwZGF0ZSc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1JJVF9ERUxFTiA9ICdbbXN0XSBVcGRhdGVSaXREZWxlbic7XG5leHBvcnQgY29uc3QgVE9HR0xFX1JJVERFRUxfWklDSFRCQUFSID0gJ1ttc3RdIFRvZ2dsZVJpdGRlZWxaaWNodGJhYXInO1xuZXhwb3J0IGNvbnN0IFNFVF9SSVRERUVMX1pJQ0hUQkFBUiA9ICdbbXN0XSBaZXRSaXRkZWVsWmljaHRiYWFyJztcbmV4cG9ydCBjb25zdCBTRVRfWklDSFRCQUFSSEVJRF9BTExFX1JJVERFTEVOID0gJ1ttc3RdIFNldFppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4nO1xuZXhwb3J0IGNvbnN0IFRPR0dMRV9aSUNIVEJBQVJIRUlEX1ZPT1JfQkVXRUdJTkdFTiA9ICdbbXN0XSBUb2dnbGVaaWNodGJhYXJoZWlkVm9vckJld2VnaW5nZW4nO1xuZXhwb3J0IGNvbnN0IFNFVF9BTFRFUk5BVElFVkVfUklUX0RFTEVOID0gJ1ttc3RdIFNldEFsdGVybmF0aWV2ZVJpdERlbGVuJztcbmV4cG9ydCBjb25zdCBSSVRERUVMX0lOVk9FR0VOID0gJ1ttc3RdIFJpdGRlZWxJbnZvZWdlbic7XG5leHBvcnQgY29uc3QgREVMRVRFX1JJVERFRUwgPSAnW21zdF0gRGVsZXRlUml0ZGVlbCc7XG5leHBvcnQgY29uc3QgREVMRVRFX1JJVERFRUxfQUNUSUUgPSAnW21zdF0gRGVsZXRlUml0ZGVlbEFjdGllJztcbmV4cG9ydCBjb25zdCBBRERfUklUREVFTF9BQ1RJRSA9ICdbbXN0XSBBZGRSaXRkZWVsQWN0aWUnO1xuZXhwb3J0IGNvbnN0IE5BVklHRUVSID0gJ1ttc3RdIE5hdmlnZWVyJztcbmV4cG9ydCBjb25zdCBOQVZJR0VFUl9WQU5BRiA9ICdbbXN0XSBOYXZpZ2VlclZhbmFmJztcblxuZXhwb3J0IGNvbnN0IHNldFJpdERlbGVuID0gY3JlYXRlQWN0aW9uKFNFVF9SSVRfREVMRU4sXG4gICAgKHJpdERlbGVuOiBSaXRkZWVsW10sIHBhZ2luYXRpb25TaXplOiBudW1iZXIpID0+ICh7IHJpdERlbGVuLCBwYWdpbmF0aW9uU2l6ZX0pKTtcbmV4cG9ydCBjb25zdCBzZXRSaXRkZWxlbkFmdGVyVXBkYXRlID0gY3JlYXRlQWN0aW9uKFNFVF9SSVRfREVMRU5fQUZURVJfVVBEQVRFLFxuICAgIChyaXREZWxlbjogUml0ZGVlbFtdKSA9PiAoeyByaXREZWxlbiB9KSk7XG5leHBvcnQgY29uc3QgbmF2aWdlZXIgPSBjcmVhdGVBY3Rpb24oTkFWSUdFRVIsXG4gICAgKHN0YXBTaXplOiBudW1iZXIsIHBhZ2luYXRpb25TaXplOiBudW1iZXIpID0+ICh7IHN0YXBTaXplLCBwYWdpbmF0aW9uU2l6ZSB9KSk7XG5leHBvcnQgY29uc3QgbmF2aWdlZXJWYW5hZiA9IGNyZWF0ZUFjdGlvbihOQVZJR0VFUl9WQU5BRixcbiAgICAocGFnaW5hdGlvblNpemU6IG51bWJlciwgcml0ZGVlbDogUml0ZGVlbCkgPT4gKHsgcGFnaW5hdGlvblNpemUsIHJpdGRlZWwgfSkpO1xuZXhwb3J0IGNvbnN0IHVwZGF0ZVJpdERlbGVuID0gY3JlYXRlQWN0aW9uKFVQREFURV9SSVRfREVMRU4sXG4gICAgKHJpdERlbGVuOiBSaXRkZWVsW10pID0+ICh7IHJpdERlbGVuIH0pKTtcbmV4cG9ydCBjb25zdCB0b2dnbGVSaXRkZWVsWmljaHRiYWFyID0gY3JlYXRlQWN0aW9uKFRPR0dMRV9SSVRERUVMX1pJQ0hUQkFBUiwgKHJpdERlZWw6IFJpdGRlZWwpID0+ICh7IHJpdERlZWwgfSkpO1xuZXhwb3J0IGNvbnN0IHNldFJpdGRlZWxaaWNodGJhYXIgPSBjcmVhdGVBY3Rpb24oU0VUX1JJVERFRUxfWklDSFRCQUFSLFxuICAgIChyaXREZWVsOiBSaXRkZWVsLCB6aWNodGJhYXI6IGJvb2xlYW4pID0+ICh7IHJpdERlZWwsIHppY2h0YmFhciB9KSk7XG5leHBvcnQgY29uc3QgZGVsZXRlUml0ZGVlbCA9IGNyZWF0ZUFjdGlvbihERUxFVEVfUklUREVFTCwgKHJpdERlZWw6IFJpdGRlZWwpID0+ICh7IHJpdERlZWwgfSkpO1xuZXhwb3J0IGNvbnN0IGRlbGV0ZVJpdGRlZWxBY3RpZSA9IGNyZWF0ZUFjdGlvbihERUxFVEVfUklUREVFTF9BQ1RJRSwgKHJpdERlZWw6IFJpdGRlZWwsIGFjdGllOiBBY3RpZSkgPT4gKHsgcml0RGVlbCwgYWN0aWUgfSkpO1xuZXhwb3J0IGNvbnN0IGFkZFJpdGRlZWxBY3RpZSA9IGNyZWF0ZUFjdGlvbihBRERfUklUREVFTF9BQ1RJRSwgKHJpdERlZWw6IFJpdGRlZWwsIGFjdGllOiBBY3RpZSkgPT4gKHsgcml0RGVlbCwgYWN0aWUgfSkpO1xuZXhwb3J0IGNvbnN0IHNldFppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4gPSBjcmVhdGVBY3Rpb24oU0VUX1pJQ0hUQkFBUkhFSURfQUxMRV9SSVRERUxFTixcbiAgICAoemljaHRiYWFyaGVpZDogYm9vbGVhbikgPT4gKHsgemljaHRiYWFyaGVpZCB9KSk7XG5leHBvcnQgY29uc3QgdG9nZ2xlWmljaHRiYWFyaGVpZFZvb3JCZXdlZ2luZ2VuID0gY3JlYXRlQWN0aW9uKFRPR0dMRV9aSUNIVEJBQVJIRUlEX1ZPT1JfQkVXRUdJTkdFTixcbiAgICAoYmV3ZWdpbmdJZHM6IG51bWJlcltdKSA9PiAoeyBiZXdlZ2luZ0lkcyB9KSk7XG5leHBvcnQgY29uc3Qgc2V0QWx0ZXJuYXRpZXZlUml0RGVsZW4gPSBjcmVhdGVBY3Rpb24oU0VUX0FMVEVSTkFUSUVWRV9SSVRfREVMRU4sXG4gICAgKGFsdGVybmF0aWV2ZVJpdERlZWw6IEFsdGVybmF0aWVmUml0RGVlbCkgPT4gKHsgYWx0ZXJuYXRpZXZlUml0RGVlbCB9KSk7XG5leHBvcnQgY29uc3Qgcml0ZGVlbEludm9lZ2VuID0gY3JlYXRlQWN0aW9uKFJJVERFRUxfSU5WT0VHRU4sXG4gICAgKG5pZXV3ZVJvdXRlOiBOaWV1d2VSb3V0ZSkgPT4gKHsgbmlldXdlUm91dGUgfSkpO1xuXG4vLyBkbyBub3QgZXhwb3J0IHJldHVybiB2YWx1ZVxuY29uc3Qgcml0ZGVlbEFjdGlvbnMgPSB1bmlvbih7XG4gICAgc2V0Uml0RGVsZW4sXG4gICAgdXBkYXRlUml0RGVsZW4sXG4gICAgc2V0Uml0ZGVsZW5BZnRlclVwZGF0ZSxcbiAgICB0b2dnbGVSaXRkZWVsWmljaHRiYWFyLFxuICAgIHNldFJpdGRlZWxaaWNodGJhYXIsXG4gICAgZGVsZXRlUml0ZGVlbCxcbiAgICBkZWxldGVSaXRkZWVsQWN0aWUsXG4gICAgYWRkUml0ZGVlbEFjdGllLFxuICAgIHNldFppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4sXG4gICAgdG9nZ2xlWmljaHRiYWFyaGVpZFZvb3JCZXdlZ2luZ2VuLFxuICAgIHNldEFsdGVybmF0aWV2ZVJpdERlbGVuLFxuICAgIHJpdGRlZWxJbnZvZWdlblxufSk7XG5cbi8vIGV4cG9ydCBvbmx5IHR5cGVcbmV4cG9ydCB0eXBlIFJpdERlZWxBY3Rpb25zVW5pb24gPSB0eXBlb2Ygcml0ZGVlbEFjdGlvbnM7XG4iXX0=
|
|
@@ -19,7 +19,7 @@ export class FocusEffect {
|
|
|
19
19
|
const dwangPuics = this.getPuics(topoElementen);
|
|
20
20
|
if (ritdeel.isNietBeschikbaar()) {
|
|
21
21
|
this.store.dispatch(SetOngeplandeActiesBepaald(false));
|
|
22
|
-
this.store.dispatch(navigeerVanaf(actie.paginationSize,
|
|
22
|
+
this.store.dispatch(navigeerVanaf(actie.paginationSize, ritdeel));
|
|
23
23
|
}
|
|
24
24
|
return MstActions.focusOpIds(dwangPuics);
|
|
25
25
|
})));
|
|
@@ -33,4 +33,4 @@ export class FocusEffect {
|
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FocusEffect, decorators: [{
|
|
34
34
|
type: Injectable
|
|
35
35
|
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }, { type: i3.SignaleringsBeeldManagerService }] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL3N0YXRlL2VmZmVjdC9mb2N1cy1lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sS0FBSyxVQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQUk1RCxNQUFNLE9BQU8sV0FBVztJQUVwQixZQUFvQixRQUFpQixFQUNqQixLQUE0QixFQUM1QixVQUEyQztRQUYzQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQWlDO1FBRy9ELHFCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDcEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFDakMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUN6QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzlCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDL0UsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUVoRCxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEUsQ0FBQztZQUVELE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUNOLENBQUM7SUFqQkYsQ0FBQztJQW1CTyxRQUFRLENBQUMsYUFBcUM7UUFDbEQsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0ExQlEsV0FBVztrSEFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2JibGFkIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IG1hcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2lnbmFsZXJpbmdzLWJlZWxkLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBNc3RBY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyBTZXRPbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCB9IGZyb20gJy4uL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyBuYXZpZ2VlclZhbmFmIH0gZnJvbSAnLi4vYWN0aW9ucy9yaXRkZWxlbi5hY3Rpb25zJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vbXN0LWVkaXRvci1zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb2N1c0VmZmVjdCB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPE1zdEVkaXRvclN0YXRlPixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHNibVNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBmb2N1c09wQmV3ZWdpbmckID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKE1zdEFjdGlvbnMuZm9jdXNPcFJpdGRlZWwpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlKSxcbiAgICAgICAgbWFwKChbYWN0aWUsIF9zdG9yZVN0YXRlXSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgcml0ZGVlbCA9IGFjdGllLnJpdGRlZWw7XG4gICAgICAgICAgICBjb25zdCB0b3BvRWxlbWVudGVuID0gdGhpcy5zYm1TZXJ2aWNlLmJlcGFhbFJvdXRlRWxlbWVudGVuKHJpdGRlZWwuZ2V0Um91dGUoKSk7XG4gICAgICAgICAgICBjb25zdCBkd2FuZ1B1aWNzID0gdGhpcy5nZXRQdWljcyh0b3BvRWxlbWVudGVuKTtcblxuICAgICAgICAgICAgaWYgKHJpdGRlZWwuaXNOaWV0QmVzY2hpa2JhYXIoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0T25nZXBsYW5kZUFjdGllc0JlcGFhbGQoZmFsc2UpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5hdmlnZWVyVmFuYWYoYWN0aWUucGFnaW5hdGlvblNpemUsIHJpdGRlZWwpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIE1zdEFjdGlvbnMuZm9jdXNPcElkcyhkd2FuZ1B1aWNzKTtcbiAgICAgICAgfSkpXG4gICAgKTtcblxuICAgIHByaXZhdGUgZ2V0UHVpY3ModG9wb0VsZW1lbnRlbjogc2JibGFkLkhhc0lkZW50aWZpZXJbXSk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRvcG9FbGVtZW50ZW4ubWFwKGUgPT4gZS5nZXRQdWljKCkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { createEffect, ofType } from '@ngrx/effects';
|
|
3
|
-
import { map, take } from 'rxjs/operators';
|
|
3
|
+
import { map, take, withLatestFrom } from 'rxjs/operators';
|
|
4
4
|
import { MessageBuilder } from '../../util/message-builder';
|
|
5
5
|
import Utils from '../../util/utils';
|
|
6
6
|
import * as MstActions from '../actions/actions';
|
|
@@ -19,13 +19,13 @@ export class LaadRouteFilesEffect {
|
|
|
19
19
|
this.ritLezer = ritLezer;
|
|
20
20
|
this.editorService = editorService;
|
|
21
21
|
this.messagesService = messagesService;
|
|
22
|
-
this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), map(action => this.laadRouteFiles(action))), { dispatch: false });
|
|
22
|
+
this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), withLatestFrom(this.store), map(([action, storeState]) => this.laadRouteFiles(action, storeState.iaVersie.versie))), { dispatch: false });
|
|
23
23
|
}
|
|
24
|
-
laadRouteFiles(actie) {
|
|
24
|
+
laadRouteFiles(actie, iaVersie) {
|
|
25
25
|
const isReady = this.editorService.isReady();
|
|
26
26
|
isReady.then(() => {
|
|
27
27
|
const pplgs = this.bepaalSbDtoPplgs(actie.dtos);
|
|
28
|
-
const promise = this.editorService.laadRouteFiles(
|
|
28
|
+
const promise = this.editorService.laadRouteFiles(iaVersie, pplgs);
|
|
29
29
|
promise.then(() => {
|
|
30
30
|
this.updateRitdelen(actie);
|
|
31
31
|
}, (err) => {
|
|
@@ -39,7 +39,7 @@ export class LaadRouteFilesEffect {
|
|
|
39
39
|
if (ritdelen.length === 0) {
|
|
40
40
|
ritdelen = this.ritLezer.parseRit(actie.treinpad, actie.ritGewijzigdToegestaan);
|
|
41
41
|
}
|
|
42
|
-
this.store.dispatch(RitdelenActions.setRitDelen(ritdelen, actie.paginationSize
|
|
42
|
+
this.store.dispatch(RitdelenActions.setRitDelen(ritdelen, actie.paginationSize));
|
|
43
43
|
this.store.dispatch(MstActions.setEditable(actie.treinpad.ritStatus !== 'Definitief'));
|
|
44
44
|
});
|
|
45
45
|
}, 0);
|
|
@@ -61,4 +61,4 @@ export class LaadRouteFilesEffect {
|
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LaadRouteFilesEffect, decorators: [{
|
|
62
62
|
type: Injectable
|
|
63
63
|
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }, { type: i3.RitLezerService }, { type: i4.EditorService }, { type: i5.MessagesService }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFhZC1yb3V0ZS1maWxlcy5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvc3RhdGUvZWZmZWN0L2xhYWQtcm91dGUtZmlsZXMuZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sS0FBSyxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxVQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxLQUFLLGVBQWUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQUkvRCxNQUFNLE9BQU8sb0JBQW9CO0lBTzdCLFlBQTZCLFFBQWlCLEVBQ2pCLEtBQTRCLEVBQzVCLFFBQXlCLEVBQ3pCLGFBQTRCLEVBQzVCLGVBQWdDO1FBSmhDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBVjdELGlCQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsRUFDcEMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUMvRyxDQUFDO0lBT0YsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUtkLEVBQUUsUUFBZ0I7UUFDZixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbkUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDLEVBQUUsQ0FBQyxHQUFVLEVBQUUsRUFBRTtnQkFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUt0QjtRQUNHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUM3RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUNwRixDQUFDO2dCQUVELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDM0YsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBaUM7UUFDdEQsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzhHQTdEUSxvQkFBb0I7a0hBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IG1hcCwgdGFrZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hdG9taWMtY29tcG9uZW50cy9zZXJ2aWNlcy9tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8gfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvc2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBSaXRMZXplclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yaXQtbGV6ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNZXNzYWdlQnVpbGRlciB9IGZyb20gJy4uLy4uL3V0aWwvbWVzc2FnZS1idWlsZGVyJztcbmltcG9ydCBVdGlscyBmcm9tICcuLi8uLi91dGlsL3V0aWxzJztcbmltcG9ydCAqIGFzIE1zdEFjdGlvbnMgZnJvbSAnLi4vYWN0aW9ucy9hY3Rpb25zJztcbmltcG9ydCB7IFNldFNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MgfSBmcm9tICcuLi9hY3Rpb25zL2FjdGlvbnMnO1xuaW1wb3J0ICogYXMgUml0ZGVsZW5BY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvcml0ZGVsZW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uL21zdC1lZGl0b3Itc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGFhZFJvdXRlRmlsZXNFZmZlY3Qge1xuICAgIGF1dGhBY3Rpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShTZXRTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZSksXG4gICAgICAgIG1hcCgoW2FjdGlvbiwgc3RvcmVTdGF0ZV0pID0+IHRoaXMubGFhZFJvdXRlRmlsZXMoYWN0aW9uLCBzdG9yZVN0YXRlLmlhVmVyc2llLnZlcnNpZSkpKSwgeyBkaXNwYXRjaDogZmFsc2UgfVxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPE1zdEVkaXRvclN0YXRlPixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJpdExlemVyOiBSaXRMZXplclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZXNTZXJ2aWNlOiBNZXNzYWdlc1NlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBsYWFkUm91dGVGaWxlcyhhY3RpZToge1xuICAgICAgICBkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW107XG4gICAgICAgIHRyZWlucGFkOiBhbnk7XG4gICAgICAgIHBhZ2luYXRpb25TaXplOiBudW1iZXI7XG4gICAgICAgIHJpdEdld2lqemlnZFRvZWdlc3RhYW46IGJvb2xlYW5cbiAgICB9LCBpYVZlcnNpZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzUmVhZHkgPSB0aGlzLmVkaXRvclNlcnZpY2UuaXNSZWFkeSgpO1xuICAgICAgICBpc1JlYWR5LnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHBsZ3MgPSB0aGlzLmJlcGFhbFNiRHRvUHBsZ3MoYWN0aWUuZHRvcyk7XG4gICAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmxhYWRSb3V0ZUZpbGVzKGlhVmVyc2llLCBwcGxncyk7XG5cbiAgICAgICAgICAgIHByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSaXRkZWxlbihhY3RpZSk7XG4gICAgICAgICAgICB9LCAoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXNTZXJ2aWNlLnNob3dNZXNzYWdlKE1lc3NhZ2VCdWlsZGVyLnJ3cERhdGFOaWV0R2V2b25kZW4oVXRpbHMuZ2V0VmFsaWRFcm9yck1lc3NhZ2UoZXJyKSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUml0ZGVsZW4oYWN0aWU6IHtcbiAgICAgICAgZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdO1xuICAgICAgICB0cmVpbnBhZDogYW55O1xuICAgICAgICBwYWdpbmF0aW9uU2l6ZTogbnVtYmVyO1xuICAgICAgICByaXRHZXdpanppZ2RUb2VnZXN0YWFuOiBib29sZWFuXG4gICAgfSk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJpdGRlbGVuID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocml0ZGVsZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpdGRlbGVuID0gdGhpcy5yaXRMZXplci5wYXJzZVJpdChhY3RpZS50cmVpbnBhZCwgYWN0aWUucml0R2V3aWp6aWdkVG9lZ2VzdGFhbik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuc2V0Uml0RGVsZW4ocml0ZGVsZW4sIGFjdGllLnBhZ2luYXRpb25TaXplKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLnNldEVkaXRhYmxlKGFjdGllLnRyZWlucGFkLnJpdFN0YXR1cyAhPT0gJ0RlZmluaXRpZWYnKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxTYkR0b1BwbGdzKGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IGFueVtdIHtcbiAgICAgICAgY29uc3QgcHBsZ3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGR0b3MuZm9yRWFjaChkdG8gPT4ge1xuICAgICAgICAgICAgZHRvLnBwbGdzLmZvckVhY2gocHBsZyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFwcGxncy5pbmNsdWRlcyhwcGxnKSkge1xuICAgICAgICAgICAgICAgICAgICBwcGxncy5wdXNoKHBwbGcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBwbGdzO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -76,7 +76,7 @@ export class LaadSignaleringsbeeldenEffect {
|
|
|
76
76
|
const visibleRitPplgs = visibleRitDelen.map(r => r.getPplg()).filter(this.distinct);
|
|
77
77
|
const visibleDtos = this.bepaalZichtbareDtos(visibleRitPplgs, storeDtos);
|
|
78
78
|
const loadingDtos = this.bepaalToLoadDtos(visibleDtos, ritDelen, visibleRitDelen, visibleRitPplgs, storeState);
|
|
79
|
-
this.editorService.laadSignaleringsbeelden(
|
|
79
|
+
this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, loadingDtos).pipe(tap(svgDataUrls => {
|
|
80
80
|
this.verwerkSvgs(svgDataUrls);
|
|
81
81
|
this.updateState(ritDelen, visibleDtos, storeState, visibleRitPplgs, loadingDtos, isInit, storeDtos);
|
|
82
82
|
}), catchError(err => {
|
|
@@ -360,4 +360,4 @@ export class LaadSignaleringsbeeldenEffect {
|
|
|
360
360
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LaadSignaleringsbeeldenEffect, decorators: [{
|
|
361
361
|
type: Injectable
|
|
362
362
|
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }, { type: i3.SignaleringsBeeldManagerService }, { type: i4.EditorService }, { type: i5.SignaleringsbeeldInfoResource }, { type: i6.ConnectorService }, { type: i7.MessagesService }] });
|
|
363
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFhZC1zaWduYWxlcmluZ3NiZWVsZGVuLmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zdGF0ZS9lZmZlY3QvbGFhZC1zaWduYWxlcmluZ3NiZWVsZGVuLmVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkUsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkYsT0FBTyxFQUFXLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFNcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sS0FBSyxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxVQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkcsT0FBTyxLQUFLLGVBQWUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7O0FBdUMvRCxNQUFNLE9BQU8sNkJBQTZCO0lBSXRDLFlBQTZCLFFBQWlCLEVBQ2pCLEtBQTRCLEVBQzVCLCtCQUFnRSxFQUNoRSxhQUE0QixFQUM1QixXQUEwQyxFQUMxQyxnQkFBa0MsRUFDbEMsZUFBZ0M7UUFOaEMsYUFBUSxHQUFSLFFB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Q0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFtQjtRQUN0QyxLQUFLLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO2dCQUMvQixPQUFPLENBQUMsQ0FBQztZQUNiLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNkLENBQUM7OEdBbmFRLDZCQUE2QjtrSEFBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW14Vmlld2VyQ29tcG9uZW50LCBQb2ludCwgU3ZnSW5mbyB9IGZyb20gJ0Bsb3hpYS9pbXgtdmlld2VyJztcbmltcG9ydCB7IHNiYmxhZCB9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hdG9taWMtY29tcG9uZW50cy9zZXJ2aWNlcy9tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFJpdGRlZWwsIFJpdGRlZWxaaWNodGJhYXJoZWlkIH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBJbmZyYU1vZGVsIH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8sIFNpZ25hbGVyaW5nc2JlZWxkSW5mb1Jlc291cmNlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3NpZ25hbGVyaW5nc2JlZWxkaW5mby5yZXNvdXJjZSc7XG5pbXBvcnQgeyBDb25uZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9tZXNzYWdlLWJ1aWxkZXInO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuaW1wb3J0ICogYXMgTXN0QWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2FjdGlvbnMnO1xuaW1wb3J0IHsgU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcywgU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MgfSBmcm9tICcuLi9hY3Rpb25zL2FjdGlvbnMnO1xuaW1wb3J0ICogYXMgUml0ZGVsZW5BY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvcml0ZGVsZW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uL21zdC1lZGl0b3Itc3RhdGUnO1xuaW1wb3J0IFRvcG9sb2d5RWxlbWVudCA9IHNiYmxhZC5Ub3BvbG9neUVsZW1lbnQ7XG5cbmludGVyZmFjZSBPdGhlclJhbmRJbnB1dCB7XG4gICAgcmFuZDogVG9wb2xvZ3lFbGVtZW50O1xuICAgIHJhbmRQdWljOiBzdHJpbmc7XG4gICAgc3RvcmVTdGF0ZTogTXN0RWRpdG9yU3RhdGU7XG59XG5cbmludGVyZmFjZSBPdGhlclJhbmRSZXN1bHQge1xuICAgIG90aGVyUHBsZzogc3RyaW5nO1xuICAgIHJhbmQ6IFRvcG9sb2d5RWxlbWVudDtcbiAgICBzdG9yZVN0YXRlOiBNc3RFZGl0b3JTdGF0ZTtcbn1cblxuaW50ZXJmYWNlIEFjdGllQW5kU3RhdGVJbnB1dCB7XG4gICAgYWN0aWU6IFJldHVyblR5cGU8dHlwZW9mIE1zdEFjdGlvbnMubGFhZEVuVmVyd2Vya1NpZ25hbGVyaW5nc2JlZWxkSW5mbz47XG4gICAgc3RvcmVTdGF0ZTogTXN0RWRpdG9yU3RhdGU7XG59XG5cbmludGVyZmFjZSBEdG9zQW5kU3RhdGUge1xuICAgIGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXTtcbiAgICBzdG9yZVN0YXRlOiBNc3RFZGl0b3JTdGF0ZTtcbn1cblxuaW50ZXJmYWNlIFNiUmVzdWx0IHtcbiAgICBzdmdEYXRhVXJsczogc3RyaW5nW107XG4gICAgcml0RGVsZW46IFJpdGRlZWxbXTtcbiAgICBkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW107XG59XG5cbmludGVyZmFjZSBTaWduYWxlcmluZ3NiZWVsZEluZm9JbnB1dCB7XG4gICAgZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdO1xuICAgIGFjdGllOiBhbnk7XG4gICAgc3RvcmVTdGF0ZTogTXN0RWRpdG9yU3RhdGU7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMYWFkU2lnbmFsZXJpbmdzYmVlbGRlbkVmZmVjdCB7XG5cbiAgICBwcml2YXRlIFNWR19QSVhFTF9SVUlNVEUgPSAzMDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8TXN0RWRpdG9yU3RhdGU+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZTogU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzYmlSZXNvdXJjZTogU2lnbmFsZXJpbmdzYmVlbGRJbmZvUmVzb3VyY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0b3JTZXJ2aWNlOiBDb25uZWN0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZXNTZXJ2aWNlOiBNZXNzYWdlc1NlcnZpY2UpIHtcbiAgICB9XG5cbiAgICB2ZXJ3ZXJrUml0ZGVsZW4kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFJpdGRlbGVuQWN0aW9ucy5zZXRSaXREZWxlbiwgUml0ZGVsZW5BY3Rpb25zLm5hdmlnZWVyLCBSaXRkZWxlbkFjdGlvbnMubmF2aWdlZXJWYW5hZiksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUpLFxuICAgICAgICBtYXAoKFthY3RpZSwgc3RvcmVTdGF0ZV0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5TZXRPbmdlcGxhbmRlQWN0aWVzQmVwYWFsZChmYWxzZSkpO1xuICAgICAgICAgICAgdGhpcy52ZXJ3ZXJrUml0ZGVsZW4oYWN0aWUsIHN0b3JlU3RhdGUpO1xuICAgICAgICB9KSksIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgICApO1xuXG4gICAgbGFhZEVuVmVyd2Vya1NpZ25hbGVyaW5nc2JlZWxkSW5mbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoTXN0QWN0aW9ucy5sYWFkRW5WZXJ3ZXJrU2lnbmFsZXJpbmdzYmVlbGRJbmZvKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZSksXG4gICAgICAgIHN3aXRjaE1hcCgoW2FjdGllLCBzdG9yZVN0YXRlXSkgPT4gdGhpcy5oYW5kbGVTaWduYWxlcmluZ3NiZWVsZEluZm8oe2FjdGllLCBzdG9yZVN0YXRlfSkpXG4gICAgKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XG5cbiAgICBwcml2YXRlIGhhbmRsZVNpZ25hbGVyaW5nc2JlZWxkSW5mbyh7YWN0aWUsIHN0b3JlU3RhdGV9IDogQWN0aWVBbmRTdGF0ZUlucHV0KTogIE9ic2VydmFibGU8SVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNiaVJlc291cmNlLmxhYWRTaWduYWxlcmluZ3NiZWVsZEluZm8odGhpcy5jcmVhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9RdWVyeUR0byhhY3RpZS5wcGxncywgc3RvcmVTdGF0ZS5pYVZlcnNpZSkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFwKChkdG9zKSA9PiB0aGlzLnByb2Nlc3NSZXNwb25zZSh7ZHRvcywgc3RvcmVTdGF0ZSwgYWN0aWV9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzU2VydmljZS5zaG93TWVzc2FnZShNZXNzYWdlQnVpbGRlci5uaWV0R2V2b25kZW5TQkkoZXJyKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzUmVzcG9uc2UoeyBkdG9zLCBzdG9yZVN0YXRlLCBhY3RpZSB9OiBTaWduYWxlcmluZ3NiZWVsZEluZm9JbnB1dCk6IHZvaWQgIHtcbiAgICAgICAgaWYgKGR0b3MgJiYgZHRvcy5maWx0ZXIoZHRvID0+IGR0by5tZXRWaXN1YWxpc2F0aWUpLmxlbmd0aCA+IDEyKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzU2VydmljZS5zaG93TWVzc2FnZShNZXNzYWdlQnVpbGRlci5tZWVyRGFuMTJCbGFkZW5HZXZvbmRlbihkdG9zLmxlbmd0aCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyhkdG9zLCBzdG9yZVN0YXRlLmlhVmVyc2llLCBhY3RpZS5yaXQsIGFjdGllLnBhZ2luYXRpb25TaXplLCBhY3RpZS5yaXRHZXdpanppZ2RUb2VnZXN0YWFuKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MoZHRvcykpO1xuICAgIH1cblxuICAgIG5hdmlnZWVyQnVpdGVuUml0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShNc3RBY3Rpb25zLm5hdmlnZWVyQnVpdGVuUml0KSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZSksXG4gICAgICAgIHN3aXRjaE1hcCgoW2FjdGllLCBzdG9yZVN0YXRlXSkgPT5cbiAgICAgICAgICAgIG9mKHtcbiAgICAgICAgICAgICAgICByYW5kOiB0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UuZ2V0VG9wb2xvZ3lFbGVtZW50QnlQdWljKGFjdGllLnJhbmRQdWljKSxcbiAgICAgICAgICAgICAgICByYW5kUHVpYzogYWN0aWUucmFuZFB1aWMsXG4gICAgICAgICAgICAgICAgc3RvcmVTdGF0ZVxuICAgICAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodGhpcy5nZXRPdGhlclJhbmQuYmluZCh0aGlzKSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHRoaXMubG9hZFJvdXRlRmlsZXNBbmRTaWduYWxlcmluZ3NiZWVsZEluZm8uYmluZCh0aGlzKSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHRoaXMubG9hZFNpZ25hbGVyaW5nc2JlZWxkZW4uYmluZCh0aGlzKSksXG4gICAgICAgICAgICAgICAgbWFwKHRoaXMucHJvY2Vzc1N2Z3NBbmRVcGRhdGVSaXRkZWxlbi5iaW5kKHRoaXMpKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XG5cbiAgICBwcml2YXRlIGdldE90aGVyUmFuZCh7IHJhbmQsIHJhbmRQdWljLCBzdG9yZVN0YXRlfTogT3RoZXJSYW5kSW5wdXQpOiBPYnNlcnZhYmxlPE90aGVyUmFuZFJlc3VsdD4gIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yU2VydmljZS5nZXRPdGhlclJhbmQocmFuZFB1aWMpLnBpcGUoXG4gICAgICAgICAgICBtYXAob3RoZXJQcGxnID0+ICh7IG90aGVyUHBsZywgcmFuZCwgc3RvcmVTdGF0ZSB9KSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRSb3V0ZUZpbGVzQW5kU2lnbmFsZXJpbmdzYmVlbGRJbmZvKHsgb3RoZXJQcGxnLCByYW5kLCBzdG9yZVN0YXRlIH06IE90aGVyUmFuZFJlc3VsdCk6IE9ic2VydmFibGU8RHRvc0FuZFN0YXRlPiB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5sYWFkUm91dGVGaWxlcyhzdG9yZVN0YXRlLmlhVmVyc2llLnZlcnNpZSwgW3JhbmQuZ2V0UFBMRygpLCBvdGhlclBwbGddKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2JpUmVzb3VyY2UubGFhZFNpZ25hbGVyaW5nc2JlZWxkSW5mbyh0aGlzLmNyZWF0ZVNpZ25hbGVyaW5nc2JlZWxkSW5mb1F1ZXJ5RHRvKFtyYW5kLmdldFBQTEcoKSwgb3RoZXJQcGxnXSwgc3RvcmVTdGF0ZS5pYVZlcnNpZSkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZHRvcyA9PiAoeyBkdG9zLCBzdG9yZVN0YXRlIH0pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFNpZ25hbGVyaW5nc2JlZWxkZW4oeyBkdG9zLCBzdG9yZVN0YXRlIH06IER0b3NBbmRTdGF0ZSk6IE9ic2VydmFibGU8U2JSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yU2VydmljZS5sYWFkU2lnbmFsZXJpbmdzYmVlbGRlbihzdG9yZVN0YXRlLmlhVmVyc2llLnZlcnNpZSwgZHRvcykucGlwZShcbiAgICAgICAgICAgIG1hcChzdmdEYXRhVXJscyA9PiAoeyBzdmdEYXRhVXJscywgcml0RGVsZW46IHN0b3JlU3RhdGUucml0RGVsZW4sIGR0b3MgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3Znc0FuZFVwZGF0ZVJpdGRlbGVuKHsgc3ZnRGF0YVVybHMsIHJpdERlbGVuLCBkdG9zIH06IFNiUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIHRoaXMudmVyd2Vya1N2Z3Moc3ZnRGF0YVVybHMpO1xuICAgICAgICBjb25zdCBuaWV1d2VSaXRkZWxlbiA9IHRoaXMudXBkYXRlUml0ZGVsZW4ocml0RGVsZW4sIGR0b3MpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1zdEFjdGlvbnMuVXBkYXRlVmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MoZHRvcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy51cGRhdGVSaXREZWxlbihuaWV1d2VSaXRkZWxlbikpO1xuICAgIH1cblxuICAgIHZlcndlcmtSaXRkZWxlbihhY3RpZTogYW55LCBzdG9yZVN0YXRlOiBNc3RFZGl0b3JTdGF0ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc0luaXQgPSBhY3RpZS50eXBlID09PSBSaXRkZWxlbkFjdGlvbnMuU0VUX1JJVF9ERUxFTjtcbiAgICAgICAgY29uc3Qgcml0RGVsZW46IFJpdGRlZWxbXSA9IGlzSW5pdCA/IGFjdGllLnJpdERlbGVuIDogc3RvcmVTdGF0ZS5yaXREZWxlbjtcbiAgICAgICAgY29uc3Qgc3RvcmVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10gPSBzdG9yZVN0YXRlLnNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3M7XG5cbiAgICAgICAgdGhpcy5uYXZpZ2VlcihyaXREZWxlbiwgYWN0aWUsIHN0b3JlRHRvcyk7XG5cbiAgICAgICAgY29uc3QgdmlzaWJsZVJpdERlbGVuID0gcml0RGVsZW4uZmlsdGVyKG4gPT4gbi5pc1ppY2h0YmFhckJpbm5lbldpbmRvdygpKTtcbiAgICAgICAgY29uc3QgdmlzaWJsZVJpdFBwbGdzOiBzdHJpbmdbXSA9IHZpc2libGVSaXREZWxlbi5tYXAociA9PiByLmdldFBwbGcoKSkuZmlsdGVyKHRoaXMuZGlzdGluY3QpO1xuXG4gICAgICAgIGNvbnN0IHZpc2libGVEdG9zID0gdGhpcy5iZXBhYWxaaWNodGJhcmVEdG9zKHZpc2libGVSaXRQcGxncywgc3RvcmVEdG9zKTtcbiAgICAgICAgY29uc3QgbG9hZGluZ0R0b3MgPSB0aGlzLmJlcGFhbFRvTG9hZER0b3ModmlzaWJsZUR0b3MsIHJpdERlbGVuLCB2aXNpYmxlUml0RGVsZW4sIHZpc2libGVSaXRQcGxncywgc3RvcmVTdGF0ZSk7XG5cbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmxhYWRTaWduYWxlcmluZ3NiZWVsZGVuKGFjdGllLmlhdmVyc2llaW5mby52ZXJzaWUsIGxvYWRpbmdEdG9zKS5waXBlKFxuICAgICAgICAgICAgdGFwKHN2Z0RhdGFVcmxzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZlcndlcmtTdmdzKHN2Z0RhdGFVcmxzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHJpdERlbGVuLCB2aXNpYmxlRHRvcywgc3RvcmVTdGF0ZSwgdmlzaWJsZVJpdFBwbGdzLCBsb2FkaW5nRHRvcywgaXNJbml0LCBzdG9yZUR0b3MpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlc1NlcnZpY2Uuc2hvd01lc3NhZ2UoTWVzc2FnZUJ1aWxkZXIucndwRGF0YU5pZXRHZXZvbmRlbihVdGlscy5nZXRWYWxpZEVyb3JyTWVzc2FnZShlcnIpKSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0YXRlKHJpdERlbGVuOiBSaXRkZWVsW10sIHZpc2libGVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10sIHN0b3JlU3RhdGU6IE1zdEVkaXRvclN0YXRlLCB2aXNpYmxlUml0UHBsZ3M6IHN0cmluZ1tdLCBsb2FkaW5nRHRvczogYW55W10sIGlzSW5pdDogYm9vbGVhbiwgc3RvcmVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuaWV1d2VSaXRkZWxlbiA9IHRoaXMudXBkYXRlUml0ZGVsZW4ocml0RGVsZW4sIHZpc2libGVEdG9zKTtcbiAgICAgICAgICAgIHRoaXMuZGVidWdMb2coc3RvcmVTdGF0ZS5kZWJ1ZywgdmlzaWJsZVJpdFBwbGdzLCBsb2FkaW5nRHRvcyk7XG5cbiAgICAgICAgICAgIGlmICghaXNJbml0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLlVwZGF0ZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3Moc3RvcmVEdG9zKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLlVwZGF0ZVZpc2libGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zKGxvYWRpbmdEdG9zKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy51cGRhdGVSaXREZWxlbihuaWV1d2VSaXRkZWxlbikpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVNpZ25hbGVyaW5nc2JlZWxkSW5mb1F1ZXJ5RHRvKHBwbGdzOiBzdHJpbmdbXSwgaWFpbmZvOiBJbmZyYU1vZGVsKTogYW55IHtcbiAgICAgICAgY29uc3QgZGF0dW0gPSBpYWluZm8uaW5nYW5nc0RhdHVtICYmICFpc05hTihpYWluZm8uaW5nYW5nc0RhdHVtLmdldFRpbWUoKSkgPyBpYWluZm8uaW5nYW5nc0RhdHVtLnRvSVNPU3RyaW5nKCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB7IHBwbGdzLCB2ZXJzaWU6IGlhaW5mby52ZXJzaWUsIGluZ2FuZ3NEYXR1bTogZGF0dW0gfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcndlcmtTdmdzKHN2Z0RhdGFVcmxzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1zdEFjdGlvbnMuU2V0U3ZnSW5mb3ModGhpcy5iZXBhYWxTdmdJbmZvcyhzdmdEYXRhVXJscykpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbFN2Z0luZm9zKHN2Z0RhdGFVcmxzOiBzdHJpbmdbXSk6IFN2Z0luZm9bXSB7XG4gICAgICAgIGxldCBuZXh0Q29vcmRzID0gbmV3IFBvaW50KDAsIDApO1xuICAgICAgICBjb25zdCBpbmZvczogU3ZnSW5mb1tdID0gW107XG4gICAgICAgIHN2Z0RhdGFVcmxzLmZvckVhY2goc3ZnRGF0YVVybCA9PiB7XG4gICAgICAgICAgICBpZiAoc3ZnRGF0YVVybCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZWQgPSBhdG9iKHN2Z0RhdGFVcmwuc3Vic3RyaW5nKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCcubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgaW5mb3MucHVzaChuZXcgU3ZnSW5mbygnZGF0YTppbWFnZS9zdmcreG1sLCcgKyBkZWNvZGVkLCBuZXh0Q29vcmRzKSk7XG4gICAgICAgICAgICAgICAgbmV4dENvb3JkcyA9IG5ldyBQb2ludChuZXh0Q29vcmRzLnggKyBJbXhWaWV3ZXJDb21wb25lbnQuZ2V0WENvb3JkaW5hdGUoZGVjb2RlZCkgKyB0aGlzLlNWR19QSVhFTF9SVUlNVEUsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGluZm9zO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsVG9Mb2FkRHRvcyh2aXNpYmxlRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdLCByaXREZWxlbjogUml0ZGVlbFtdLCB2aXNpYmxlUml0RGVsZW46IFJpdGRlZWxbXSwgdmlzaWJsZVJpdFBwbGdzOiBzdHJpbmdbXSwgc3RvcmVTdGF0ZTogTXN0RWRpdG9yU3RhdGUpOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10ge1xuICAgICAgICBjb25zdCBsb2FkaW5nRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdID0gWy4uLnZpc2libGVEdG9zXTtcbiAgICAgICAgY29uc3QgZmlyc3RJZHggPSByaXREZWxlbi5pbmRleE9mKHZpc2libGVSaXREZWxlblswXSkgLSAxO1xuICAgICAgICB0aGlzLmFkZFByZXZOb25WaXNpYmxlRHRvKGZpcnN0SWR4LCByaXREZWxlbiwgbG9hZGluZ0R0b3MsIHZpc2libGVSaXRQcGxncywgc3RvcmVTdGF0ZS5zaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zKTtcbiAgICAgICAgY29uc3QgbGFzdElkeCA9IHJpdERlbGVuLmluZGV4T2YodmlzaWJsZVJpdERlbGVuW3Zpc2libGVSaXREZWxlbi5sZW5ndGggLSAxXSkgKyAxO1xuICAgICAgICB0aGlzLmFkZE5leHROb25WaXNpYmxlRHRvKGxhc3RJZHgsIHJpdERlbGVuLCBsb2FkaW5nRHRvcywgdmlzaWJsZVJpdFBwbGdzLCBzdG9yZVN0YXRlLnNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MpO1xuICAgICAgICByZXR1cm4gbG9hZGluZ0R0b3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxaaWNodGJhcmVEdG9zKHZpc2libGVSaXRQcGxnczogc3RyaW5nW10sIGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSB7XG4gICAgICAgIGNvbnN0IHZpc2libGVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10gPSBbXTtcbiAgICAgICAgdmlzaWJsZVJpdFBwbGdzLmZvckVhY2gocHBsZyA9PiB7XG4gICAgICAgICAgICBkdG9zLmZpbHRlcihkdG8gPT4gZHRvLnBwbGdzLmluY2x1ZGVzKHBwbGcpKS5mb3JFYWNoKGR0byA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF2aXNpYmxlRHRvcy5pbmNsdWRlcyhkdG8pKSB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGVEdG9zLnB1c2goZHRvKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZpc2libGVEdG9zLmZvckVhY2goZHRvID0+IGR0by5tZXRWaXN1YWxpc2F0aWUgPSB0cnVlKTtcbiAgICAgICAgZHRvcy5maWx0ZXIoZCA9PiAhdmlzaWJsZUR0b3MuaW5jbHVkZXMoZCkpLmZvckVhY2goZCA9PiBkLm1ldFZpc3VhbGlzYXRpZSA9IGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIHZpc2libGVEdG9zO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzdGluY3QodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlciwgdmFsdWVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWVzLmluZGV4T2YodmFsdWUpID09PSBpbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFByZXZOb25WaXNpYmxlRHRvKGZpcnN0SWR4OiBudW1iZXIsIHJpdGRlbGVuOiBSaXRkZWVsW10sIGxvYWRpbmdEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10sIHZpc2libGVSaXRQcGxnczogc3RyaW5nW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKGZpcnN0SWR4ID49IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBwbGcgPSByaXRkZWxlbltmaXJzdElkeF0uZ2V0UHBsZygpO1xuICAgICAgICAgICAgY29uc3Qgcml0ZGVlbER0b3MgPSBhbGxEdG9zLmZpbHRlcihkdG8gPT4gZHRvLnBwbGdzLmluY2x1ZGVzKHBwbGcpKS5maWx0ZXIoZHRvID0+ICFsb2FkaW5nRHRvcy5pbmNsdWRlcyhkdG8pKTtcblxuICAgICAgICAgICAgaWYgKCF2aXNpYmxlUml0UHBsZ3MuaW5jbHVkZXMocHBsZykgJiYgcml0ZGVlbER0b3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJpdGRlZWxEdG9zLmZpbHRlcihkID0+ICFsb2FkaW5nRHRvcy5pbmNsdWRlcyhkKSkuZm9yRWFjaChkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZC5tZXRWaXN1YWxpc2F0aWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ0R0b3MucHVzaChkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRQcmV2Tm9uVmlzaWJsZUR0byhmaXJzdElkeCAtIDEsIHJpdGRlbGVuLCBsb2FkaW5nRHRvcywgdmlzaWJsZVJpdFBwbGdzLCBhbGxEdG9zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYWRkTmV4dE5vblZpc2libGVEdG8obGFzdElkeDogbnVtYmVyLCByaXRkZWxlbjogUml0ZGVlbFtdLCBsb2FkaW5nRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdLCB2aXNpYmxlUml0UHBsZ3M6IHN0cmluZ1tdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogdm9pZCB7XG4gICAgICAgIGlmIChsYXN0SWR4IDw9IHJpdGRlbGVuLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHBwbGcgPSByaXRkZWxlbltsYXN0SWR4XS5nZXRQcGxnKCk7XG4gICAgICAgICAgICBjb25zdCByaXRkZWVsRHRvcyA9IGFsbER0b3MuZmlsdGVyKGR0byA9PiBkdG8ucHBsZ3MuaW5jbHVkZXMocHBsZykpLmZpbHRlcihkdG8gPT4gIWxvYWRpbmdEdG9zLmluY2x1ZGVzKGR0bykpO1xuXG4gICAgICAgICAgICBpZiAoIXZpc2libGVSaXRQcGxncy5pbmNsdWRlcyhwcGxnKSAmJiByaXRkZWVsRHRvcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcml0ZGVlbER0b3MuZmlsdGVyKGQgPT4gIWxvYWRpbmdEdG9zLmluY2x1ZGVzKGQpKS5mb3JFYWNoKGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkLm1ldFZpc3VhbGlzYXRpZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nRHRvcy5wdXNoKGQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZE5leHROb25WaXNpYmxlRHRvKGxhc3RJZHggKyAxLCByaXRkZWxlbiwgbG9hZGluZ0R0b3MsIHZpc2libGVSaXRQcGxncywgYWxsRHRvcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRlYnVnTG9nKGRlYnVnOiBib29sZWFuLCB2aXNpYmxlUml0UHBsZ3M6IHN0cmluZ1tdLCBsb2FkaW5nRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogdm9pZCB7XG4gICAgICAgIGlmIChkZWJ1Zykge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1JJVCBQUExHczogJyArIHZpc2libGVSaXRQcGxncyk7XG4gICAgICAgICAgICBsb2FkaW5nRHRvcy5mb3JFYWNoKGR0byA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHN0ciA9ICdcXG5EVE8tYmxhZE5hYW06ICcgKyBkdG8uYmxhZE5hYW07XG4gICAgICAgICAgICAgICAgc3RyICs9ICdcXG5EVE8tUFBMR3MgICA6ICcgKyBkdG8ucHBsZ3M7XG4gICAgICAgICAgICAgICAgc3RyICs9ICdcXG5WaXNpYmxlICAgICA6ICcgKyBkdG8ubWV0VmlzdWFsaXNhdGllO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHN0cik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGFjdGllczogTmF2aWdlZXJ8TmF2aWdlZXJWYW5hZnxTZXRSaXREZWxlblxuICAgIHByaXZhdGUgbmF2aWdlZXIocml0RGVsZW46IFJpdGRlZWxbXSwgYWN0aWU6IHtcbiAgICAgICAgcGFnaW5hdGlvblNpemU6IG51bWJlcjtcbiAgICAgICAgc3RhcFNpemU6IG51bWJlcjtcbiAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICByaXRkZWVsOiBSaXRkZWVsXG4gICAgfSwgc3RvcmVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pOiB2b2lkIHtcbiAgICAgICAgLy8gYWxsZSByaXRkZWxlbiBrcmlqZ2VuIHppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUgPT4gZmFsc2VcbiAgICAgICAgaWYgKGFjdGllLnR5cGUgPT09IFJpdGRlbGVuQWN0aW9ucy5TRVRfUklUX0RFTEVOKSB7XG4gICAgICAgICAgICB0aGlzLmJlcGFhbFppY2h0YmFhcmhlaWRSZWNodHMoMCwgcml0RGVsZW4sIGFjdGllLnBhZ2luYXRpb25TaXplLCBzdG9yZUR0b3MpO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGllLnR5cGUgPT09IFJpdGRlbGVuQWN0aW9ucy5OQVZJR0VFUikge1xuICAgICAgICAgICAgY29uc3QgaXNMaW5rcyA9IGFjdGllLnN0YXBTaXplIDwgMDtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLmJlcGFhbFN0YXJ0SW5kZXgocml0RGVsZW4pO1xuICAgICAgICAgICAgY29uc3QgZW5kSW5kZXggPSB0aGlzLmJlcGFhbEVuZEluZGV4KHJpdERlbGVuKTtcbiAgICAgICAgICAgIGNvbnN0IG5hdmlnZXJlbk1vZ2VsaWprID0gIShzdGFydEluZGV4ID09PSAwICYmIGlzTGlua3MgfHwgZW5kSW5kZXggPT09IHJpdERlbGVuLmxlbmd0aCAtIDEgJiYgIWlzTGlua3MpO1xuICAgICAgICAgICAgaWYgKG5hdmlnZXJlbk1vZ2VsaWprKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTGlua3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxaaWNodGJhYXJoZWlkTGlua3Moc3RhcnRJbmRleCwgcml0RGVsZW4sIGFjdGllLnBhZ2luYXRpb25TaXplLCBzdG9yZUR0b3MpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsWmljaHRiYWFyaGVpZFJlY2h0cyhlbmRJbmRleCwgcml0RGVsZW4sIGFjdGllLnBhZ2luYXRpb25TaXplLCBzdG9yZUR0b3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChhY3RpZS50eXBlID09PSBSaXRkZWxlbkFjdGlvbnMuTkFWSUdFRVJfVkFOQUYpIHtcbiAgICAgICAgICAgIGNvbnN0IGlkeCA9IHJpdERlbGVuLmluZGV4T2YoYWN0aWUucml0ZGVlbCk7XG4gICAgICAgICAgICB0aGlzLmJlcGFhbFppY2h0YmFhcmhlaWRSZWNodHMoaWR4LCByaXREZWxlbiwgYWN0aWUucGFnaW5hdGlvblNpemUsIHN0b3JlRHRvcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJpdGRlbGVuKHJpdGRlbGVuOiBSaXRkZWVsW10sIHZpc2libGVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pOiBSaXRkZWVsW10ge1xuICAgICAgICBjb25zdCB2aXNpYmxlSW5kaWNlcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJpdGRlbGVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAocml0ZGVsZW5baV0uaXNaaWNodGJhYXJCaW5uZW5XaW5kb3coKSkge1xuICAgICAgICAgICAgICAgIHZpc2libGVJbmRpY2VzLnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWluID0gTWF0aC5taW4oLi4udmlzaWJsZUluZGljZXMpO1xuICAgICAgICBjb25zdCBtYXggPSBNYXRoLm1heCguLi52aXNpYmxlSW5kaWNlcyk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByaXRkZWxlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcmQgPSByaXRkZWxlbltpXTtcblxuICAgICAgICAgICAgaWYgKHJkLmlzWmljaHRiYWFyQmlubmVuV2luZG93KCkpIHtcbiAgICAgICAgICAgICAgICByZC5iZXBhYWxUb3BvbG9naWVFbGVtZW50ZW4odGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgICAgICBpZiAocmQuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICByaXRkZWxlbltpXSA9IHJkLmlzTmlldEJlc2NoaWtiYWFyKCkgPyByZC5jb3B5TWV0WmljaHRiYWFyaGVpZChSaXRkZWVsWmljaHRiYWFyaGVpZC5aSUNIVEJBQVIpIDogcmQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVsZW5baV0gPSB0aGlzLm1hYWtPbnppY2h0YmFhcihyZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVaaWNodGJhYXJoZWlkQWFuZ3JlbnplbmRlUml0ZGVsZW4obWluLCBtYXgsIHJpdGRlbGVuLCB2aXNpYmxlRHRvcyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlWmljaHRiYWFyaGVpZEJ1aXRlbldpbmRvdyhyaXRkZWxlbiwgdmlzaWJsZUR0b3MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlWmljaHRiYWFyaGVpZEJ1aXRlbldpbmRvdyhuaWV1d2VSaXRkZWxlbjogUml0ZGVlbFtdLCB2aXNpYmxlRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogUml0ZGVlbFtdIHtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5pZXV3ZVJpdGRlbGVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCByZCA9IG5pZXV3ZVJpdGRlbGVuW2ldO1xuXG4gICAgICAgICAgICBpZiAoIXJkLmlzWmljaHRiYWFyKCkgJiYgdGhpcy5iZXZhdEdldmlzdWFsaXNlZXJkZVBwbGcodmlzaWJsZUR0b3MsIHJkLmdldFBwbGcoKSkpIHtcbiAgICAgICAgICAgICAgICByZC5iZXBhYWxUb3BvbG9naWVFbGVtZW50ZW4odGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgICAgICBpZiAocmQuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkubGVuZ3RoID4gMCAmJiB0aGlzLmlzRWVyc3RlTGFhdHN0ZVB1aWNaaWNodGJhYXIocmQuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5pZXV3ZVJpdGRlbGVuW2ldID0gcmQuaXNOaWV0QmVzY2hpa2JhYXIoKSA/IHJkLmNvcHlNZXRaaWNodGJhYXJoZWlkRW5QYWdpbmF0aWUoUml0ZGVlbFppY2h0YmFhcmhlaWQuWklDSFRCQUFSLCB0cnVlKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICByZC5jb3B5TWV0WmljaHRiYWFyaGVpZEJ1aXRlblBhZ2luYXRpZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5pZXV3ZVJpdGRlbGVuO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlWmljaHRiYWFyaGVpZEFhbmdyZW56ZW5kZVJpdGRlbGVuKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlciwgbmlldXdlUml0ZGVsZW46IFJpdGRlZWxbXSwgdmlzaWJsZUR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IHZvaWQge1xuICAgICAgICBsZXQgaSA9IG1pbiAtIDE7XG4gICAgICAgIHdoaWxlIChpID49IDApIHtcbiAgICAgICAgICAgIGkgPSB0aGlzLnVwZGF0ZVppY2h0YmFhckhlaWQoaSwgMCwgdmlzaWJsZUR0b3MsIG5pZXV3ZVJpdGRlbGVuKSAtIDE7XG4gICAgICAgIH1cblxuICAgICAgICBpID0gbWF4ICsgMTtcbiAgICAgICAgd2hpbGUgKGkgPCBuaWV1d2VSaXRkZWxlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIGkgPSB0aGlzLnVwZGF0ZVppY2h0YmFhckhlaWQoaSwgbmlldXdlUml0ZGVsZW4ubGVuZ3RoLCB2aXNpYmxlRHRvcywgbmlldXdlUml0ZGVsZW4pICsgMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlWmljaHRiYWFySGVpZChpOiBudW1iZXIsIGVuZDogbnVtYmVyLCB2aXNpYmxlRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdLCBuaWV1d2VSaXRkZWxlbjogUml0ZGVlbFtdKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgcmQgPSBuaWV1d2VSaXRkZWxlbltpXTtcbiAgICAgICAgaWYgKHRoaXMuYmV2YXRHZXZpc3VhbGlzZWVyZGVQcGxnKHZpc2libGVEdG9zLCByZC5nZXRQcGxnKCkpKSB7XG4gICAgICAgICAgICBpID0gdGhpcy51cGRhdGVaaWNodGJhYXJoZWlkQWFuZ3JlbnplbmRlUml0ZGVlbChyZCwgbmlldXdlUml0ZGVsZW4sIGksIGVuZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpID0gZW5kO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNFZXJzdGVMYWF0c3RlUHVpY1ppY2h0YmFhcih0b3BvRWxlbWVudGVuOiBUb3BvbG9neUVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncCcgKyB0b3BvRWxlbWVudGVuWzBdLmdldFB1aWMoKSkgfHxcbiAgICAgICAgICAgICEhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3AnICsgdG9wb0VsZW1lbnRlblt0b3BvRWxlbWVudGVuLmxlbmd0aCAtIDFdLmdldFB1aWMoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVaaWNodGJhYXJoZWlkQWFuZ3JlbnplbmRlUml0ZGVlbChyZDogUml0ZGVlbCwgbmlldXdlUml0ZGVsZW46IFJpdGRlZWxbXSwgaTogbnVtYmVyLCBlbmQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJkLmJlcGFhbFRvcG9sb2dpZUVsZW1lbnRlbih0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UpO1xuICAgICAgICBpZiAocmQuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkubGVuZ3RoID4gMCAmJiB0aGlzLmlzRWVyc3RlTGFhdHN0ZVB1aWNaaWNodGJhYXIocmQuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkpKSB7XG4gICAgICAgICAgICBuaWV1d2VSaXRkZWxlbltpXSA9IHJkLmlzTmlldEJlc2NoaWtiYWFyKCkgPyByZC5jb3B5TWV0WmljaHRiYWFyaGVpZChSaXRkZWVsWmljaHRiYWFyaGVpZC5aSUNIVEJBQVIpIDogcmQ7XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBlbmQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXZhdEdldmlzdWFsaXNlZXJkZVBwbGcodmlzaWJsZUR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSwgcHBsZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGZvciAoY29uc3QgZHRvIG9mIHZpc2libGVEdG9zKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGR0b3BwbGcgb2YgZHRvLnBwbGdzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGR0b3BwbGcgPT09IHBwbGcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hYWtPbnppY2h0YmFhcihyZDogUml0ZGVlbCk6IFJpdGRlZWwge1xuICAgICAgICByZXR1cm4gcmQuaXNaaWNodGJhYXIoKSB8fCByZC5pc09uemljaHRiYWFyRG9vckdlYnJ1aWtlcigpID9cbiAgICAgICAgICAgIHJkLmNvcHlNZXRaaWNodGJhYXJoZWlkRW5QYWdpbmF0aWUoUml0ZGVlbFppY2h0YmFhcmhlaWQuT05aSUNIVEJBQVJfRE9PUl9TWVNURUVNLCBmYWxzZSkgOlxuICAgICAgICAgICAgcmQuY29weU1ldFppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsWmljaHRiYWFyaGVpZFJlY2h0cyhpZHg6IG51bWJlciwgaXRlbXM6IFJpdGRlZWxbXSwgcGFnaW5hdGlvblNpemU6IG51bWJlciwgZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBwbGdzV2luZG93OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBkdG9zV2luZG93OiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcmQgPSBpdGVtc1tpXTtcbiAgICAgICAgICAgIGlmIChpID49IGlkeCAmJiB0aGlzLnZhbHRCaW5uZW5QYWdpbmF0aWVXaW5kb3cocHBsZ3NXaW5kb3csIHBhZ2luYXRpb25TaXplLCBkdG9zV2luZG93KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0WmljaHRiYWFyKHJkLCBwcGxnc1dpbmRvdywgZHRvcywgZHRvc1dpbmRvdywgaXRlbXMsIGkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpdGVtc1tpXSA9IHJkLmlzWmljaHRiYWFyKCkgfHwgcmQuaXNPbnppY2h0YmFhckRvb3JHZWJydWlrZXIoKSA/XG4gICAgICAgICAgICAgICAgICAgIHJkLmNvcHlNZXRaaWNodGJhYXJoZWlkRW5QYWdpbmF0aWUoUml0ZGVlbFppY2h0YmFhcmhlaWQuT05aSUNIVEJBQVJfRE9PUl9TWVNURUVNLCBmYWxzZSkgOlxuICAgICAgICAgICAgICAgICAgICByZC5jb3B5TWV0WmljaHRiYWFyaGVpZEJ1aXRlblBhZ2luYXRpZShmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbFppY2h0YmFhcmhlaWRMaW5rcyhpZHg6IG51bWJlciwgaXRlbXM6IFJpdGRlZWxbXSwgcGFnaW5hdGlvblNpemU6IG51bWJlciwgZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBwbGdzV2luZG93OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBkdG9zV2luZG93OiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IGl0ZW1zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCByZCA9IGl0ZW1zW2ldO1xuICAgICAgICAgICAgaWYgKGkgPD0gaWR4ICYmIHRoaXMudmFsdEJpbm5lblBhZ2luYXRpZVdpbmRvdyhwcGxnc1dpbmRvdywgcGFnaW5hdGlvblNpemUsIGR0b3NXaW5kb3cpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRaaWNodGJhYXIocmQsIHBwbGdzV2luZG93LCBkdG9zLCBkdG9zV2luZG93LCBpdGVtcywgaSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGl0ZW1zW2ldID0gcmQuaXNaaWNodGJhYXIoKSB8fCByZC5pc09uemljaHRiYWFyRG9vckdlYnJ1aWtlcigpID9cbiAgICAgICAgICAgICAgICAgICAgcmQuY29weU1ldFppY2h0YmFhcmhlaWRFblBhZ2luYXRpZShSaXRkZWVsWmljaHRiYWFyaGVpZC5PTlpJQ0hUQkFBUl9ET09SX1NZU1RFRU0sIGZhbHNlKSA6XG4gICAgICAgICAgICAgICAgICAgIHJkLmNvcHlNZXRaaWNodGJhYXJoZWlkQnVpdGVuUGFnaW5hdGllKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmFsdEJpbm5lblBhZ2luYXRpZVdpbmRvdyhwcGxnc1dpbmRvdzogc3RyaW5nW10sIHBhZ2luYXRpb25TaXplOiBudW1iZXIsIGR0b3NXaW5kb3c6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcHBsZ3NXaW5kb3cubGVuZ3RoIDwgcGFnaW5hdGlvblNpemUgfHwgZHRvc1dpbmRvdy5sZW5ndGggPCBwYWdpbmF0aW9uU2l6ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFppY2h0YmFhcihyZDogUml0ZGVlbCwgcHBsZ3NXaW5kb3c6IHN0cmluZ1tdLCBkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10sIGR0b3NXaW5kb3c6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSwgaXRlbXM6IFJpdGRlZWxbXSwgaTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1QcGxnID0gcmQuZ2V0UHBsZygpO1xuICAgICAgICBpZiAoIXBwbGdzV2luZG93LmluY2x1ZGVzKGl0ZW1QcGxnKSkge1xuICAgICAgICAgICAgcHBsZ3NXaW5kb3cucHVzaChpdGVtUHBsZyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcGxnRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdID0gW107XG4gICAgICAgIGR0b3MuZmlsdGVyKGR0byA9PiBkdG8ucHBsZ3MuaW5jbHVkZXMoaXRlbVBwbGcpKS5mb3JFYWNoKGR0byA9PiB7XG4gICAgICAgICAgICBpZiAoIXBwbGdEdG9zLmluY2x1ZGVzKGR0bykpIHtcbiAgICAgICAgICAgICAgICBwcGxnRHRvcy5wdXNoKGR0byk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBwbGdEdG9zLmZpbHRlcihkID0+ICFkdG9zV2luZG93LmluY2x1ZGVzKGQpKS5mb3JFYWNoKGQgPT4gZHRvc1dpbmRvdy5wdXNoKGQpKTtcblxuICAgICAgICBpdGVtc1tpXSA9ICFyZC5pc1ppY2h0YmFhcigpID8gcmQuY29weU1ldFppY2h0YmFhcmhlaWRFblBhZ2luYXRpZShSaXRkZWVsWmljaHRiYWFyaGVpZC5aSUNIVEJBQVIsIGZhbHNlKSA6XG4gICAgICAgICAgICByZC5jb3B5TWV0WmljaHRiYWFyaGVpZEJ1aXRlblBhZ2luYXRpZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxTdGFydEluZGV4KHJpdERlbGVuOiBSaXRkZWVsW10pOiBudW1iZXIge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJpdERlbGVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAocml0RGVsZW5baV0uaXNCaW5uZW5XaW5kb3coKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbEVuZEluZGV4KHJpdERlbGVuOiBSaXRkZWVsW10pOiBudW1iZXIge1xuICAgICAgICBmb3IgKGxldCBpID0gcml0RGVsZW4ubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmIChyaXREZWxlbltpXS5pc0Jpbm5lbldpbmRvdygpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbn1cbiJdfQ==
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFhZC1zaWduYWxlcmluZ3NiZWVsZGVuLmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zdGF0ZS9lZmZlY3QvbGFhZC1zaWduYWxlcmluZ3NiZWVsZGVuLmVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkUsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkYsT0FBTyxFQUFXLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFNcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sS0FBSyxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxVQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkcsT0FBTyxLQUFLLGVBQWUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7O0FBdUMvRCxNQUFNLE9BQU8sNkJBQTZCO0lBSXRDLFlBQTZCLFFBQWlCLEVBQ2pCLEtBQTRCLEVBQzVCLCtCQUFnRSxFQUNoRSxhQUE0QixFQUM1QixXQUEwQyxFQUMxQyxnQkFBa0MsRUFDbEMsZUFBZ0M7UUFOaEMsYUFBUSxHQUFSLFFB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Q0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFtQjtRQUN0QyxLQUFLLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO2dCQUMvQixPQUFPLENBQUMsQ0FBQztZQUNiLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNkLENBQUM7OEdBbmFRLDZCQUE2QjtrSEFBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW14Vmlld2VyQ29tcG9uZW50LCBQb2ludCwgU3ZnSW5mbyB9IGZyb20gJ0Bsb3hpYS9pbXgtdmlld2VyJztcbmltcG9ydCB7IHNiYmxhZCB9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hdG9taWMtY29tcG9uZW50cy9zZXJ2aWNlcy9tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFJpdGRlZWwsIFJpdGRlZWxaaWNodGJhYXJoZWlkIH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBJbmZyYU1vZGVsIH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8sIFNpZ25hbGVyaW5nc2JlZWxkSW5mb1Jlc291cmNlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3NpZ25hbGVyaW5nc2JlZWxkaW5mby5yZXNvdXJjZSc7XG5pbXBvcnQgeyBDb25uZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9tZXNzYWdlLWJ1aWxkZXInO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuaW1wb3J0ICogYXMgTXN0QWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2FjdGlvbnMnO1xuaW1wb3J0IHsgU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcywgU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MgfSBmcm9tICcuLi9hY3Rpb25zL2FjdGlvbnMnO1xuaW1wb3J0ICogYXMgUml0ZGVsZW5BY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvcml0ZGVsZW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uL21zdC1lZGl0b3Itc3RhdGUnO1xuaW1wb3J0IFRvcG9sb2d5RWxlbWVudCA9IHNiYmxhZC5Ub3BvbG9neUVsZW1lbnQ7XG5cbmludGVyZmFjZSBPdGhlclJhbmRJbnB1dCB7XG4gICAgcmFuZDogVG9wb2xvZ3lFbGVtZW50O1xuICAgIHJhbmRQdWljOiBzdHJpbmc7XG4gICAgc3RvcmVTdGF0ZTogTXN0RWRpdG9yU3RhdGU7XG59XG5cbmludGVyZmFjZSBPdGhlclJhbmRSZXN1bHQge1xuICAgIG90aGVyUHBsZzogc3RyaW5nO1xuICAgIHJhbmQ6IFRvcG9sb2d5RWxlbWVudDtcbiAgICBzdG9yZVN0YXRlOiBNc3RFZGl0b3JTdGF0ZTtcbn1cblxuaW50ZXJmYWNlIEFjdGllQW5kU3RhdGVJbnB1dCB7XG4gICAgYWN0aWU6IFJldHVyblR5cGU8dHlwZW9mIE1zdEFjdGlvbnMubGFhZEVuVmVyd2Vya1NpZ25hbGVyaW5nc2JlZWxkSW5mbz47XG4gICAgc3RvcmVTdGF0ZTogTXN0RWRpdG9yU3RhdGU7XG59XG5cbmludGVyZmFjZSBEdG9zQW5kU3RhdGUge1xuICAgIGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXTtcbiAgICBzdG9yZVN0YXRlOiBNc3RFZGl0b3JTdGF0ZTtcbn1cblxuaW50ZXJmYWNlIFNiUmVzdWx0IHtcbiAgICBzdmdEYXRhVXJsczogc3RyaW5nW107XG4gICAgcml0RGVsZW46IFJpdGRlZWxbXTtcbiAgICBkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW107XG59XG5cbmludGVyZmFjZSBTaWduYWxlcmluZ3NiZWVsZEluZm9JbnB1dCB7XG4gICAgZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdO1xuICAgIGFjdGllOiBhbnk7XG4gICAgc3RvcmVTdGF0ZTogTXN0RWRpdG9yU3RhdGU7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMYWFkU2lnbmFsZXJpbmdzYmVlbGRlbkVmZmVjdCB7XG5cbiAgICBwcml2YXRlIFNWR19QSVhFTF9SVUlNVEUgPSAzMDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8TXN0RWRpdG9yU3RhdGU+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZTogU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzYmlSZXNvdXJjZTogU2lnbmFsZXJpbmdzYmVlbGRJbmZvUmVzb3VyY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0b3JTZXJ2aWNlOiBDb25uZWN0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZXNTZXJ2aWNlOiBNZXNzYWdlc1NlcnZpY2UpIHtcbiAgICB9XG5cbiAgICB2ZXJ3ZXJrUml0ZGVsZW4kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFJpdGRlbGVuQWN0aW9ucy5zZXRSaXREZWxlbiwgUml0ZGVsZW5BY3Rpb25zLm5hdmlnZWVyLCBSaXRkZWxlbkFjdGlvbnMubmF2aWdlZXJWYW5hZiksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUpLFxuICAgICAgICBtYXAoKFthY3RpZSwgc3RvcmVTdGF0ZV0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5TZXRPbmdlcGxhbmRlQWN0aWVzQmVwYWFsZChmYWxzZSkpO1xuICAgICAgICAgICAgdGhpcy52ZXJ3ZXJrUml0ZGVsZW4oYWN0aWUsIHN0b3JlU3RhdGUpO1xuICAgICAgICB9KSksIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgICApO1xuXG4gICAgbGFhZEVuVmVyd2Vya1NpZ25hbGVyaW5nc2JlZWxkSW5mbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoTXN0QWN0aW9ucy5sYWFkRW5WZXJ3ZXJrU2lnbmFsZXJpbmdzYmVlbGRJbmZvKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZSksXG4gICAgICAgIHN3aXRjaE1hcCgoW2FjdGllLCBzdG9yZVN0YXRlXSkgPT4gdGhpcy5oYW5kbGVTaWduYWxlcmluZ3NiZWVsZEluZm8oe2FjdGllLCBzdG9yZVN0YXRlfSkpXG4gICAgKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XG5cbiAgICBwcml2YXRlIGhhbmRsZVNpZ25hbGVyaW5nc2JlZWxkSW5mbyh7YWN0aWUsIHN0b3JlU3RhdGV9IDogQWN0aWVBbmRTdGF0ZUlucHV0KTogIE9ic2VydmFibGU8SVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNiaVJlc291cmNlLmxhYWRTaWduYWxlcmluZ3NiZWVsZEluZm8odGhpcy5jcmVhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9RdWVyeUR0byhhY3RpZS5wcGxncywgc3RvcmVTdGF0ZS5pYVZlcnNpZSkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFwKChkdG9zKSA9PiB0aGlzLnByb2Nlc3NSZXNwb25zZSh7ZHRvcywgc3RvcmVTdGF0ZSwgYWN0aWV9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzU2VydmljZS5zaG93TWVzc2FnZShNZXNzYWdlQnVpbGRlci5uaWV0R2V2b25kZW5TQkkoZXJyKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzUmVzcG9uc2UoeyBkdG9zLCBzdG9yZVN0YXRlLCBhY3RpZSB9OiBTaWduYWxlcmluZ3NiZWVsZEluZm9JbnB1dCk6IHZvaWQgIHtcbiAgICAgICAgaWYgKGR0b3MgJiYgZHRvcy5maWx0ZXIoZHRvID0+IGR0by5tZXRWaXN1YWxpc2F0aWUpLmxlbmd0aCA+IDEyKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzU2VydmljZS5zaG93TWVzc2FnZShNZXNzYWdlQnVpbGRlci5tZWVyRGFuMTJCbGFkZW5HZXZvbmRlbihkdG9zLmxlbmd0aCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyhkdG9zLCBzdG9yZVN0YXRlLmlhVmVyc2llLCBhY3RpZS5yaXQsIGFjdGllLnBhZ2luYXRpb25TaXplLCBhY3RpZS5yaXRHZXdpanppZ2RUb2VnZXN0YWFuKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MoZHRvcykpO1xuICAgIH1cblxuICAgIG5hdmlnZWVyQnVpdGVuUml0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShNc3RBY3Rpb25zLm5hdmlnZWVyQnVpdGVuUml0KSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZSksXG4gICAgICAgIHN3aXRjaE1hcCgoW2FjdGllLCBzdG9yZVN0YXRlXSkgPT5cbiAgICAgICAgICAgIG9mKHtcbiAgICAgICAgICAgICAgICByYW5kOiB0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UuZ2V0VG9wb2xvZ3lFbGVtZW50QnlQdWljKGFjdGllLnJhbmRQdWljKSxcbiAgICAgICAgICAgICAgICByYW5kUHVpYzogYWN0aWUucmFuZFB1aWMsXG4gICAgICAgICAgICAgICAgc3RvcmVTdGF0ZVxuICAgICAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodGhpcy5nZXRPdGhlclJhbmQuYmluZCh0aGlzKSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHRoaXMubG9hZFJvdXRlRmlsZXNBbmRTaWduYWxlcmluZ3NiZWVsZEluZm8uYmluZCh0aGlzKSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHRoaXMubG9hZFNpZ25hbGVyaW5nc2JlZWxkZW4uYmluZCh0aGlzKSksXG4gICAgICAgICAgICAgICAgbWFwKHRoaXMucHJvY2Vzc1N2Z3NBbmRVcGRhdGVSaXRkZWxlbi5iaW5kKHRoaXMpKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XG5cbiAgICBwcml2YXRlIGdldE90aGVyUmFuZCh7IHJhbmQsIHJhbmRQdWljLCBzdG9yZVN0YXRlfTogT3RoZXJSYW5kSW5wdXQpOiBPYnNlcnZhYmxlPE90aGVyUmFuZFJlc3VsdD4gIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yU2VydmljZS5nZXRPdGhlclJhbmQocmFuZFB1aWMpLnBpcGUoXG4gICAgICAgICAgICBtYXAob3RoZXJQcGxnID0+ICh7IG90aGVyUHBsZywgcmFuZCwgc3RvcmVTdGF0ZSB9KSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRSb3V0ZUZpbGVzQW5kU2lnbmFsZXJpbmdzYmVlbGRJbmZvKHsgb3RoZXJQcGxnLCByYW5kLCBzdG9yZVN0YXRlIH06IE90aGVyUmFuZFJlc3VsdCk6IE9ic2VydmFibGU8RHRvc0FuZFN0YXRlPiB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5sYWFkUm91dGVGaWxlcyhzdG9yZVN0YXRlLmlhVmVyc2llLnZlcnNpZSwgW3JhbmQuZ2V0UFBMRygpLCBvdGhlclBwbGddKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2JpUmVzb3VyY2UubGFhZFNpZ25hbGVyaW5nc2JlZWxkSW5mbyh0aGlzLmNyZWF0ZVNpZ25hbGVyaW5nc2JlZWxkSW5mb1F1ZXJ5RHRvKFtyYW5kLmdldFBQTEcoKSwgb3RoZXJQcGxnXSwgc3RvcmVTdGF0ZS5pYVZlcnNpZSkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZHRvcyA9PiAoeyBkdG9zLCBzdG9yZVN0YXRlIH0pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFNpZ25hbGVyaW5nc2JlZWxkZW4oeyBkdG9zLCBzdG9yZVN0YXRlIH06IER0b3NBbmRTdGF0ZSk6IE9ic2VydmFibGU8U2JSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yU2VydmljZS5sYWFkU2lnbmFsZXJpbmdzYmVlbGRlbihzdG9yZVN0YXRlLmlhVmVyc2llLnZlcnNpZSwgZHRvcykucGlwZShcbiAgICAgICAgICAgIG1hcChzdmdEYXRhVXJscyA9PiAoeyBzdmdEYXRhVXJscywgcml0RGVsZW46IHN0b3JlU3RhdGUucml0RGVsZW4sIGR0b3MgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3Znc0FuZFVwZGF0ZVJpdGRlbGVuKHsgc3ZnRGF0YVVybHMsIHJpdERlbGVuLCBkdG9zIH06IFNiUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIHRoaXMudmVyd2Vya1N2Z3Moc3ZnRGF0YVVybHMpO1xuICAgICAgICBjb25zdCBuaWV1d2VSaXRkZWxlbiA9IHRoaXMudXBkYXRlUml0ZGVsZW4ocml0RGVsZW4sIGR0b3MpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1zdEFjdGlvbnMuVXBkYXRlVmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MoZHRvcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy51cGRhdGVSaXREZWxlbihuaWV1d2VSaXRkZWxlbikpO1xuICAgIH1cblxuICAgIHZlcndlcmtSaXRkZWxlbihhY3RpZTogYW55LCBzdG9yZVN0YXRlOiBNc3RFZGl0b3JTdGF0ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc0luaXQgPSBhY3RpZS50eXBlID09PSBSaXRkZWxlbkFjdGlvbnMuU0VUX1JJVF9ERUxFTjtcbiAgICAgICAgY29uc3Qgcml0RGVsZW46IFJpdGRlZWxbXSA9IGlzSW5pdCA/IGFjdGllLnJpdERlbGVuIDogc3RvcmVTdGF0ZS5yaXREZWxlbjtcbiAgICAgICAgY29uc3Qgc3RvcmVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10gPSBzdG9yZVN0YXRlLnNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3M7XG5cbiAgICAgICAgdGhpcy5uYXZpZ2VlcihyaXREZWxlbiwgYWN0aWUsIHN0b3JlRHRvcyk7XG5cbiAgICAgICAgY29uc3QgdmlzaWJsZVJpdERlbGVuID0gcml0RGVsZW4uZmlsdGVyKG4gPT4gbi5pc1ppY2h0YmFhckJpbm5lbldpbmRvdygpKTtcbiAgICAgICAgY29uc3QgdmlzaWJsZVJpdFBwbGdzOiBzdHJpbmdbXSA9IHZpc2libGVSaXREZWxlbi5tYXAociA9PiByLmdldFBwbGcoKSkuZmlsdGVyKHRoaXMuZGlzdGluY3QpO1xuXG4gICAgICAgIGNvbnN0IHZpc2libGVEdG9zID0gdGhpcy5iZXBhYWxaaWNodGJhcmVEdG9zKHZpc2libGVSaXRQcGxncywgc3RvcmVEdG9zKTtcbiAgICAgICAgY29uc3QgbG9hZGluZ0R0b3MgPSB0aGlzLmJlcGFhbFRvTG9hZER0b3ModmlzaWJsZUR0b3MsIHJpdERlbGVuLCB2aXNpYmxlUml0RGVsZW4sIHZpc2libGVSaXRQcGxncywgc3RvcmVTdGF0ZSk7XG5cbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmxhYWRTaWduYWxlcmluZ3NiZWVsZGVuKHN0b3JlU3RhdGUuaWFWZXJzaWUudmVyc2llLCBsb2FkaW5nRHRvcykucGlwZShcbiAgICAgICAgICAgIHRhcChzdmdEYXRhVXJscyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZXJ3ZXJrU3ZncyhzdmdEYXRhVXJscyk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShyaXREZWxlbiwgdmlzaWJsZUR0b3MsIHN0b3JlU3RhdGUsIHZpc2libGVSaXRQcGxncywgbG9hZGluZ0R0b3MsIGlzSW5pdCwgc3RvcmVEdG9zKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXNTZXJ2aWNlLnNob3dNZXNzYWdlKE1lc3NhZ2VCdWlsZGVyLnJ3cERhdGFOaWV0R2V2b25kZW4oVXRpbHMuZ2V0VmFsaWRFcm9yck1lc3NhZ2UoZXJyKSkpO1xuICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTdGF0ZShyaXREZWxlbjogUml0ZGVlbFtdLCB2aXNpYmxlRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdLCBzdG9yZVN0YXRlOiBNc3RFZGl0b3JTdGF0ZSwgdmlzaWJsZVJpdFBwbGdzOiBzdHJpbmdbXSwgbG9hZGluZ0R0b3M6IGFueVtdLCBpc0luaXQ6IGJvb2xlYW4sIHN0b3JlRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmlldXdlUml0ZGVsZW4gPSB0aGlzLnVwZGF0ZVJpdGRlbGVuKHJpdERlbGVuLCB2aXNpYmxlRHRvcyk7XG4gICAgICAgICAgICB0aGlzLmRlYnVnTG9nKHN0b3JlU3RhdGUuZGVidWcsIHZpc2libGVSaXRQcGxncywgbG9hZGluZ0R0b3MpO1xuXG4gICAgICAgICAgICBpZiAoIWlzSW5pdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5VcGRhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zKHN0b3JlRHRvcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5VcGRhdGVWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyhsb2FkaW5nRHRvcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMudXBkYXRlUml0RGVsZW4obmlldXdlUml0ZGVsZW4pKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9RdWVyeUR0byhwcGxnczogc3RyaW5nW10sIGlhaW5mbzogSW5mcmFNb2RlbCk6IGFueSB7XG4gICAgICAgIGNvbnN0IGRhdHVtID0gaWFpbmZvLmluZ2FuZ3NEYXR1bSAmJiAhaXNOYU4oaWFpbmZvLmluZ2FuZ3NEYXR1bS5nZXRUaW1lKCkpID8gaWFpbmZvLmluZ2FuZ3NEYXR1bS50b0lTT1N0cmluZygpIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4geyBwcGxncywgdmVyc2llOiBpYWluZm8udmVyc2llLCBpbmdhbmdzRGF0dW06IGRhdHVtIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJ3ZXJrU3ZncyhzdmdEYXRhVXJsczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLlNldFN2Z0luZm9zKHRoaXMuYmVwYWFsU3ZnSW5mb3Moc3ZnRGF0YVVybHMpKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxTdmdJbmZvcyhzdmdEYXRhVXJsczogc3RyaW5nW10pOiBTdmdJbmZvW10ge1xuICAgICAgICBsZXQgbmV4dENvb3JkcyA9IG5ldyBQb2ludCgwLCAwKTtcbiAgICAgICAgY29uc3QgaW5mb3M6IFN2Z0luZm9bXSA9IFtdO1xuICAgICAgICBzdmdEYXRhVXJscy5mb3JFYWNoKHN2Z0RhdGFVcmwgPT4ge1xuICAgICAgICAgICAgaWYgKHN2Z0RhdGFVcmwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVkID0gYXRvYihzdmdEYXRhVXJsLnN1YnN0cmluZygnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCwnLmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIGluZm9zLnB1c2gobmV3IFN2Z0luZm8oJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwnICsgZGVjb2RlZCwgbmV4dENvb3JkcykpO1xuICAgICAgICAgICAgICAgIG5leHRDb29yZHMgPSBuZXcgUG9pbnQobmV4dENvb3Jkcy54ICsgSW14Vmlld2VyQ29tcG9uZW50LmdldFhDb29yZGluYXRlKGRlY29kZWQpICsgdGhpcy5TVkdfUElYRUxfUlVJTVRFLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBpbmZvcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbFRvTG9hZER0b3ModmlzaWJsZUR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSwgcml0RGVsZW46IFJpdGRlZWxbXSwgdmlzaWJsZVJpdERlbGVuOiBSaXRkZWVsW10sIHZpc2libGVSaXRQcGxnczogc3RyaW5nW10sIHN0b3JlU3RhdGU6IE1zdEVkaXRvclN0YXRlKTogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdIHtcbiAgICAgICAgY29uc3QgbG9hZGluZ0R0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSA9IFsuLi52aXNpYmxlRHRvc107XG4gICAgICAgIGNvbnN0IGZpcnN0SWR4ID0gcml0RGVsZW4uaW5kZXhPZih2aXNpYmxlUml0RGVsZW5bMF0pIC0gMTtcbiAgICAgICAgdGhpcy5hZGRQcmV2Tm9uVmlzaWJsZUR0byhmaXJzdElkeCwgcml0RGVsZW4sIGxvYWRpbmdEdG9zLCB2aXNpYmxlUml0UHBsZ3MsIHN0b3JlU3RhdGUuc2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyk7XG4gICAgICAgIGNvbnN0IGxhc3RJZHggPSByaXREZWxlbi5pbmRleE9mKHZpc2libGVSaXREZWxlblt2aXNpYmxlUml0RGVsZW4ubGVuZ3RoIC0gMV0pICsgMTtcbiAgICAgICAgdGhpcy5hZGROZXh0Tm9uVmlzaWJsZUR0byhsYXN0SWR4LCByaXREZWxlbiwgbG9hZGluZ0R0b3MsIHZpc2libGVSaXRQcGxncywgc3RvcmVTdGF0ZS5zaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zKTtcbiAgICAgICAgcmV0dXJuIGxvYWRpbmdEdG9zO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsWmljaHRiYXJlRHRvcyh2aXNpYmxlUml0UHBsZ3M6IHN0cmluZ1tdLCBkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10ge1xuICAgICAgICBjb25zdCB2aXNpYmxlRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdID0gW107XG4gICAgICAgIHZpc2libGVSaXRQcGxncy5mb3JFYWNoKHBwbGcgPT4ge1xuICAgICAgICAgICAgZHRvcy5maWx0ZXIoZHRvID0+IGR0by5wcGxncy5pbmNsdWRlcyhwcGxnKSkuZm9yRWFjaChkdG8gPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdmlzaWJsZUR0b3MuaW5jbHVkZXMoZHRvKSkge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlRHRvcy5wdXNoKGR0byk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB2aXNpYmxlRHRvcy5mb3JFYWNoKGR0byA9PiBkdG8ubWV0VmlzdWFsaXNhdGllID0gdHJ1ZSk7XG4gICAgICAgIGR0b3MuZmlsdGVyKGQgPT4gIXZpc2libGVEdG9zLmluY2x1ZGVzKGQpKS5mb3JFYWNoKGQgPT4gZC5tZXRWaXN1YWxpc2F0aWUgPSBmYWxzZSk7XG4gICAgICAgIHJldHVybiB2aXNpYmxlRHRvcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc3RpbmN0KHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIsIHZhbHVlczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5pbmRleE9mKHZhbHVlKSA9PT0gaW5kZXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRQcmV2Tm9uVmlzaWJsZUR0byhmaXJzdElkeDogbnVtYmVyLCByaXRkZWxlbjogUml0ZGVlbFtdLCBsb2FkaW5nRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdLCB2aXNpYmxlUml0UHBsZ3M6IHN0cmluZ1tdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogdm9pZCB7XG4gICAgICAgIGlmIChmaXJzdElkeCA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBwcGxnID0gcml0ZGVsZW5bZmlyc3RJZHhdLmdldFBwbGcoKTtcbiAgICAgICAgICAgIGNvbnN0IHJpdGRlZWxEdG9zID0gYWxsRHRvcy5maWx0ZXIoZHRvID0+IGR0by5wcGxncy5pbmNsdWRlcyhwcGxnKSkuZmlsdGVyKGR0byA9PiAhbG9hZGluZ0R0b3MuaW5jbHVkZXMoZHRvKSk7XG5cbiAgICAgICAgICAgIGlmICghdmlzaWJsZVJpdFBwbGdzLmluY2x1ZGVzKHBwbGcpICYmIHJpdGRlZWxEdG9zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByaXRkZWVsRHRvcy5maWx0ZXIoZCA9PiAhbG9hZGluZ0R0b3MuaW5jbHVkZXMoZCkpLmZvckVhY2goZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGQubWV0VmlzdWFsaXNhdGllID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdEdG9zLnB1c2goZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkUHJldk5vblZpc2libGVEdG8oZmlyc3RJZHggLSAxLCByaXRkZWxlbiwgbG9hZGluZ0R0b3MsIHZpc2libGVSaXRQcGxncywgYWxsRHRvcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZE5leHROb25WaXNpYmxlRHRvKGxhc3RJZHg6IG51bWJlciwgcml0ZGVsZW46IFJpdGRlZWxbXSwgbG9hZGluZ0R0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSwgdmlzaWJsZVJpdFBwbGdzOiBzdHJpbmdbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbER0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IHZvaWQge1xuICAgICAgICBpZiAobGFzdElkeCA8PSByaXRkZWxlbi5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICBjb25zdCBwcGxnID0gcml0ZGVsZW5bbGFzdElkeF0uZ2V0UHBsZygpO1xuICAgICAgICAgICAgY29uc3Qgcml0ZGVlbER0b3MgPSBhbGxEdG9zLmZpbHRlcihkdG8gPT4gZHRvLnBwbGdzLmluY2x1ZGVzKHBwbGcpKS5maWx0ZXIoZHRvID0+ICFsb2FkaW5nRHRvcy5pbmNsdWRlcyhkdG8pKTtcblxuICAgICAgICAgICAgaWYgKCF2aXNpYmxlUml0UHBsZ3MuaW5jbHVkZXMocHBsZykgJiYgcml0ZGVlbER0b3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJpdGRlZWxEdG9zLmZpbHRlcihkID0+ICFsb2FkaW5nRHRvcy5pbmNsdWRlcyhkKSkuZm9yRWFjaChkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZC5tZXRWaXN1YWxpc2F0aWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ0R0b3MucHVzaChkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGROZXh0Tm9uVmlzaWJsZUR0byhsYXN0SWR4ICsgMSwgcml0ZGVsZW4sIGxvYWRpbmdEdG9zLCB2aXNpYmxlUml0UHBsZ3MsIGFsbER0b3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWJ1Z0xvZyhkZWJ1ZzogYm9vbGVhbiwgdmlzaWJsZVJpdFBwbGdzOiBzdHJpbmdbXSwgbG9hZGluZ0R0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IHZvaWQge1xuICAgICAgICBpZiAoZGVidWcpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSSVQgUFBMR3M6ICcgKyB2aXNpYmxlUml0UHBsZ3MpO1xuICAgICAgICAgICAgbG9hZGluZ0R0b3MuZm9yRWFjaChkdG8gPT4ge1xuICAgICAgICAgICAgICAgIGxldCBzdHIgPSAnXFxuRFRPLWJsYWROYWFtOiAnICsgZHRvLmJsYWROYWFtO1xuICAgICAgICAgICAgICAgIHN0ciArPSAnXFxuRFRPLVBQTEdzICAgOiAnICsgZHRvLnBwbGdzO1xuICAgICAgICAgICAgICAgIHN0ciArPSAnXFxuVmlzaWJsZSAgICAgOiAnICsgZHRvLm1ldFZpc3VhbGlzYXRpZTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhzdHIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhY3RpZXM6IE5hdmlnZWVyfE5hdmlnZWVyVmFuYWZ8U2V0Uml0RGVsZW5cbiAgICBwcml2YXRlIG5hdmlnZWVyKHJpdERlbGVuOiBSaXRkZWVsW10sIGFjdGllOiB7XG4gICAgICAgIHBhZ2luYXRpb25TaXplOiBudW1iZXI7XG4gICAgICAgIHN0YXBTaXplOiBudW1iZXI7XG4gICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgcml0ZGVlbDogUml0ZGVlbFxuICAgIH0sIHN0b3JlRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogdm9pZCB7XG4gICAgICAgIC8vIGFsbGUgcml0ZGVsZW4ga3JpamdlbiB6aWNodGJhYXJoZWlkQnVpdGVuUGFnaW5hdGllID0+IGZhbHNlXG4gICAgICAgIGlmIChhY3RpZS50eXBlID09PSBSaXRkZWxlbkFjdGlvbnMuU0VUX1JJVF9ERUxFTikge1xuICAgICAgICAgICAgdGhpcy5iZXBhYWxaaWNodGJhYXJoZWlkUmVjaHRzKDAsIHJpdERlbGVuLCBhY3RpZS5wYWdpbmF0aW9uU2l6ZSwgc3RvcmVEdG9zKTtcbiAgICAgICAgfSBlbHNlIGlmIChhY3RpZS50eXBlID09PSBSaXRkZWxlbkFjdGlvbnMuTkFWSUdFRVIpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlua3MgPSBhY3RpZS5zdGFwU2l6ZSA8IDA7XG4gICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy5iZXBhYWxTdGFydEluZGV4KHJpdERlbGVuKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZEluZGV4ID0gdGhpcy5iZXBhYWxFbmRJbmRleChyaXREZWxlbik7XG4gICAgICAgICAgICBjb25zdCBuYXZpZ2VyZW5Nb2dlbGlqayA9ICEoc3RhcnRJbmRleCA9PT0gMCAmJiBpc0xpbmtzIHx8IGVuZEluZGV4ID09PSByaXREZWxlbi5sZW5ndGggLSAxICYmICFpc0xpbmtzKTtcbiAgICAgICAgICAgIGlmIChuYXZpZ2VyZW5Nb2dlbGlqaykge1xuICAgICAgICAgICAgICAgIGlmIChpc0xpbmtzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsWmljaHRiYWFyaGVpZExpbmtzKHN0YXJ0SW5kZXgsIHJpdERlbGVuLCBhY3RpZS5wYWdpbmF0aW9uU2l6ZSwgc3RvcmVEdG9zKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbFppY2h0YmFhcmhlaWRSZWNodHMoZW5kSW5kZXgsIHJpdERlbGVuLCBhY3RpZS5wYWdpbmF0aW9uU2l6ZSwgc3RvcmVEdG9zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoYWN0aWUudHlwZSA9PT0gUml0ZGVsZW5BY3Rpb25zLk5BVklHRUVSX1ZBTkFGKSB7XG4gICAgICAgICAgICBjb25zdCBpZHggPSByaXREZWxlbi5pbmRleE9mKGFjdGllLnJpdGRlZWwpO1xuICAgICAgICAgICAgdGhpcy5iZXBhYWxaaWNodGJhYXJoZWlkUmVjaHRzKGlkeCwgcml0RGVsZW4sIGFjdGllLnBhZ2luYXRpb25TaXplLCBzdG9yZUR0b3MpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVSaXRkZWxlbihyaXRkZWxlbjogUml0ZGVlbFtdLCB2aXNpYmxlRHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdKTogUml0ZGVlbFtdIHtcbiAgICAgICAgY29uc3QgdmlzaWJsZUluZGljZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByaXRkZWxlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHJpdGRlbGVuW2ldLmlzWmljaHRiYWFyQmlubmVuV2luZG93KCkpIHtcbiAgICAgICAgICAgICAgICB2aXNpYmxlSW5kaWNlcy5wdXNoKGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKC4uLnZpc2libGVJbmRpY2VzKTtcbiAgICAgICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoLi4udmlzaWJsZUluZGljZXMpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcml0ZGVsZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJkID0gcml0ZGVsZW5baV07XG5cbiAgICAgICAgICAgIGlmIChyZC5pc1ppY2h0YmFhckJpbm5lbldpbmRvdygpKSB7XG4gICAgICAgICAgICAgICAgcmQuYmVwYWFsVG9wb2xvZ2llRWxlbWVudGVuKHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJkLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVsZW5baV0gPSByZC5pc05pZXRCZXNjaGlrYmFhcigpID8gcmQuY29weU1ldFppY2h0YmFhcmhlaWQoUml0ZGVlbFppY2h0YmFhcmhlaWQuWklDSFRCQUFSKSA6IHJkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJpdGRlbGVuW2ldID0gdGhpcy5tYWFrT256aWNodGJhYXIocmQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlWmljaHRiYWFyaGVpZEFhbmdyZW56ZW5kZVJpdGRlbGVuKG1pbiwgbWF4LCByaXRkZWxlbiwgdmlzaWJsZUR0b3MpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZVppY2h0YmFhcmhlaWRCdWl0ZW5XaW5kb3cocml0ZGVsZW4sIHZpc2libGVEdG9zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVppY2h0YmFhcmhlaWRCdWl0ZW5XaW5kb3cobmlldXdlUml0ZGVsZW46IFJpdGRlZWxbXSwgdmlzaWJsZUR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IFJpdGRlZWxbXSB7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuaWV1d2VSaXRkZWxlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcmQgPSBuaWV1d2VSaXRkZWxlbltpXTtcblxuICAgICAgICAgICAgaWYgKCFyZC5pc1ppY2h0YmFhcigpICYmIHRoaXMuYmV2YXRHZXZpc3VhbGlzZWVyZGVQcGxnKHZpc2libGVEdG9zLCByZC5nZXRQcGxnKCkpKSB7XG4gICAgICAgICAgICAgICAgcmQuYmVwYWFsVG9wb2xvZ2llRWxlbWVudGVuKHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJkLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpLmxlbmd0aCA+IDAgJiYgdGhpcy5pc0VlcnN0ZUxhYXRzdGVQdWljWmljaHRiYWFyKHJkLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpKSkge1xuICAgICAgICAgICAgICAgICAgICBuaWV1d2VSaXRkZWxlbltpXSA9IHJkLmlzTmlldEJlc2NoaWtiYWFyKCkgPyByZC5jb3B5TWV0WmljaHRiYWFyaGVpZEVuUGFnaW5hdGllKFJpdGRlZWxaaWNodGJhYXJoZWlkLlpJQ0hUQkFBUiwgdHJ1ZSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmQuY29weU1ldFppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuaWV1d2VSaXRkZWxlbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVppY2h0YmFhcmhlaWRBYW5ncmVuemVuZGVSaXRkZWxlbihtaW46IG51bWJlciwgbWF4OiBudW1iZXIsIG5pZXV3ZVJpdGRlbGVuOiBSaXRkZWVsW10sIHZpc2libGVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pOiB2b2lkIHtcbiAgICAgICAgbGV0IGkgPSBtaW4gLSAxO1xuICAgICAgICB3aGlsZSAoaSA+PSAwKSB7XG4gICAgICAgICAgICBpID0gdGhpcy51cGRhdGVaaWNodGJhYXJIZWlkKGksIDAsIHZpc2libGVEdG9zLCBuaWV1d2VSaXRkZWxlbikgLSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaSA9IG1heCArIDE7XG4gICAgICAgIHdoaWxlIChpIDwgbmlldXdlUml0ZGVsZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBpID0gdGhpcy51cGRhdGVaaWNodGJhYXJIZWlkKGksIG5pZXV3ZVJpdGRlbGVuLmxlbmd0aCwgdmlzaWJsZUR0b3MsIG5pZXV3ZVJpdGRlbGVuKSArIDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVppY2h0YmFhckhlaWQoaTogbnVtYmVyLCBlbmQ6IG51bWJlciwgdmlzaWJsZUR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSwgbmlldXdlUml0ZGVsZW46IFJpdGRlZWxbXSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJkID0gbmlldXdlUml0ZGVsZW5baV07XG4gICAgICAgIGlmICh0aGlzLmJldmF0R2V2aXN1YWxpc2VlcmRlUHBsZyh2aXNpYmxlRHRvcywgcmQuZ2V0UHBsZygpKSkge1xuICAgICAgICAgICAgaSA9IHRoaXMudXBkYXRlWmljaHRiYWFyaGVpZEFhbmdyZW56ZW5kZVJpdGRlZWwocmQsIG5pZXV3ZVJpdGRlbGVuLCBpLCBlbmQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaSA9IGVuZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRWVyc3RlTGFhdHN0ZVB1aWNaaWNodGJhYXIodG9wb0VsZW1lbnRlbjogVG9wb2xvZ3lFbGVtZW50W10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3AnICsgdG9wb0VsZW1lbnRlblswXS5nZXRQdWljKCkpIHx8XG4gICAgICAgICAgICAhIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwJyArIHRvcG9FbGVtZW50ZW5bdG9wb0VsZW1lbnRlbi5sZW5ndGggLSAxXS5nZXRQdWljKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlWmljaHRiYWFyaGVpZEFhbmdyZW56ZW5kZVJpdGRlZWwocmQ6IFJpdGRlZWwsIG5pZXV3ZVJpdGRlbGVuOiBSaXRkZWVsW10sIGk6IG51bWJlciwgZW5kOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZC5iZXBhYWxUb3BvbG9naWVFbGVtZW50ZW4odGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlKTtcbiAgICAgICAgaWYgKHJkLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpLmxlbmd0aCA+IDAgJiYgdGhpcy5pc0VlcnN0ZUxhYXRzdGVQdWljWmljaHRiYWFyKHJkLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpKSkge1xuICAgICAgICAgICAgbmlldXdlUml0ZGVsZW5baV0gPSByZC5pc05pZXRCZXNjaGlrYmFhcigpID8gcmQuY29weU1ldFppY2h0YmFhcmhlaWQoUml0ZGVlbFppY2h0YmFhcmhlaWQuWklDSFRCQUFSKSA6IHJkO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZW5kO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmV2YXRHZXZpc3VhbGlzZWVyZGVQcGxnKHZpc2libGVEdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10sIHBwbGc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBmb3IgKGNvbnN0IGR0byBvZiB2aXNpYmxlRHRvcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBkdG9wcGxnIG9mIGR0by5wcGxncykge1xuICAgICAgICAgICAgICAgIGlmIChkdG9wcGxnID09PSBwcGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWFrT256aWNodGJhYXIocmQ6IFJpdGRlZWwpOiBSaXRkZWVsIHtcbiAgICAgICAgcmV0dXJuIHJkLmlzWmljaHRiYWFyKCkgfHwgcmQuaXNPbnppY2h0YmFhckRvb3JHZWJydWlrZXIoKSA/XG4gICAgICAgICAgICByZC5jb3B5TWV0WmljaHRiYWFyaGVpZEVuUGFnaW5hdGllKFJpdGRlZWxaaWNodGJhYXJoZWlkLk9OWklDSFRCQUFSX0RPT1JfU1lTVEVFTSwgZmFsc2UpIDpcbiAgICAgICAgICAgIHJkLmNvcHlNZXRaaWNodGJhYXJoZWlkQnVpdGVuUGFnaW5hdGllKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbFppY2h0YmFhcmhlaWRSZWNodHMoaWR4OiBudW1iZXIsIGl0ZW1zOiBSaXRkZWVsW10sIHBhZ2luYXRpb25TaXplOiBudW1iZXIsIGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcGxnc1dpbmRvdzogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgZHRvc1dpbmRvdzogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJkID0gaXRlbXNbaV07XG4gICAgICAgICAgICBpZiAoaSA+PSBpZHggJiYgdGhpcy52YWx0QmlubmVuUGFnaW5hdGllV2luZG93KHBwbGdzV2luZG93LCBwYWdpbmF0aW9uU2l6ZSwgZHRvc1dpbmRvdykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFppY2h0YmFhcihyZCwgcHBsZ3NXaW5kb3csIGR0b3MsIGR0b3NXaW5kb3csIGl0ZW1zLCBpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbXNbaV0gPSByZC5pc1ppY2h0YmFhcigpIHx8IHJkLmlzT256aWNodGJhYXJEb29yR2VicnVpa2VyKCkgP1xuICAgICAgICAgICAgICAgICAgICByZC5jb3B5TWV0WmljaHRiYWFyaGVpZEVuUGFnaW5hdGllKFJpdGRlZWxaaWNodGJhYXJoZWlkLk9OWklDSFRCQUFSX0RPT1JfU1lTVEVFTSwgZmFsc2UpIDpcbiAgICAgICAgICAgICAgICAgICAgcmQuY29weU1ldFppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxaaWNodGJhYXJoZWlkTGlua3MoaWR4OiBudW1iZXIsIGl0ZW1zOiBSaXRkZWVsW10sIHBhZ2luYXRpb25TaXplOiBudW1iZXIsIGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcGxnc1dpbmRvdzogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgZHRvc1dpbmRvdzogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSBpdGVtcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgY29uc3QgcmQgPSBpdGVtc1tpXTtcbiAgICAgICAgICAgIGlmIChpIDw9IGlkeCAmJiB0aGlzLnZhbHRCaW5uZW5QYWdpbmF0aWVXaW5kb3cocHBsZ3NXaW5kb3csIHBhZ2luYXRpb25TaXplLCBkdG9zV2luZG93KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0WmljaHRiYWFyKHJkLCBwcGxnc1dpbmRvdywgZHRvcywgZHRvc1dpbmRvdywgaXRlbXMsIGkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpdGVtc1tpXSA9IHJkLmlzWmljaHRiYWFyKCkgfHwgcmQuaXNPbnppY2h0YmFhckRvb3JHZWJydWlrZXIoKSA/XG4gICAgICAgICAgICAgICAgICAgIHJkLmNvcHlNZXRaaWNodGJhYXJoZWlkRW5QYWdpbmF0aWUoUml0ZGVlbFppY2h0YmFhcmhlaWQuT05aSUNIVEJBQVJfRE9PUl9TWVNURUVNLCBmYWxzZSkgOlxuICAgICAgICAgICAgICAgICAgICByZC5jb3B5TWV0WmljaHRiYWFyaGVpZEJ1aXRlblBhZ2luYXRpZShmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbHRCaW5uZW5QYWdpbmF0aWVXaW5kb3cocHBsZ3NXaW5kb3c6IHN0cmluZ1tdLCBwYWdpbmF0aW9uU2l6ZTogbnVtYmVyLCBkdG9zV2luZG93OiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHBwbGdzV2luZG93Lmxlbmd0aCA8IHBhZ2luYXRpb25TaXplIHx8IGR0b3NXaW5kb3cubGVuZ3RoIDwgcGFnaW5hdGlvblNpemU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRaaWNodGJhYXIocmQ6IFJpdGRlZWwsIHBwbGdzV2luZG93OiBzdHJpbmdbXSwgZHRvczogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b1tdLCBkdG9zV2luZG93OiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10sIGl0ZW1zOiBSaXRkZWVsW10sIGk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtUHBsZyA9IHJkLmdldFBwbGcoKTtcbiAgICAgICAgaWYgKCFwcGxnc1dpbmRvdy5pbmNsdWRlcyhpdGVtUHBsZykpIHtcbiAgICAgICAgICAgIHBwbGdzV2luZG93LnB1c2goaXRlbVBwbGcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHBsZ0R0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSA9IFtdO1xuICAgICAgICBkdG9zLmZpbHRlcihkdG8gPT4gZHRvLnBwbGdzLmluY2x1ZGVzKGl0ZW1QcGxnKSkuZm9yRWFjaChkdG8gPT4ge1xuICAgICAgICAgICAgaWYgKCFwcGxnRHRvcy5pbmNsdWRlcyhkdG8pKSB7XG4gICAgICAgICAgICAgICAgcHBsZ0R0b3MucHVzaChkdG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBwcGxnRHRvcy5maWx0ZXIoZCA9PiAhZHRvc1dpbmRvdy5pbmNsdWRlcyhkKSkuZm9yRWFjaChkID0+IGR0b3NXaW5kb3cucHVzaChkKSk7XG5cbiAgICAgICAgaXRlbXNbaV0gPSAhcmQuaXNaaWNodGJhYXIoKSA/IHJkLmNvcHlNZXRaaWNodGJhYXJoZWlkRW5QYWdpbmF0aWUoUml0ZGVlbFppY2h0YmFhcmhlaWQuWklDSFRCQUFSLCBmYWxzZSkgOlxuICAgICAgICAgICAgcmQuY29weU1ldFppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsU3RhcnRJbmRleChyaXREZWxlbjogUml0ZGVlbFtdKTogbnVtYmVyIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByaXREZWxlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHJpdERlbGVuW2ldLmlzQmlubmVuV2luZG93KCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxFbmRJbmRleChyaXREZWxlbjogUml0ZGVlbFtdKTogbnVtYmVyIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IHJpdERlbGVuLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBpZiAocml0RGVsZW5baV0uaXNCaW5uZW5XaW5kb3coKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG59XG4iXX0=
|