@smarterplan/ngx-smarterplan-core 1.4.21 → 1.4.22
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/README.md +24 -24
- package/esm2022/lib/components/csv-export/csv-export.component.mjs +3 -3
- package/esm2022/lib/components/loader/loader.component.mjs +3 -3
- package/esm2022/lib/components/menu-bar/avatar/avatar.component.mjs +1 -1
- package/esm2022/lib/components/menu-bar/menu-bar.component.mjs +3 -3
- package/esm2022/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +3 -3
- package/esm2022/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +3 -3
- package/esm2022/lib/components/search-bar/search-bar.component.mjs +3 -3
- package/esm2022/lib/components/splat-viewer/splat-viewer.component.mjs +361 -0
- package/esm2022/lib/components/support-modal/support-modal.component.mjs +3 -3
- package/esm2022/lib/config.mjs +1 -1
- package/esm2022/lib/helpers.service.mjs +1 -1
- package/esm2022/lib/matterport-extensions/nest-thermostat/CanvasImage.mjs +1 -1
- package/esm2022/lib/matterport-extensions/nest-thermostat/CanvasRenderer.mjs +1 -1
- package/esm2022/lib/matterport-extensions/nest-thermostat/NestThermostat.mjs +1 -1
- package/esm2022/lib/matterport-extensions/nest-thermostat/PlaneRenderer.mjs +1 -1
- package/esm2022/lib/matterport-extensions/scene-component/SceneComponent.mjs +1 -1
- package/esm2022/lib/matterport-extensions/security-camera/SecurityCamera.mjs +22 -22
- package/esm2022/lib/matterport-extensions/tv-player/TvPlayer.mjs +1 -1
- package/esm2022/lib/matterport-extensions/view-frustum-mesh/ViewFrustumMesh.mjs +22 -22
- package/esm2022/lib/mattertagData.mjs +1 -1
- package/esm2022/lib/ngx-smarterplan-core.module.mjs +9 -4
- package/esm2022/lib/ngx-smarterplan-core.service.mjs +1 -1
- package/esm2022/lib/pipes/duration-to-string.pipe.mjs +1 -1
- package/esm2022/lib/pipes/format-date-number-to-digits.pipe.mjs +1 -1
- package/esm2022/lib/pipes/hashtag-from-id.pipe.mjs +1 -1
- package/esm2022/lib/pipes/safe-url.pipe.mjs +1 -1
- package/esm2022/lib/pipes/time-date-to-local-string.pipe.mjs +1 -1
- package/esm2022/lib/pipes/username-from-id.pipe.mjs +1 -1
- package/esm2022/lib/services/amplify-cache.service.mjs +1 -1
- package/esm2022/lib/services/base-tab.service.mjs +1 -1
- package/esm2022/lib/services/baseVisibility.service.mjs +1 -1
- package/esm2022/lib/services/content.service.mjs +1 -1
- package/esm2022/lib/services/filter.service.mjs +1 -1
- package/esm2022/lib/services/intervention.service.mjs +1 -1
- package/esm2022/lib/services/locale.service.mjs +1 -1
- package/esm2022/lib/services/matterport-import.service.mjs +1 -1
- package/esm2022/lib/services/matterport-measurement.service.mjs +1 -1
- package/esm2022/lib/services/matterport-navigation.service.mjs +1 -1
- package/esm2022/lib/services/matterport-pointer.service.mjs +6 -6
- package/esm2022/lib/services/matterport-tag-copy.service.mjs +1 -1
- package/esm2022/lib/services/matterport-tag.service.mjs +12 -7
- package/esm2022/lib/services/matterport.service.mjs +17 -17
- package/esm2022/lib/services/models/affectation.service.mjs +1 -1
- package/esm2022/lib/services/models/base-object.service.mjs +1 -1
- package/esm2022/lib/services/models/capture.service.mjs +1 -1
- package/esm2022/lib/services/models/comment.service.mjs +1 -1
- package/esm2022/lib/services/models/domain.service.mjs +1 -1
- package/esm2022/lib/services/models/equipment.service.mjs +1 -1
- package/esm2022/lib/services/models/event.service.mjs +1 -1
- package/esm2022/lib/services/models/feature.service.mjs +1 -1
- package/esm2022/lib/services/models/hashtag.service.mjs +1 -1
- package/esm2022/lib/services/models/layer.service.mjs +1 -1
- package/esm2022/lib/services/models/measurement.service.mjs +1 -1
- package/esm2022/lib/services/models/mission.service.mjs +1 -1
- package/esm2022/lib/services/models/navigation.service.mjs +1 -1
- package/esm2022/lib/services/models/node.service.mjs +1 -1
- package/esm2022/lib/services/models/object3D.service.mjs +1 -1
- package/esm2022/lib/services/models/operation.service.mjs +1 -1
- package/esm2022/lib/services/models/organisation.service.mjs +1 -1
- package/esm2022/lib/services/models/plan.service.mjs +1 -1
- package/esm2022/lib/services/models/poi.service.mjs +27 -27
- package/esm2022/lib/services/models/profile.service.mjs +1 -1
- package/esm2022/lib/services/models/property.service.mjs +1 -1
- package/esm2022/lib/services/models/space.service.mjs +1 -1
- package/esm2022/lib/services/models/template.service.mjs +1 -1
- package/esm2022/lib/services/models/ticket.service.mjs +1 -1
- package/esm2022/lib/services/models/visit.service.mjs +1 -1
- package/esm2022/lib/services/models/zone.service.mjs +1 -1
- package/esm2022/lib/services/navigator.service.mjs +1 -1
- package/esm2022/lib/services/obj-to-glb.mjs +649 -0
- package/esm2022/lib/services/s3.service.mjs +43 -3
- package/esm2022/lib/services/search.service.mjs +1 -1
- package/esm2022/lib/services/support.service.mjs +1 -1
- package/esm2022/lib/services/sweep-locator.service.mjs +1 -1
- package/esm2022/lib/services/tag.service.mjs +16 -16
- package/esm2022/lib/services/threejs-import.service.mjs +6 -4
- package/esm2022/lib/services/threejs.service.mjs +867 -95
- package/esm2022/lib/services/user.service.mjs +1 -1
- package/esm2022/lib/services/utils/matterport-transform.util.mjs +1 -1
- package/esm2022/lib/services/validators.service.mjs +1 -1
- package/esm2022/lib/services/viewer.service.mjs +189 -7
- package/esm2022/lib/services/zone-drawer.service.mjs +1 -1
- package/esm2022/lib/services/zoneChange.service.mjs +1 -1
- package/esm2022/lib/tokens/matterport-sdk-key.token.mjs +1 -1
- package/esm2022/lib/validators/email.directive.mjs +1 -1
- package/esm2022/lib/validators/no-empty.directive.mjs +1 -1
- package/esm2022/lib/validators/number.directive.mjs +1 -1
- package/esm2022/lib/validators/text.directive.mjs +1 -1
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/smarterplan-ngx-smarterplan-core.mjs +2239 -233
- package/fesm2022/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
- package/lib/components/splat-viewer/splat-viewer.component.d.ts +98 -0
- package/lib/ngx-smarterplan-core.module.d.ts +7 -6
- package/lib/services/matterport-tag.service.d.ts +5 -5
- package/lib/services/obj-to-glb.d.ts +66 -0
- package/lib/services/s3.service.d.ts +7 -0
- package/lib/services/threejs.service.d.ts +336 -16
- package/lib/services/viewer.service.d.ts +110 -8
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/src/assets/viewers/splat/chunk-BYLI4YBI.js +17037 -0
- package/src/assets/viewers/splat/chunk-LDV6YPMG.js +1 -0
- package/src/assets/viewers/splat/chunk-WZ5Z4TU3.js +105719 -0
- package/src/assets/viewers/splat/convert-4DRLH77X.js +1 -0
- package/src/assets/viewers/splat/convert.html +11 -0
- package/src/assets/viewers/splat/converter-SLBB5MHG.js +1 -0
- package/src/assets/viewers/splat/index.html +90 -0
- package/src/assets/viewers/splat/spz-DEYRea_v-QE6YSGIB.js +5292 -0
- package/src/assets/viewers/splat/viewer-W4X3FWQJ.js +2704 -0
- package/src/assets/viewers/splat/viewer.css +1096 -0
- package/src/assets/viewers/splat/webp.wasm +0 -0
- package/src/assets/viewers/splat/worker.mjs +1383 -0
- package/src/assets/vs-app.json +67 -67
|
@@ -233,30 +233,30 @@ export class SecurityCamera extends SceneComponent {
|
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
function vertexShader() {
|
|
236
|
-
return `
|
|
237
|
-
uniform mat4 lightMatrix;
|
|
238
|
-
|
|
239
|
-
varying vec4 vLightCoords;
|
|
240
|
-
|
|
241
|
-
void main() {
|
|
242
|
-
// create a UV region [0,1] x [0,1] to represent what the lightMatrix "sees"
|
|
243
|
-
vLightCoords = lightMatrix * modelMatrix * vec4(position, 1.0);
|
|
244
|
-
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
245
|
-
}
|
|
236
|
+
return `
|
|
237
|
+
uniform mat4 lightMatrix;
|
|
238
|
+
|
|
239
|
+
varying vec4 vLightCoords;
|
|
240
|
+
|
|
241
|
+
void main() {
|
|
242
|
+
// create a UV region [0,1] x [0,1] to represent what the lightMatrix "sees"
|
|
243
|
+
vLightCoords = lightMatrix * modelMatrix * vec4(position, 1.0);
|
|
244
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
245
|
+
}
|
|
246
246
|
`;
|
|
247
247
|
}
|
|
248
248
|
function fragmentShader() {
|
|
249
|
-
return `
|
|
250
|
-
uniform vec3 color;
|
|
251
|
-
|
|
252
|
-
varying vec4 vLightCoords;
|
|
253
|
-
|
|
254
|
-
void main() {
|
|
255
|
-
vec2 lightUV = vLightCoords.xy / vLightCoords.w;
|
|
256
|
-
float inView = float(max(lightUV.x, lightUV.y) <= 1.0 && min(lightUV.x, lightUV.y) >= 0.0 && vLightCoords.z > 0.0);
|
|
257
|
-
|
|
258
|
-
gl_FragColor = vec4(color, min(inView, 0.2));
|
|
259
|
-
}
|
|
249
|
+
return `
|
|
250
|
+
uniform vec3 color;
|
|
251
|
+
|
|
252
|
+
varying vec4 vLightCoords;
|
|
253
|
+
|
|
254
|
+
void main() {
|
|
255
|
+
vec2 lightUV = vLightCoords.xy / vLightCoords.w;
|
|
256
|
+
float inView = float(max(lightUV.x, lightUV.y) <= 1.0 && min(lightUV.x, lightUV.y) >= 0.0 && vLightCoords.z > 0.0);
|
|
257
|
+
|
|
258
|
+
gl_FragColor = vec4(color, min(inView, 0.2));
|
|
259
|
+
}
|
|
260
260
|
`;
|
|
261
261
|
}
|
|
262
262
|
function updateHighlightUniforms(projector, uniforms) {
|
|
@@ -272,4 +272,4 @@ export const securityCameraType = 'mp.securityCamera';
|
|
|
272
272
|
export const makeSecurityCamera = function () {
|
|
273
273
|
return new SecurityCamera();
|
|
274
274
|
};
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdXJpdHlDYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy9zZWN1cml0eS1jYW1lcmEvU2VjdXJpdHlDYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdXLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUN4QyxNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQTJCbkUsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUFjO0lBQ3hDLElBQUksR0FBb0IsSUFBSSxDQUFDO0lBQzdCLEtBQUssR0FBb0IsSUFBSSxDQUFDO0lBQzlCLEdBQUcsR0FBZ0IsSUFBSSxDQUFDO0lBQ3hCLEtBQUssR0FBK0IsSUFBSSxDQUFDO0lBQ3pDLFNBQVMsQ0FBb0I7SUFDN0IsU0FBUyxHQUFnQixJQUFJLENBQUM7SUFDOUIsaUJBQWlCLEdBQXNCO1FBQzdDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssRUFBRSxFQUFFO1FBQzdCLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLE9BQU8sRUFBRSxFQUFFO1FBQ3RDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLE9BQU8sRUFBRSxFQUFFO0tBQ3RDLENBQUE7SUFDTyxLQUFLLENBQWlCO0lBRXJCLE1BQU0sR0FBVztRQUN4QixTQUFTLEVBQUUsR0FBRztRQUNkLFFBQVEsRUFBRSxDQUFDO1FBQ1gsYUFBYSxFQUFFLEVBQUU7UUFDakIsTUFBTSxFQUFFLEVBQUUsR0FBRyxDQUFDO1FBQ2QsYUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDbkMsYUFBYSxFQUFFLEVBQUUs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QVMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhELDhFQUE4RTtJQUM5RSw0Q0FBNEM7SUFDNUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNsRSxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUN4RyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsT0FBTyxJQUFJLGNBQWMsRUFBRSxDQUFDO0FBQzlCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgT2JqZWN0M0QsIE1lc2gsIFBlcnNwZWN0aXZlQ2FtZXJhLFxyXG4gIE1lc2hCYXNpY01hdGVyaWFsLCBCb3hHZW9tZXRyeSwgU2hhZGVyTWF0ZXJpYWwsIExpbmVCYXNpY01hdGVyaWFsLCBMaW5lU2VnbWVudHMsIEVkZ2VzR2VvbWV0cnksXHJcbiAgQW5pbWF0aW9uTWl4ZXIsIENvbG9yLCBNYXRyaXg0LCBWZWN0b3IzXHJcbn0gZnJvbSAndGhyZWUnO1xyXG5pbXBvcnQgeyBTY2VuZUNvbXBvbmVudCB9IGZyb20gJy4uL3NjZW5lLWNvbXBvbmVudC9TY2VuZUNvbXBvbmVudCc7XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XHJcbiAgICBUSFJFRTogYW55O1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIElucHV0cyB7XHJcbiAgbmVhclBsYW5lOiBudW1iZXI7XHJcbiAgZmFyUGxhbmU6IG51bWJlcixcclxuICBob3Jpem9udGFsRk9WOiBudW1iZXIsXHJcbiAgYXNwZWN0OiBudW1iZXIsXHJcbiAgbG9jYWxQb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyOyB9O1xyXG4gIGxvY2FsUm90YXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlcjsgfTtcclxuICBjb2xvcjogbnVtYmVyO1xyXG4gIHBhblBlcmlvZDogbnVtYmVyO1xyXG4gIHBhbkFuZ2xlOiBudW1iZXI7XHJcbn1cclxuXHJcbnR5cGUgSGlnaGxpZ2h0VW5pZm9ybXMgPSB7XHJcbiAgY29sb3I6IHsgdmFsdWU6IENvbG9yIH0sXHJcbiAgcHJvalBvc2l0aW9uOiB7IHZhbHVlOiBWZWN0b3IzIH07XHJcbiAgbGlnaHRNYXRyaXg6IHsgdmFsdWU6IE1hdHJpeDQgfTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBTZWN1cml0eUNhbWVyYSBleHRlbmRzIFNjZW5lQ29tcG9uZW50IHtcclxuICBwcml2YXRlIHJvb3Q6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBwaXZvdDogT2JqZWN0M0QgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGJveDogTWVzaCB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgZWRnZXM6IE1lc2ggfCBMaW5lU2VnbWVudHMgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHByb2plY3RvcjogUGVyc3BlY3RpdmVDYW1lcmE7XHJcbiAgcHJpdmF0ZSBoaWdobGlnaHQ6IE1lc2ggfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGhpZ2hsaWdodFVuaWZvcm1zOiBIaWdobGlnaHRVbmlmb3JtcyA9IHtcclxuICAgIGNvbG9yOiB7IHZhbHVlOiBuZXcgQ29sb3IoKSB9LFxyXG4gICAgcHJvalBvc2l0aW9uOiB7IHZhbHVlOiBuZXcgVmVjdG9yMygpIH0sXHJcbiAgICBsaWdodE1hdHJpeDogeyB2YWx1ZTogbmV3IE1hdHJpeDQoKSB9LFxyXG4gIH1cclxuICBwcml2YXRlIG1peGVyOiBBbmltYXRpb25NaXhlcjtcclxuXHJcbiAgb3ZlcnJpZGUgaW5wdXRzOiBJbnB1dHMgPSB7XHJcbiAgICBuZWFyUGxhbmU6IDAuMSxcclxuICAgIGZhclBsYW5lOiA0LFxyXG4gICAgaG9yaXpvbnRhbEZPVjogODAsXHJcbiAgICBhc3BlY3Q6IDE2IC8gOSxcclxuICAgIGxvY2FsUG9zaXRpb246IHsgeDogMCwgeTogMCwgejogMCB9LFxyXG4gICAgbG9jYWxSb3RhdGlvbjogeyB4OiAwLCB5OiAwLCB6OiAwIH0sXHJcbiAgICBjb2xvcjogMHhmZmZmZmYsXHJcbiAgICBwYW5QZXJpb2Q6IDIwLFxyXG4gICAgcGFuQW5nbGU6IDE4MCxcclxuICB9O1xyXG5cclxuICBvdmVycmlkZSBvdXRwdXRzOiBhbnkgPSB7fTtcclxuXHJcblxyXG4gIG92ZXJyaWRlIG9uSW5pdCgpIHtcclxuICAgIGNvbnN0IFRIUkVFID0gdGhpcy5jb250ZXh0LnRocmVlO1xyXG5cclxuICAgIHRoaXMucm9vdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xyXG4gICAgdGhpcy5waXZvdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xyXG4gICAgdGhpcy5yb290LmFkZCh0aGlzLnBpdm90KTtcclxuICAgIHRoaXMub3V0cHV0cy5vYmplY3RSb290ID0gdGhpcy5yb290O1xyXG4gICAgdGhpcy5yb290LnBvc2l0aW9uLnNldCh0aGlzLmlucHV0cy5sb2NhbFBvc2l0aW9uLngsIHRoaXMuaW5wdXRzLmxvY2FsUG9zaXRpb24ueSwgdGhpcy5pbnB1dHMubG9jYWxQb3NpdGlvbi56KTtcclxuXHJcbiAgICBjb25zdCBldWxlciA9IG5ldyBUSFJFRS5FdWxlcih0aGlzLmlucHV0cy5sb2NhbFJvdGF0aW9uLnggKiBNYXRoLlBJIC8gMTgwLCB0aGlzLmlucHV0cy5sb2NhbFJvdGF0aW9uLnkgKiBNYXRoLlBJIC8gMTgwLCB0aGlzLmlucHV0cy5sb2NhbFJvdGF0aW9uLnogKiBNYXRoLlBJIC8gMTgwLCAnWVhaJyk7XHJcbiAgICB0aGlzLnBpdm90LnF1YXRlcm5pb24uc2V0RnJvbUV1bGVyKGV1bGVyKTtcclxuXHJcbiAgICBjb25zdCBhc3BlY3QgPSB0aGlzLmlucHV0cy5hc3BlY3Q7XHJcbiAgICBjb25zdCBERUcyUkFEID0gTWF0aC5QSSAvIDE4MDtcclxuICAgIGNvbnN0IFJBRDJERUcgPSAxIC8gREVHMlJBRDtcclxuICAgIGNvbnN0IHZlcnRpY2FsRk9WID0gMiAqIE1hdGguYXRhbigxIC8gYXNwZWN0ICogTWF0aC50YW4oMC41ICogdGhpcy5pbnB1dHMuaG9yaXpvbnRhbEZPViAqIERFRzJSQUQpKSAqIFJBRDJERUc7XHJcbiAgICB0aGlzLnByb2plY3RvciA9IG5ldyBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYSh2ZXJ0aWNhbEZPViwgYXNwZWN0LCB0aGlzLmlucHV0cy5uZWFyUGxhbmUsIHRoaXMuaW5wdXRzLmZhclBsYW5lKTtcclxuICAgIC8vIG9yaWVudGF0aW9uIG9mIHRoZSBwcm9qZWN0b3IgaXMgaGFuZGxlZCBieSB0aGUgcGl2b3RcclxuICAgIHRoaXMucGl2b3QuYWRkKHRoaXMucHJvamVjdG9yKTtcclxuXHJcbiAgICB0aGlzLm1ha2VGcnVzdHVtVmlzdWFscygpO1xyXG5cclxuICAgIHRoaXMucGl2b3QuYWRkKHRoaXMuYm94KTtcclxuICAgIHRoaXMucGl2b3QuYWRkKHRoaXMuZWRnZXMpO1xyXG5cclxuICAgIHRoaXMubWFrZUhpZ2hsaWdodCgpO1xyXG5cclxuICAgIC8vIGF0dGFjaCBoaWdoaWdodGluZyB0byB0aGUgbWVzaCBpdCByZXByZXNlbnRzXHJcbiAgICAvLyBUT0RPIChzY2VuZSBxdWVyeSk6IHRoaXMgaXMgdmVyeSBicml0dGxlIGJ1dCBpcyB0aGUgb25seSB3YXkgdG8gYXR0YWNoIHNvbWV0aGluZyB0byBhIHJvb20gb2YgdGhlIG1vZGVsXHJcbiAgICBpZiAodGhpcy5oaWdobGlnaHQpIHtcclxuICAgICAgdGhpcy5vdXRwdXRzLm9iamVjdFJvb3QucGFyZW50LnBhcmVudC5hZGQodGhpcy5oaWdobGlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNyZWF0ZSB0aGUgYW5pbWF0aW9uIG1peGVyIHRvIHJvdGF0ZSB0aGUgY2FtZXJhXHJcbiAgICB0aGlzLm1ha2VBbmltYXRpb24oKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG9uVGljayhkZWx0YTogbnVtYmVyKSB7XHJcbiAgICB1cGRhdGVIaWdobGlnaHRVbmlmb3Jtcyh0aGlzLnByb2plY3RvciwgdGhpcy5oaWdobGlnaHRVbmlmb3Jtcyk7XHJcbiAgICBpZiAodGhpcy5taXhlcikge1xyXG4gICAgICB0aGlzLm1peGVyLnVwZGF0ZShkZWx0YSAvIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0ICYmIHRoaXMuaGlnaGxpZ2h0LnBhcmVudCkge1xyXG4gICAgICB0aGlzLmhpZ2hsaWdodC5wYXJlbnQucmVtb3ZlKHRoaXMuaGlnaGxpZ2h0KTtcclxuICAgICAgKHRoaXMuaGlnaGxpZ2h0Lm1hdGVyaWFsIGFzIFNoYWRlck1hdGVyaWFsKS5kaXNwb3NlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5lZGdlcykge1xyXG4gICAgICB0aGlzLmVkZ2VzLmdlb21ldHJ5LmRpc3Bvc2UoKTtcclxuICAgICAgKHRoaXMuZWRnZXMubWF0ZXJpYWwgYXMgTGluZUJhc2ljTWF0ZXJpYWwpLmRpc3Bvc2UoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmJveCkge1xyXG4gICAgICB0aGlzLmJveC5nZW9tZXRyeS5kaXNwb3NlKCk7XHJcbiAgICAgICh0aGlzLmJveC5tYXRlcmlhbCBhcyBNZXNoQmFzaWNNYXRlcmlhbCkuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFrZUZydXN0dW1WaXN1YWxzKCkge1xyXG4gICAgY29uc3QgVEhSRUUgPSB0aGlzLmNvbnRleHQudGhyZWU7XHJcbiAgICBpZiAodGhpcy5ib3gpIHtcclxuICAgICAgdGhpcy5yb290LnJlbW92ZSh0aGlzLmJveCk7XHJcbiAgICAgICh0aGlzLmJveC5tYXRlcmlhbCBhcyBNZXNoQmFzaWNNYXRlcmlhbCkuZGlzcG9zZSgpO1xyXG4gICAgICAodGhpcy5ib3guZ2VvbWV0cnkgYXMgQm94R2VvbWV0cnkpLmRpc3Bvc2UoKTtcclxuICAgICAgdGhpcy5ib3ggPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZWRnZXMpIHtcclxuICAgICAgdGhpcy5yb290LnJlbW92ZSh0aGlzLmVkZ2VzKTtcclxuICAgICAgKHRoaXMuZWRnZXMubWF0ZXJpYWwgYXMgTGluZUJhc2ljTWF0ZXJpYWwpLmRpc3Bvc2UoKTtcclxuICAgICAgKHRoaXMuZWRnZXMuZ2VvbWV0cnkgYXMgRWRnZXNHZW9tZXRyeSkuZGlzcG9zZSgpO1xyXG4gICAgICB0aGlzLmVkZ2VzID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBmdW5jdGlvbiBlZGdlc1RvQ3lsaW5kZXJzKGVkZ2VzR2VvbWV0cnk6IEVkZ2VzR2VvbWV0cnksIHRoaWNrbmVzczogbnVtYmVyKSB7XHJcbiAgICAgIC8vIEFQSSB0byBiZSB1cGRhdGVkIGluIGJ1bmRsZSAtIEpTU0RLLTEyMjJcclxuICAgICAgY29uc3QgbWVyZ2UgPSAoVEhSRUUgYXMgYW55KS5tZXJnZUJ1ZmZlckdlb21ldHJpZXMgPz8gKFRIUkVFIGFzIGFueSkuQnVmZmVyR2VvbWV0cnlVdGlscz8ubWVyZ2VCdWZmZXJHZW9tZXRyaWVzO1xyXG4gICAgICAvLyBub3QgZXhwb3J0ZWQgYnkgdGhlIHRocmVlLmpzIG9mIHJlY2VudCBTREsgYnVuZGxlczogdGhlIGNhbGxlciBmYWxscyBiYWNrIHRvIHBsYWluIGxpbmVzXHJcbiAgICAgIGlmICghbWVyZ2UpIHJldHVybiBudWxsO1xyXG4gICAgICBjb25zdCBDeWxpbmRlciA9IChUSFJFRSBhcyBhbnkpLkN5bGluZGVyR2VvbWV0cnkgPz8gKFRIUkVFIGFzIGFueSkuQ3lsaW5kZXJCdWZmZXJHZW9tZXRyeTtcclxuICAgICAgY29uc3QgeyBwb3NpdGlvbiB9ID0gZWRnZXNHZW9tZXRyeS5hdHRyaWJ1dGVzO1xyXG4gICAgICBjb25zdCB7IGFycmF5LCBjb3VudCB9ID0gcG9zaXRpb247XHJcbiAgICAgIGNvbnN0IHIgPSB0aGlja25lc3MgLyAyO1xyXG4gICAgICBjb25zdCBnZW9tcyA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50ICogMyAtIDE7IGkgKz0gNikge1xyXG4gICAgICAgIGNvbnN0IGEgPSBuZXcgVEhSRUUuVmVjdG9yMyhhcnJheVtpXSwgYXJyYXlbaSArIDFdLCBhcnJheVtpICsgMl0pO1xyXG4gICAgICAgIGNvbnN0IGIgPSBuZXcgVEhSRUUuVmVjdG9yMyhhcnJheVtpICsgM10sIGFycmF5W2kgKyA0XSwgYXJyYXlbaSArIDVdKTtcclxuXHJcbiAgICAgICAgY29uc3QgdmVjID0gbmV3IFRIUkVFLlZlY3RvcjMoKS5zdWJWZWN0b3JzKGIsIGEpO1xyXG4gICAgICAgIGNvbnN0IGxlbiA9IHZlYy5sZW5ndGgoKTtcclxuICAgICAgICBjb25zdCBnZW9tID0gbmV3IEN5bGluZGVyKHIsIHIsIGxlbiwgOCk7XHJcbiAgICAgICAgZ2VvbS50cmFuc2xhdGUoMCwgbGVuIC8gMiwgMCk7XHJcbiAgICAgICAgZ2VvbS5yb3RhdGVYKE1hdGguUEkgLyAyKTtcclxuICAgICAgICBnZW9tLmxvb2tBdCh2ZWMpO1xyXG4gICAgICAgIGdlb20udHJhbnNsYXRlKGEueCwgYS55LCBhLnopO1xyXG4gICAgICAgIGdlb21zLnB1c2goZ2VvbSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG1lcmdlKGdlb21zKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmcnVzdHVtTGVuZ3RoID0gdGhpcy5pbnB1dHMuZmFyUGxhbmUgLSB0aGlzLmlucHV0cy5uZWFyUGxhbmU7XHJcbiAgICBjb25zdCBib3hHZW9tZXRyeTogQm94R2VvbWV0cnkgPSBuZXcgVEhSRUUuQm94R2VvbWV0cnkoMiwgMiwgZnJ1c3R1bUxlbmd0aCk7XHJcbiAgICBjb25zdCBoYWxmSEFuZ2xlID0gdGhpcy5pbnB1dHMuaG9yaXpvbnRhbEZPViAqIDAuNSAqIE1hdGguUEkgLyAxODA7XHJcbiAgICBjb25zdCBuZWFySGFsZldpZHRoID0gTWF0aC50YW4oaGFsZkhBbmdsZSkgKiB0aGlzLmlucHV0cy5uZWFyUGxhbmU7XHJcbiAgICBjb25zdCBmYXJIYWxmV2lkdGggPSBNYXRoLnRhbihoYWxmSEFuZ2xlKSAqIHRoaXMuaW5wdXRzLmZhclBsYW5lO1xyXG4gICAgY29uc3QgbmVhckhhbGZIZWlnaHQgPSBuZWFySGFsZldpZHRoIC8gdGhpcy5pbnB1dHMuYXNwZWN0O1xyXG4gICAgY29uc3QgZmFySGFsZkhlaWdodCA9IGZhckhhbGZXaWR0aCAvIHRoaXMuaW5wdXRzLmFzcGVjdDtcclxuXHJcbiAgICBjb25zdCBwb3NpdGlvbnMgPSBib3hHZW9tZXRyeS5nZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJyk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3NpdGlvbnMuY291bnQ7IGkrKykge1xyXG4gICAgICBjb25zdCB2ZXJ0ZXhaID0gcG9zaXRpb25zLmdldFooaSk7XHJcbiAgICAgIGNvbnN0IHZlcnRleFggPSBwb3NpdGlvbnMuZ2V0WChpKTtcclxuICAgICAgY29uc3QgdmVydGV4WSA9IHBvc2l0aW9ucy5nZXRZKGkpO1xyXG4gICAgICBpZiAodmVydGV4WiA+IDApIHtcclxuICAgICAgICAvLyBiYWNrIG9mIHRoZSBjYW1lcmFcclxuICAgICAgICBwb3NpdGlvbnMuc2V0WChpLCB2ZXJ0ZXhYICogbmVhckhhbGZXaWR0aClcclxuICAgICAgICBwb3NpdGlvbnMuc2V0WShpLCB2ZXJ0ZXhZICogbmVhckhhbGZIZWlnaHQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIGZyb250IG9mIHRoZSBjYW1lcmFcclxuICAgICAgICBwb3NpdGlvbnMuc2V0WChpLCB2ZXJ0ZXhYICogZmFySGFsZldpZHRoKVxyXG4gICAgICAgIHBvc2l0aW9ucy5zZXRZKGksIHZlcnRleFkgKiBmYXJIYWxmSGVpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgICBwb3NpdGlvbnMuc2V0WihpLCB2ZXJ0ZXhaIC0gMC41ICogZnJ1c3R1bUxlbmd0aCAtIHRoaXMuaW5wdXRzLm5lYXJQbGFuZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGJveE1hdGVyaWFsOiBNZXNoQmFzaWNNYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7XHJcbiAgICAgIGNvbG9yOiB0aGlzLmlucHV0cy5jb2xvcixcclxuICAgICAgb3BhY2l0eTogMC4wNSxcclxuICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXHJcbiAgICAgIHNpZGU6IFRIUkVFLkJhY2tTaWRlLFxyXG4gICAgICBibGVuZGluZzogVEhSRUUuTm9ybWFsQmxlbmRpbmcsXHJcbiAgICAgIGRlcHRoV3JpdGU6IGZhbHNlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmJveCA9IG5ldyBUSFJFRS5NZXNoKGJveEdlb21ldHJ5LCBib3hNYXRlcmlhbCk7XHJcbiAgICBjb25zdCBlZGdlc0dlb21ldHJ5ID0gZWRnZXNUb0N5bGluZGVycyhuZXcgVEhSRUUuRWRnZXNHZW9tZXRyeShib3hHZW9tZXRyeSksIDAuMDE1KTtcclxuICAgIGlmICghZWRnZXNHZW9tZXRyeSkge1xyXG4gICAgICAvLyB0aGljayBlZGdlcyBuZWVkIG1lcmdlQnVmZmVyR2VvbWV0cmllczogZHJhdyB0aGUgZnJ1c3R1bSB3aXRoIGxpbmVzXHJcbiAgICAgIHRoaXMuZWRnZXMgPSBuZXcgVEhSRUUuTGluZVNlZ21lbnRzKG5ldyBUSFJFRS5FZGdlc0dlb21ldHJ5KGJveEdlb21ldHJ5KSwgbmV3IFRIUkVFLkxpbmVCYXNpY01hdGVyaWFsKHtcclxuICAgICAgICBjb2xvcjogdGhpcy5pbnB1dHMuY29sb3IsXHJcbiAgICAgICAgb3BhY2l0eTogMC44LFxyXG4gICAgICAgIHRyYW5zcGFyZW50OiB0cnVlLFxyXG4gICAgICAgIGRlcHRoV3JpdGU6IGZhbHNlLFxyXG4gICAgICB9KSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZWRnZXMgPSBuZXcgVEhSRUUuTWVzaChlZGdlc0dlb21ldHJ5LCBuZXcgVEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWwoe1xyXG4gICAgICBjb2xvcjogMHhmZmZmZmYsXHJcbiAgICAgIG9wYWNpdHk6IDAuMjUsXHJcbiAgICAgIHRyYW5zcGFyZW50OiB0cnVlLFxyXG4gICAgICBibGVuZGluZzogVEhSRUUuQWRkaXRpdmVCbGVuZGluZyxcclxuICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXHJcbiAgICB9KSk7XHJcblxyXG4gICAgY29uc3QgZWRnZXNHZW9tZXRyeTIgPSBlZGdlc1RvQ3lsaW5kZXJzKG5ldyBUSFJFRS5FZGdlc0dlb21ldHJ5KGJveEdlb21ldHJ5KSwgMC4wNik7XHJcbiAgICBjb25zdCBlZGdlczIgPSBuZXcgVEhSRUUuTWVzaChlZGdlc0dlb21ldHJ5MiwgbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcclxuICAgICAgY29sb3I6IHRoaXMuaW5wdXRzLmNvbG9yLFxyXG4gICAgICBvcGFjaXR5OiAwLjA1LFxyXG4gICAgICB0cmFuc3BhcmVudDogdHJ1ZSxcclxuICAgICAgYmxlbmRpbmc6IFRIUkVFLkFkZGl0aXZlQmxlbmRpbmcsXHJcbiAgICAgIGRlcHRoV3JpdGU6IGZhbHNlLFxyXG4gICAgfSkpO1xyXG4gICAgdGhpcy5waXZvdC5hZGQoZWRnZXMyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFrZUhpZ2hsaWdodCgpIHtcclxuICAgIGNvbnN0IFRIUkVFID0gdGhpcy5jb250ZXh0LnRocmVlO1xyXG5cclxuICAgIC8vIFRPRE8gKHNjZW5lIHF1ZXJ5KTogdGhpcyBpcyB2ZXJ5IGJyaXR0bGUgYW5kIGhhcmRjb2RlZCBidXQgaXMgdGhlIG9ubHkgd2F5IHRvIGdldCByb29tIGdlb21ldHJpZXMgdW50aWwgd2UgaGF2ZSBhIGJldHRlciB3YXkgdG8gcXVlcnkgdGhlIHNjZW5lIGdyYXBoXHJcbiAgICBjb25zdCBmbG9vck1lc2ggPSB0aGlzLm91dHB1dHMub2JqZWN0Um9vdC5wYXJlbnQ/LnBhcmVudD8uZ2V0T2JqZWN0QnlOYW1lKCdGbG9vck1lc2g6MCcpO1xyXG4gICAgY29uc3Qgcm9vbU1lc2ggPSBmbG9vck1lc2g/LmNoaWxkcmVuWzBdIGFzIE1lc2g7XHJcbiAgICBpZiAoIXJvb21NZXNoPy5nZW9tZXRyeSkge1xyXG4gICAgICAvLyBubyByb29tIG1lc2ggZm91bmQgaW4gdGhlIHNjZW5lIGdyYXBoOiB0aGUgZnJ1c3R1bSBpcyBzaG93biB3aXRob3V0IHRoZSBoaWdobGlnaHRcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUhpZ2hsaWdodFVuaWZvcm1zKHRoaXMucHJvamVjdG9yLCB0aGlzLmhpZ2hsaWdodFVuaWZvcm1zKTtcclxuICAgIHRoaXMuaGlnaGxpZ2h0VW5pZm9ybXMuY29sb3IudmFsdWUuc2V0SGV4KHRoaXMuaW5wdXRzLmNvbG9yKTtcclxuXHJcbiAgICBjb25zdCBzaGFkZXIgPSBuZXcgVEhSRUUuU2hhZGVyTWF0ZXJpYWwoe1xyXG4gICAgICBwb2x5Z29uT2Zmc2V0OiB0cnVlLFxyXG4gICAgICBwb2x5Z29uT2Zmc2V0VW5pdHM6IC0wLjEsXHJcbiAgICAgIHRyYW5zcGFyZW50OiB0cnVlLFxyXG4gICAgICB1bmlmb3JtczogdGhpcy5oaWdobGlnaHRVbmlmb3JtcyxcclxuICAgICAgdmVydGV4U2hhZGVyOiB2ZXJ0ZXhTaGFkZXIoKSxcclxuICAgICAgZnJhZ21lbnRTaGFkZXI6IGZyYWdtZW50U2hhZGVyKCksXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBhIG1lc2ggdG8gcmVwcmVzZW50IHRoZSBcImhpZ2hsaWdodFwiXHJcbiAgICB0aGlzLmhpZ2hsaWdodCA9IG5ldyBUSFJFRS5NZXNoKHJvb21NZXNoLmdlb21ldHJ5LCBzaGFkZXIpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVmlld0ZydXN0dW0oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oaWdobGlnaHQpIHtcclxuICAgICAgdGhpcy5oaWdobGlnaHQudmlzaWJsZSA9ICF0aGlzLmhpZ2hsaWdodC52aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZWRnZXMpIHtcclxuICAgICAgdGhpcy5lZGdlcy52aXNpYmxlID0gIXRoaXMuZWRnZXMudmlzaWJsZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnBpdm90KSB7XHJcbiAgICAgIHRoaXMucGl2b3QudmlzaWJsZSA9ICF0aGlzLnBpdm90LnZpc2libGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1ha2VBbmltYXRpb24oKSB7XHJcbiAgICBjb25zdCBUSFJFRSA9IHRoaXMuY29udGV4dC50aHJlZTtcclxuXHJcbiAgICAvLyBwcmVhcHBseSB0aGUgaW5pdGlhbCByb3RhdGlvbiBvZiB0aGUgcm9vdCBzbyB0aGF0IHBhbkFuZ2xlIGlzIHJlbGF0aXZlIHRvIGl0LlxyXG5cclxuICAgIC8vIFRPRE86IGZpeCBpdCFcclxuICAgIGNvbnN0IHJvb3RSb3RhdGlvbiA9IHRoaXMuY29udGV4dC5yb290LnF1YXRlcm5pb247XHJcblxyXG4gICAgY29uc3QgeUF4aXMgPSBuZXcgVEhSRUUuVmVjdG9yMygwLCAxLCAwKTtcclxuICAgIGNvbnN0IGZyYW1lMCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCkuc2V0RnJvbUF4aXNBbmdsZSh5QXhpcywgMCkucHJlbXVsdGlwbHkocm9vdFJvdGF0aW9uKTtcclxuICAgIGNvbnN0IGZyYW1lMSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCkuc2V0RnJvbUF4aXNBbmdsZSh5QXhpcywgdGhpcy5pbnB1dHMucGFuQW5nbGUpLnByZW11bHRpcGx5KHJvb3RSb3RhdGlvbik7XHJcblxyXG4gICAgLy8gYSB0cmFjayB0aGF0IGhhcyBkZWxheXMgYXQgdGhlIHN0YXJ0IGFuZCBlbmQgZm9yIDUlIG9mIHRoZSBhbmltYXRpb25cclxuICAgIGNvbnN0IHRyYWNrID0gbmV3IFRIUkVFLlF1YXRlcm5pb25LZXlmcmFtZVRyYWNrKCcucXVhdGVybmlvbicsIFtcclxuICAgICAgMCwgdGhpcy5pbnB1dHMucGFuUGVyaW9kICogMC4wNSwgdGhpcy5pbnB1dHMucGFuUGVyaW9kICogMC45NSwgdGhpcy5pbnB1dHMucGFuUGVyaW9kXHJcbiAgICBdLCBbXHJcbiAgICAgIGZyYW1lMC54LCBmcmFtZTAueSwgZnJhbWUwLnosIGZyYW1lMC53LFxyXG4gICAgICBmcmFtZTAueCwgZnJhbWUwLnksIGZyYW1lMC56LCBmcmFtZTAudyxcclxuICAgICAgZnJhbWUxLngsIGZyYW1lMS55LCBmcmFtZTEueiwgZnJhbWUxLncsXHJcbiAgICAgIGZyYW1lMS54LCBmcmFtZTEueSwgZnJhbWUxLnosIGZyYW1lMS53LFxyXG4gICAgXSk7XHJcblxyXG4gICAgY29uc3QgY2xpcCA9IG5ldyBUSFJFRS5BbmltYXRpb25DbGlwKCdwYW5uaW5nJywgdGhpcy5pbnB1dHMucGFuUGVyaW9kLCBbdHJhY2tdKTtcclxuXHJcbiAgICAvLyBUaGVyZSBpcyBubyBhcGkgdG8gY2hhbmdlIHRoZSByb3RhdGlvbiBvZiB0aGUgcm9vdCwgc28gd2Ugd2lsbCB1c2UgYSBwcml2YXRlIHByb3BlcnR5IHRvIGFjY2VzcyB0aGUgT2JqZWN0M0QuXHJcbiAgICAvLyBUaGlzIHdpbGwgbGlrZWx5IG5lZWQgdG8gY2hhbmdlIGluIHRoZSBmdXR1cmUuXHJcbiAgICB0aGlzLm1peGVyID0gbmV3IFRIUkVFLkFuaW1hdGlvbk1peGVyKCh0aGlzLmNvbnRleHQucm9vdCBhcyBhbnkpLm9iajNEKTtcclxuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMubWl4ZXIuY2xpcEFjdGlvbihjbGlwKTtcclxuICAgIGFjdGlvbi5sb29wID0gVEhSRUUuTG9vcFBpbmdQb25nO1xyXG4gICAgYWN0aW9uLnBsYXkoKTtcclxuICB9XHJcblxyXG59XHJcblxyXG5mdW5jdGlvbiB2ZXJ0ZXhTaGFkZXIoKTogc3RyaW5nIHtcclxuICByZXR1cm4gYFxyXG4gICAgdW5pZm9ybSBtYXQ0IGxpZ2h0TWF0cml4O1xyXG5cclxuICAgIHZhcnlpbmcgdmVjNCB2TGlnaHRDb29yZHM7XHJcblxyXG4gICAgdm9pZCBtYWluKCkge1xyXG4gICAgICAvLyBjcmVhdGUgYSBVViByZWdpb24gWzAsMV0geCBbMCwxXSB0byByZXByZXNlbnQgd2hhdCB0aGUgbGlnaHRNYXRyaXggXCJzZWVzXCJcclxuICAgICAgdkxpZ2h0Q29vcmRzID0gbGlnaHRNYXRyaXggKiAgbW9kZWxNYXRyaXggKiB2ZWM0KHBvc2l0aW9uLCAxLjApO1xyXG4gICAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KHBvc2l0aW9uLCAxLjApO1xyXG4gICAgfVxyXG4gIGA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZyYWdtZW50U2hhZGVyKCkge1xyXG4gIHJldHVybiBgXHJcbiAgICB1bmlmb3JtIHZlYzMgY29sb3I7XHJcblxyXG4gICAgdmFyeWluZyB2ZWM0IHZMaWdodENvb3JkcztcclxuXHJcbiAgICB2b2lkIG1haW4oKSB7XHJcbiAgICAgIHZlYzIgbGlnaHRVViA9IHZMaWdodENvb3Jkcy54eSAvIHZMaWdodENvb3Jkcy53O1xyXG4gICAgICBmbG9hdCBpblZpZXcgPSBmbG9hdChtYXgobGlnaHRVVi54LCBsaWdodFVWLnkpIDw9IDEuMCAmJiBtaW4obGlnaHRVVi54LCBsaWdodFVWLnkpID49IDAuMCAmJiB2TGlnaHRDb29yZHMueiA+IDAuMCk7XHJcblxyXG4gICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9yLCBtaW4oaW5WaWV3LCAwLjIpKTtcclxuICAgIH1cclxuICBgO1xyXG59XHJcblxyXG5mdW5jdGlvbiB1cGRhdGVIaWdobGlnaHRVbmlmb3Jtcyhwcm9qZWN0b3I6IFBlcnNwZWN0aXZlQ2FtZXJhLCB1bmlmb3JtczogSGlnaGxpZ2h0VW5pZm9ybXMpIHtcclxuICBwcm9qZWN0b3IuZ2V0V29ybGRQb3NpdGlvbih1bmlmb3Jtcy5wcm9qUG9zaXRpb24udmFsdWUpO1xyXG5cclxuICAvLyBzaW1pbGFyIHRvIGEgc2hhZG93IG1hdHJpeCwgYnV0IHdlJ3JlIHVzaW5nIGl0IGFzIGEgXCJyZWN0YW5ndWxhclwiIHNwb3RsaWdodFxyXG4gIC8vIFtsaWdodEJpYXNdICogW3Byb2plY3Rpb25dICogW3ZpZXdNYXRyaXhdXHJcbiAgdW5pZm9ybXMubGlnaHRNYXRyaXgudmFsdWUubWFrZVNjYWxlKDAuNSwgMC41LCAwLjUpO1xyXG4gIHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLnNldFBvc2l0aW9uKG5ldyBWZWN0b3IzKDAuNSwgMC41LCAwLjUpKVxyXG4gIHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLm11bHRpcGx5TWF0cmljZXModW5pZm9ybXMubGlnaHRNYXRyaXgudmFsdWUsIHByb2plY3Rvci5wcm9qZWN0aW9uTWF0cml4KTtcclxuICB1bmlmb3Jtcy5saWdodE1hdHJpeC52YWx1ZS5tdWx0aXBseU1hdHJpY2VzKHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLCBwcm9qZWN0b3IubWF0cml4V29ybGRJbnZlcnNlKTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHNlY3VyaXR5Q2FtZXJhVHlwZSA9ICdtcC5zZWN1cml0eUNhbWVyYSc7XHJcbmV4cG9ydCBjb25zdCBtYWtlU2VjdXJpdHlDYW1lcmEgPSBmdW5jdGlvbiAoKSB7XHJcbiAgcmV0dXJuIG5ldyBTZWN1cml0eUNhbWVyYSgpO1xyXG59XHJcbiJdfQ==
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdXJpdHlDYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy9zZWN1cml0eS1jYW1lcmEvU2VjdXJpdHlDYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdXLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUN4QyxNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQTJCbkUsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUFjO0lBQ3hDLElBQUksR0FBb0IsSUFBSSxDQUFDO0lBQzdCLEtBQUssR0FBb0IsSUFBSSxDQUFDO0lBQzlCLEdBQUcsR0FBZ0IsSUFBSSxDQUFDO0lBQ3hCLEtBQUssR0FBK0IsSUFBSSxDQUFDO0lBQ3pDLFNBQVMsQ0FBb0I7SUFDN0IsU0FBUyxHQUFnQixJQUFJLENBQUM7SUFDOUIsaUJBQWlCLEdBQXNCO1FBQzdDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssRUFBRSxFQUFFO1FBQzdCLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLE9BQU8sRUFBRSxFQUFFO1FBQ3RDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLE9BQU8sRUFBRSxFQUFFO0tBQ3RDLENBQUE7SUFDTyxLQUFLLENBQWlCO0lBRXJCLE1BQU0sR0FBVztRQUN4QixTQUFTLEVBQUUsR0FBRztRQUNkLFFBQVEsRUFBRSxDQUFDO1FBQ1gsYUFBYSxFQUFFLEVBQUU7UUFDakIsTUFBTSxFQUFFLEVBQUUsR0FBRyxDQUFDO1FBQ2QsYUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDbkMsYUFBYSxFQUFFLEVBQUUs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QVMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhELDhFQUE4RTtJQUM5RSw0Q0FBNEM7SUFDNUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNsRSxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUN4RyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsT0FBTyxJQUFJLGNBQWMsRUFBRSxDQUFDO0FBQzlCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE9iamVjdDNELCBNZXNoLCBQZXJzcGVjdGl2ZUNhbWVyYSxcbiAgTWVzaEJhc2ljTWF0ZXJpYWwsIEJveEdlb21ldHJ5LCBTaGFkZXJNYXRlcmlhbCwgTGluZUJhc2ljTWF0ZXJpYWwsIExpbmVTZWdtZW50cywgRWRnZXNHZW9tZXRyeSxcbiAgQW5pbWF0aW9uTWl4ZXIsIENvbG9yLCBNYXRyaXg0LCBWZWN0b3IzXG59IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50IH0gZnJvbSAnLi4vc2NlbmUtY29tcG9uZW50L1NjZW5lQ29tcG9uZW50JztcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBUSFJFRTogYW55O1xuICB9XG59XG5cbmludGVyZmFjZSBJbnB1dHMge1xuICBuZWFyUGxhbmU6IG51bWJlcjtcbiAgZmFyUGxhbmU6IG51bWJlcixcbiAgaG9yaXpvbnRhbEZPVjogbnVtYmVyLFxuICBhc3BlY3Q6IG51bWJlcixcbiAgbG9jYWxQb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyOyB9O1xuICBsb2NhbFJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XG4gIGNvbG9yOiBudW1iZXI7XG4gIHBhblBlcmlvZDogbnVtYmVyO1xuICBwYW5BbmdsZTogbnVtYmVyO1xufVxuXG50eXBlIEhpZ2hsaWdodFVuaWZvcm1zID0ge1xuICBjb2xvcjogeyB2YWx1ZTogQ29sb3IgfSxcbiAgcHJvalBvc2l0aW9uOiB7IHZhbHVlOiBWZWN0b3IzIH07XG4gIGxpZ2h0TWF0cml4OiB7IHZhbHVlOiBNYXRyaXg0IH07XG59XG5cblxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5Q2FtZXJhIGV4dGVuZHMgU2NlbmVDb21wb25lbnQge1xuICBwcml2YXRlIHJvb3Q6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcGl2b3Q6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgYm94OiBNZXNoIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZWRnZXM6IE1lc2ggfCBMaW5lU2VnbWVudHMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBwcm9qZWN0b3I6IFBlcnNwZWN0aXZlQ2FtZXJhO1xuICBwcml2YXRlIGhpZ2hsaWdodDogTWVzaCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGhpZ2hsaWdodFVuaWZvcm1zOiBIaWdobGlnaHRVbmlmb3JtcyA9IHtcbiAgICBjb2xvcjogeyB2YWx1ZTogbmV3IENvbG9yKCkgfSxcbiAgICBwcm9qUG9zaXRpb246IHsgdmFsdWU6IG5ldyBWZWN0b3IzKCkgfSxcbiAgICBsaWdodE1hdHJpeDogeyB2YWx1ZTogbmV3IE1hdHJpeDQoKSB9LFxuICB9XG4gIHByaXZhdGUgbWl4ZXI6IEFuaW1hdGlvbk1peGVyO1xuXG4gIG92ZXJyaWRlIGlucHV0czogSW5wdXRzID0ge1xuICAgIG5lYXJQbGFuZTogMC4xLFxuICAgIGZhclBsYW5lOiA0LFxuICAgIGhvcml6b250YWxGT1Y6IDgwLFxuICAgIGFzcGVjdDogMTYgLyA5LFxuICAgIGxvY2FsUG9zaXRpb246IHsgeDogMCwgeTogMCwgejogMCB9LFxuICAgIGxvY2FsUm90YXRpb246IHsgeDogMCwgeTogMCwgejogMCB9LFxuICAgIGNvbG9yOiAweGZmZmZmZixcbiAgICBwYW5QZXJpb2Q6IDIwLFxuICAgIHBhbkFuZ2xlOiAxODAsXG4gIH07XG5cbiAgb3ZlcnJpZGUgb3V0cHV0czogYW55ID0ge307XG5cblxuICBvdmVycmlkZSBvbkluaXQoKSB7XG4gICAgY29uc3QgVEhSRUUgPSB0aGlzLmNvbnRleHQudGhyZWU7XG5cbiAgICB0aGlzLnJvb3QgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcbiAgICB0aGlzLnBpdm90ID0gbmV3IFRIUkVFLk9iamVjdDNEKCk7XG4gICAgdGhpcy5yb290LmFkZCh0aGlzLnBpdm90KTtcbiAgICB0aGlzLm91dHB1dHMub2JqZWN0Um9vdCA9IHRoaXMucm9vdDtcbiAgICB0aGlzLnJvb3QucG9zaXRpb24uc2V0KHRoaXMuaW5wdXRzLmxvY2FsUG9zaXRpb24ueCwgdGhpcy5pbnB1dHMubG9jYWxQb3NpdGlvbi55LCB0aGlzLmlucHV0cy5sb2NhbFBvc2l0aW9uLnopO1xuXG4gICAgY29uc3QgZXVsZXIgPSBuZXcgVEhSRUUuRXVsZXIodGhpcy5pbnB1dHMubG9jYWxSb3RhdGlvbi54ICogTWF0aC5QSSAvIDE4MCwgdGhpcy5pbnB1dHMubG9jYWxSb3RhdGlvbi55ICogTWF0aC5QSSAvIDE4MCwgdGhpcy5pbnB1dHMubG9jYWxSb3RhdGlvbi56ICogTWF0aC5QSSAvIDE4MCwgJ1lYWicpO1xuICAgIHRoaXMucGl2b3QucXVhdGVybmlvbi5zZXRGcm9tRXVsZXIoZXVsZXIpO1xuXG4gICAgY29uc3QgYXNwZWN0ID0gdGhpcy5pbnB1dHMuYXNwZWN0O1xuICAgIGNvbnN0IERFRzJSQUQgPSBNYXRoLlBJIC8gMTgwO1xuICAgIGNvbnN0IFJBRDJERUcgPSAxIC8gREVHMlJBRDtcbiAgICBjb25zdCB2ZXJ0aWNhbEZPViA9IDIgKiBNYXRoLmF0YW4oMSAvIGFzcGVjdCAqIE1hdGgudGFuKDAuNSAqIHRoaXMuaW5wdXRzLmhvcml6b250YWxGT1YgKiBERUcyUkFEKSkgKiBSQUQyREVHO1xuICAgIHRoaXMucHJvamVjdG9yID0gbmV3IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhKHZlcnRpY2FsRk9WLCBhc3BlY3QsIHRoaXMuaW5wdXRzLm5lYXJQbGFuZSwgdGhpcy5pbnB1dHMuZmFyUGxhbmUpO1xuICAgIC8vIG9yaWVudGF0aW9uIG9mIHRoZSBwcm9qZWN0b3IgaXMgaGFuZGxlZCBieSB0aGUgcGl2b3RcbiAgICB0aGlzLnBpdm90LmFkZCh0aGlzLnByb2plY3Rvcik7XG5cbiAgICB0aGlzLm1ha2VGcnVzdHVtVmlzdWFscygpO1xuXG4gICAgdGhpcy5waXZvdC5hZGQodGhpcy5ib3gpO1xuICAgIHRoaXMucGl2b3QuYWRkKHRoaXMuZWRnZXMpO1xuXG4gICAgdGhpcy5tYWtlSGlnaGxpZ2h0KCk7XG5cbiAgICAvLyBhdHRhY2ggaGlnaGlnaHRpbmcgdG8gdGhlIG1lc2ggaXQgcmVwcmVzZW50c1xuICAgIC8vIFRPRE8gKHNjZW5lIHF1ZXJ5KTogdGhpcyBpcyB2ZXJ5IGJyaXR0bGUgYnV0IGlzIHRoZSBvbmx5IHdheSB0byBhdHRhY2ggc29tZXRoaW5nIHRvIGEgcm9vbSBvZiB0aGUgbW9kZWxcbiAgICBpZiAodGhpcy5oaWdobGlnaHQpIHtcbiAgICAgIHRoaXMub3V0cHV0cy5vYmplY3RSb290LnBhcmVudC5wYXJlbnQuYWRkKHRoaXMuaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBjcmVhdGUgdGhlIGFuaW1hdGlvbiBtaXhlciB0byByb3RhdGUgdGhlIGNhbWVyYVxuICAgIHRoaXMubWFrZUFuaW1hdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25UaWNrKGRlbHRhOiBudW1iZXIpIHtcbiAgICB1cGRhdGVIaWdobGlnaHRVbmlmb3Jtcyh0aGlzLnByb2plY3RvciwgdGhpcy5oaWdobGlnaHRVbmlmb3Jtcyk7XG4gICAgaWYgKHRoaXMubWl4ZXIpIHtcbiAgICAgIHRoaXMubWl4ZXIudXBkYXRlKGRlbHRhIC8gMTAwMCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgb25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmhpZ2hsaWdodCAmJiB0aGlzLmhpZ2hsaWdodC5wYXJlbnQpIHtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0LnBhcmVudC5yZW1vdmUodGhpcy5oaWdobGlnaHQpO1xuICAgICAgKHRoaXMuaGlnaGxpZ2h0Lm1hdGVyaWFsIGFzIFNoYWRlck1hdGVyaWFsKS5kaXNwb3NlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmVkZ2VzKSB7XG4gICAgICB0aGlzLmVkZ2VzLmdlb21ldHJ5LmRpc3Bvc2UoKTtcbiAgICAgICh0aGlzLmVkZ2VzLm1hdGVyaWFsIGFzIExpbmVCYXNpY01hdGVyaWFsKS5kaXNwb3NlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJveCkge1xuICAgICAgdGhpcy5ib3guZ2VvbWV0cnkuZGlzcG9zZSgpO1xuICAgICAgKHRoaXMuYm94Lm1hdGVyaWFsIGFzIE1lc2hCYXNpY01hdGVyaWFsKS5kaXNwb3NlKCk7XG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIG1ha2VGcnVzdHVtVmlzdWFscygpIHtcbiAgICBjb25zdCBUSFJFRSA9IHRoaXMuY29udGV4dC50aHJlZTtcbiAgICBpZiAodGhpcy5ib3gpIHtcbiAgICAgIHRoaXMucm9vdC5yZW1vdmUodGhpcy5ib3gpO1xuICAgICAgKHRoaXMuYm94Lm1hdGVyaWFsIGFzIE1lc2hCYXNpY01hdGVyaWFsKS5kaXNwb3NlKCk7XG4gICAgICAodGhpcy5ib3guZ2VvbWV0cnkgYXMgQm94R2VvbWV0cnkpLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuYm94ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZWRnZXMpIHtcbiAgICAgIHRoaXMucm9vdC5yZW1vdmUodGhpcy5lZGdlcyk7XG4gICAgICAodGhpcy5lZGdlcy5tYXRlcmlhbCBhcyBMaW5lQmFzaWNNYXRlcmlhbCkuZGlzcG9zZSgpO1xuICAgICAgKHRoaXMuZWRnZXMuZ2VvbWV0cnkgYXMgRWRnZXNHZW9tZXRyeSkuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5lZGdlcyA9IG51bGw7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZWRnZXNUb0N5bGluZGVycyhlZGdlc0dlb21ldHJ5OiBFZGdlc0dlb21ldHJ5LCB0aGlja25lc3M6IG51bWJlcikge1xuICAgICAgLy8gQVBJIHRvIGJlIHVwZGF0ZWQgaW4gYnVuZGxlIC0gSlNTREstMTIyMlxuICAgICAgY29uc3QgbWVyZ2UgPSAoVEhSRUUgYXMgYW55KS5tZXJnZUJ1ZmZlckdlb21ldHJpZXMgPz8gKFRIUkVFIGFzIGFueSkuQnVmZmVyR2VvbWV0cnlVdGlscz8ubWVyZ2VCdWZmZXJHZW9tZXRyaWVzO1xuICAgICAgLy8gbm90IGV4cG9ydGVkIGJ5IHRoZSB0aHJlZS5qcyBvZiByZWNlbnQgU0RLIGJ1bmRsZXM6IHRoZSBjYWxsZXIgZmFsbHMgYmFjayB0byBwbGFpbiBsaW5lc1xuICAgICAgaWYgKCFtZXJnZSkgcmV0dXJuIG51bGw7XG4gICAgICBjb25zdCBDeWxpbmRlciA9IChUSFJFRSBhcyBhbnkpLkN5bGluZGVyR2VvbWV0cnkgPz8gKFRIUkVFIGFzIGFueSkuQ3lsaW5kZXJCdWZmZXJHZW9tZXRyeTtcbiAgICAgIGNvbnN0IHsgcG9zaXRpb24gfSA9IGVkZ2VzR2VvbWV0cnkuYXR0cmlidXRlcztcbiAgICAgIGNvbnN0IHsgYXJyYXksIGNvdW50IH0gPSBwb3NpdGlvbjtcbiAgICAgIGNvbnN0IHIgPSB0aGlja25lc3MgLyAyO1xuICAgICAgY29uc3QgZ2VvbXMgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQgKiAzIC0gMTsgaSArPSA2KSB7XG4gICAgICAgIGNvbnN0IGEgPSBuZXcgVEhSRUUuVmVjdG9yMyhhcnJheVtpXSwgYXJyYXlbaSArIDFdLCBhcnJheVtpICsgMl0pO1xuICAgICAgICBjb25zdCBiID0gbmV3IFRIUkVFLlZlY3RvcjMoYXJyYXlbaSArIDNdLCBhcnJheVtpICsgNF0sIGFycmF5W2kgKyA1XSk7XG5cbiAgICAgICAgY29uc3QgdmVjID0gbmV3IFRIUkVFLlZlY3RvcjMoKS5zdWJWZWN0b3JzKGIsIGEpO1xuICAgICAgICBjb25zdCBsZW4gPSB2ZWMubGVuZ3RoKCk7XG4gICAgICAgIGNvbnN0IGdlb20gPSBuZXcgQ3lsaW5kZXIociwgciwgbGVuLCA4KTtcbiAgICAgICAgZ2VvbS50cmFuc2xhdGUoMCwgbGVuIC8gMiwgMCk7XG4gICAgICAgIGdlb20ucm90YXRlWChNYXRoLlBJIC8gMik7XG4gICAgICAgIGdlb20ubG9va0F0KHZlYyk7XG4gICAgICAgIGdlb20udHJhbnNsYXRlKGEueCwgYS55LCBhLnopO1xuICAgICAgICBnZW9tcy5wdXNoKGdlb20pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1lcmdlKGdlb21zKTtcbiAgICB9XG5cbiAgICBjb25zdCBmcnVzdHVtTGVuZ3RoID0gdGhpcy5pbnB1dHMuZmFyUGxhbmUgLSB0aGlzLmlucHV0cy5uZWFyUGxhbmU7XG4gICAgY29uc3QgYm94R2VvbWV0cnk6IEJveEdlb21ldHJ5ID0gbmV3IFRIUkVFLkJveEdlb21ldHJ5KDIsIDIsIGZydXN0dW1MZW5ndGgpO1xuICAgIGNvbnN0IGhhbGZIQW5nbGUgPSB0aGlzLmlucHV0cy5ob3Jpem9udGFsRk9WICogMC41ICogTWF0aC5QSSAvIDE4MDtcbiAgICBjb25zdCBuZWFySGFsZldpZHRoID0gTWF0aC50YW4oaGFsZkhBbmdsZSkgKiB0aGlzLmlucHV0cy5uZWFyUGxhbmU7XG4gICAgY29uc3QgZmFySGFsZldpZHRoID0gTWF0aC50YW4oaGFsZkhBbmdsZSkgKiB0aGlzLmlucHV0cy5mYXJQbGFuZTtcbiAgICBjb25zdCBuZWFySGFsZkhlaWdodCA9IG5lYXJIYWxmV2lkdGggLyB0aGlzLmlucHV0cy5hc3BlY3Q7XG4gICAgY29uc3QgZmFySGFsZkhlaWdodCA9IGZhckhhbGZXaWR0aCAvIHRoaXMuaW5wdXRzLmFzcGVjdDtcblxuICAgIGNvbnN0IHBvc2l0aW9ucyA9IGJveEdlb21ldHJ5LmdldEF0dHJpYnV0ZSgncG9zaXRpb24nKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9zaXRpb25zLmNvdW50OyBpKyspIHtcbiAgICAgIGNvbnN0IHZlcnRleFogPSBwb3NpdGlvbnMuZ2V0WihpKTtcbiAgICAgIGNvbnN0IHZlcnRleFggPSBwb3NpdGlvbnMuZ2V0WChpKTtcbiAgICAgIGNvbnN0IHZlcnRleFkgPSBwb3NpdGlvbnMuZ2V0WShpKTtcbiAgICAgIGlmICh2ZXJ0ZXhaID4gMCkge1xuICAgICAgICAvLyBiYWNrIG9mIHRoZSBjYW1lcmFcbiAgICAgICAgcG9zaXRpb25zLnNldFgoaSwgdmVydGV4WCAqIG5lYXJIYWxmV2lkdGgpXG4gICAgICAgIHBvc2l0aW9ucy5zZXRZKGksIHZlcnRleFkgKiBuZWFySGFsZkhlaWdodCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBmcm9udCBvZiB0aGUgY2FtZXJhXG4gICAgICAgIHBvc2l0aW9ucy5zZXRYKGksIHZlcnRleFggKiBmYXJIYWxmV2lkdGgpXG4gICAgICAgIHBvc2l0aW9ucy5zZXRZKGksIHZlcnRleFkgKiBmYXJIYWxmSGVpZ2h0KTtcbiAgICAgIH1cbiAgICAgIHBvc2l0aW9ucy5zZXRaKGksIHZlcnRleFogLSAwLjUgKiBmcnVzdHVtTGVuZ3RoIC0gdGhpcy5pbnB1dHMubmVhclBsYW5lKTtcbiAgICB9XG5cbiAgICB2YXIgYm94TWF0ZXJpYWw6IE1lc2hCYXNpY01hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcbiAgICAgIGNvbG9yOiB0aGlzLmlucHV0cy5jb2xvcixcbiAgICAgIG9wYWNpdHk6IDAuMDUsXG4gICAgICB0cmFuc3BhcmVudDogdHJ1ZSxcbiAgICAgIHNpZGU6IFRIUkVFLkJhY2tTaWRlLFxuICAgICAgYmxlbmRpbmc6IFRIUkVFLk5vcm1hbEJsZW5kaW5nLFxuICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5ib3ggPSBuZXcgVEhSRUUuTWVzaChib3hHZW9tZXRyeSwgYm94TWF0ZXJpYWwpO1xuICAgIGNvbnN0IGVkZ2VzR2VvbWV0cnkgPSBlZGdlc1RvQ3lsaW5kZXJzKG5ldyBUSFJFRS5FZGdlc0dlb21ldHJ5KGJveEdlb21ldHJ5KSwgMC4wMTUpO1xuICAgIGlmICghZWRnZXNHZW9tZXRyeSkge1xuICAgICAgLy8gdGhpY2sgZWRnZXMgbmVlZCBtZXJnZUJ1ZmZlckdlb21ldHJpZXM6IGRyYXcgdGhlIGZydXN0dW0gd2l0aCBsaW5lc1xuICAgICAgdGhpcy5lZGdlcyA9IG5ldyBUSFJFRS5MaW5lU2VnbWVudHMobmV3IFRIUkVFLkVkZ2VzR2VvbWV0cnkoYm94R2VvbWV0cnkpLCBuZXcgVEhSRUUuTGluZUJhc2ljTWF0ZXJpYWwoe1xuICAgICAgICBjb2xvcjogdGhpcy5pbnB1dHMuY29sb3IsXG4gICAgICAgIG9wYWNpdHk6IDAuOCxcbiAgICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXG4gICAgICAgIGRlcHRoV3JpdGU6IGZhbHNlLFxuICAgICAgfSkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVkZ2VzID0gbmV3IFRIUkVFLk1lc2goZWRnZXNHZW9tZXRyeSwgbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcbiAgICAgIGNvbG9yOiAweGZmZmZmZixcbiAgICAgIG9wYWNpdHk6IDAuMjUsXG4gICAgICB0cmFuc3BhcmVudDogdHJ1ZSxcbiAgICAgIGJsZW5kaW5nOiBUSFJFRS5BZGRpdGl2ZUJsZW5kaW5nLFxuICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgfSkpO1xuXG4gICAgY29uc3QgZWRnZXNHZW9tZXRyeTIgPSBlZGdlc1RvQ3lsaW5kZXJzKG5ldyBUSFJFRS5FZGdlc0dlb21ldHJ5KGJveEdlb21ldHJ5KSwgMC4wNik7XG4gICAgY29uc3QgZWRnZXMyID0gbmV3IFRIUkVFLk1lc2goZWRnZXNHZW9tZXRyeTIsIG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7XG4gICAgICBjb2xvcjogdGhpcy5pbnB1dHMuY29sb3IsXG4gICAgICBvcGFjaXR5OiAwLjA1LFxuICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXG4gICAgICBibGVuZGluZzogVEhSRUUuQWRkaXRpdmVCbGVuZGluZyxcbiAgICAgIGRlcHRoV3JpdGU6IGZhbHNlLFxuICAgIH0pKTtcbiAgICB0aGlzLnBpdm90LmFkZChlZGdlczIpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlSGlnaGxpZ2h0KCkge1xuICAgIGNvbnN0IFRIUkVFID0gdGhpcy5jb250ZXh0LnRocmVlO1xuXG4gICAgLy8gVE9ETyAoc2NlbmUgcXVlcnkpOiB0aGlzIGlzIHZlcnkgYnJpdHRsZSBhbmQgaGFyZGNvZGVkIGJ1dCBpcyB0aGUgb25seSB3YXkgdG8gZ2V0IHJvb20gZ2VvbWV0cmllcyB1bnRpbCB3ZSBoYXZlIGEgYmV0dGVyIHdheSB0byBxdWVyeSB0aGUgc2NlbmUgZ3JhcGhcbiAgICBjb25zdCBmbG9vck1lc2ggPSB0aGlzLm91dHB1dHMub2JqZWN0Um9vdC5wYXJlbnQ/LnBhcmVudD8uZ2V0T2JqZWN0QnlOYW1lKCdGbG9vck1lc2g6MCcpO1xuICAgIGNvbnN0IHJvb21NZXNoID0gZmxvb3JNZXNoPy5jaGlsZHJlblswXSBhcyBNZXNoO1xuICAgIGlmICghcm9vbU1lc2g/Lmdlb21ldHJ5KSB7XG4gICAgICAvLyBubyByb29tIG1lc2ggZm91bmQgaW4gdGhlIHNjZW5lIGdyYXBoOiB0aGUgZnJ1c3R1bSBpcyBzaG93biB3aXRob3V0IHRoZSBoaWdobGlnaHRcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB1cGRhdGVIaWdobGlnaHRVbmlmb3Jtcyh0aGlzLnByb2plY3RvciwgdGhpcy5oaWdobGlnaHRVbmlmb3Jtcyk7XG4gICAgdGhpcy5oaWdobGlnaHRVbmlmb3Jtcy5jb2xvci52YWx1ZS5zZXRIZXgodGhpcy5pbnB1dHMuY29sb3IpO1xuXG4gICAgY29uc3Qgc2hhZGVyID0gbmV3IFRIUkVFLlNoYWRlck1hdGVyaWFsKHtcbiAgICAgIHBvbHlnb25PZmZzZXQ6IHRydWUsXG4gICAgICBwb2x5Z29uT2Zmc2V0VW5pdHM6IC0wLjEsXG4gICAgICB0cmFuc3BhcmVudDogdHJ1ZSxcbiAgICAgIHVuaWZvcm1zOiB0aGlzLmhpZ2hsaWdodFVuaWZvcm1zLFxuICAgICAgdmVydGV4U2hhZGVyOiB2ZXJ0ZXhTaGFkZXIoKSxcbiAgICAgIGZyYWdtZW50U2hhZGVyOiBmcmFnbWVudFNoYWRlcigpLFxuICAgIH0pO1xuXG4gICAgLy8gYSBtZXNoIHRvIHJlcHJlc2VudCB0aGUgXCJoaWdobGlnaHRcIlxuICAgIHRoaXMuaGlnaGxpZ2h0ID0gbmV3IFRIUkVFLk1lc2gocm9vbU1lc2guZ2VvbWV0cnksIHNoYWRlcik7XG4gIH1cblxuICB0b2dnbGVWaWV3RnJ1c3R1bSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oaWdobGlnaHQpIHtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0LnZpc2libGUgPSAhdGhpcy5oaWdobGlnaHQudmlzaWJsZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZWRnZXMpIHtcbiAgICAgIHRoaXMuZWRnZXMudmlzaWJsZSA9ICF0aGlzLmVkZ2VzLnZpc2libGU7XG4gICAgfVxuICAgIGlmICh0aGlzLnBpdm90KSB7XG4gICAgICB0aGlzLnBpdm90LnZpc2libGUgPSAhdGhpcy5waXZvdC52aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWFrZUFuaW1hdGlvbigpIHtcbiAgICBjb25zdCBUSFJFRSA9IHRoaXMuY29udGV4dC50aHJlZTtcblxuICAgIC8vIHByZWFwcGx5IHRoZSBpbml0aWFsIHJvdGF0aW9uIG9mIHRoZSByb290IHNvIHRoYXQgcGFuQW5nbGUgaXMgcmVsYXRpdmUgdG8gaXQuXG5cbiAgICAvLyBUT0RPOiBmaXggaXQhXG4gICAgY29uc3Qgcm9vdFJvdGF0aW9uID0gdGhpcy5jb250ZXh0LnJvb3QucXVhdGVybmlvbjtcblxuICAgIGNvbnN0IHlBeGlzID0gbmV3IFRIUkVFLlZlY3RvcjMoMCwgMSwgMCk7XG4gICAgY29uc3QgZnJhbWUwID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKS5zZXRGcm9tQXhpc0FuZ2xlKHlBeGlzLCAwKS5wcmVtdWx0aXBseShyb290Um90YXRpb24pO1xuICAgIGNvbnN0IGZyYW1lMSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCkuc2V0RnJvbUF4aXNBbmdsZSh5QXhpcywgdGhpcy5pbnB1dHMucGFuQW5nbGUpLnByZW11bHRpcGx5KHJvb3RSb3RhdGlvbik7XG5cbiAgICAvLyBhIHRyYWNrIHRoYXQgaGFzIGRlbGF5cyBhdCB0aGUgc3RhcnQgYW5kIGVuZCBmb3IgNSUgb2YgdGhlIGFuaW1hdGlvblxuICAgIGNvbnN0IHRyYWNrID0gbmV3IFRIUkVFLlF1YXRlcm5pb25LZXlmcmFtZVRyYWNrKCcucXVhdGVybmlvbicsIFtcbiAgICAgIDAsIHRoaXMuaW5wdXRzLnBhblBlcmlvZCAqIDAuMDUsIHRoaXMuaW5wdXRzLnBhblBlcmlvZCAqIDAuOTUsIHRoaXMuaW5wdXRzLnBhblBlcmlvZFxuICAgIF0sIFtcbiAgICAgIGZyYW1lMC54LCBmcmFtZTAueSwgZnJhbWUwLnosIGZyYW1lMC53LFxuICAgICAgZnJhbWUwLngsIGZyYW1lMC55LCBmcmFtZTAueiwgZnJhbWUwLncsXG4gICAgICBmcmFtZTEueCwgZnJhbWUxLnksIGZyYW1lMS56LCBmcmFtZTEudyxcbiAgICAgIGZyYW1lMS54LCBmcmFtZTEueSwgZnJhbWUxLnosIGZyYW1lMS53LFxuICAgIF0pO1xuXG4gICAgY29uc3QgY2xpcCA9IG5ldyBUSFJFRS5BbmltYXRpb25DbGlwKCdwYW5uaW5nJywgdGhpcy5pbnB1dHMucGFuUGVyaW9kLCBbdHJhY2tdKTtcblxuICAgIC8vIFRoZXJlIGlzIG5vIGFwaSB0byBjaGFuZ2UgdGhlIHJvdGF0aW9uIG9mIHRoZSByb290LCBzbyB3ZSB3aWxsIHVzZSBhIHByaXZhdGUgcHJvcGVydHkgdG8gYWNjZXNzIHRoZSBPYmplY3QzRC5cbiAgICAvLyBUaGlzIHdpbGwgbGlrZWx5IG5lZWQgdG8gY2hhbmdlIGluIHRoZSBmdXR1cmUuXG4gICAgdGhpcy5taXhlciA9IG5ldyBUSFJFRS5BbmltYXRpb25NaXhlcigodGhpcy5jb250ZXh0LnJvb3QgYXMgYW55KS5vYmozRCk7XG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5taXhlci5jbGlwQWN0aW9uKGNsaXApO1xuICAgIGFjdGlvbi5sb29wID0gVEhSRUUuTG9vcFBpbmdQb25nO1xuICAgIGFjdGlvbi5wbGF5KCk7XG4gIH1cblxufVxuXG5mdW5jdGlvbiB2ZXJ0ZXhTaGFkZXIoKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBcbiAgICB1bmlmb3JtIG1hdDQgbGlnaHRNYXRyaXg7XG5cbiAgICB2YXJ5aW5nIHZlYzQgdkxpZ2h0Q29vcmRzO1xuXG4gICAgdm9pZCBtYWluKCkge1xuICAgICAgLy8gY3JlYXRlIGEgVVYgcmVnaW9uIFswLDFdIHggWzAsMV0gdG8gcmVwcmVzZW50IHdoYXQgdGhlIGxpZ2h0TWF0cml4IFwic2Vlc1wiXG4gICAgICB2TGlnaHRDb29yZHMgPSBsaWdodE1hdHJpeCAqICBtb2RlbE1hdHJpeCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gICAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KHBvc2l0aW9uLCAxLjApO1xuICAgIH1cbiAgYDtcbn1cblxuZnVuY3Rpb24gZnJhZ21lbnRTaGFkZXIoKSB7XG4gIHJldHVybiBgXG4gICAgdW5pZm9ybSB2ZWMzIGNvbG9yO1xuXG4gICAgdmFyeWluZyB2ZWM0IHZMaWdodENvb3JkcztcblxuICAgIHZvaWQgbWFpbigpIHtcbiAgICAgIHZlYzIgbGlnaHRVViA9IHZMaWdodENvb3Jkcy54eSAvIHZMaWdodENvb3Jkcy53O1xuICAgICAgZmxvYXQgaW5WaWV3ID0gZmxvYXQobWF4KGxpZ2h0VVYueCwgbGlnaHRVVi55KSA8PSAxLjAgJiYgbWluKGxpZ2h0VVYueCwgbGlnaHRVVi55KSA+PSAwLjAgJiYgdkxpZ2h0Q29vcmRzLnogPiAwLjApO1xuXG4gICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9yLCBtaW4oaW5WaWV3LCAwLjIpKTtcbiAgICB9XG4gIGA7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhpZ2hsaWdodFVuaWZvcm1zKHByb2plY3RvcjogUGVyc3BlY3RpdmVDYW1lcmEsIHVuaWZvcm1zOiBIaWdobGlnaHRVbmlmb3Jtcykge1xuICBwcm9qZWN0b3IuZ2V0V29ybGRQb3NpdGlvbih1bmlmb3Jtcy5wcm9qUG9zaXRpb24udmFsdWUpO1xuXG4gIC8vIHNpbWlsYXIgdG8gYSBzaGFkb3cgbWF0cml4LCBidXQgd2UncmUgdXNpbmcgaXQgYXMgYSBcInJlY3Rhbmd1bGFyXCIgc3BvdGxpZ2h0XG4gIC8vIFtsaWdodEJpYXNdICogW3Byb2plY3Rpb25dICogW3ZpZXdNYXRyaXhdXG4gIHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLm1ha2VTY2FsZSgwLjUsIDAuNSwgMC41KTtcbiAgdW5pZm9ybXMubGlnaHRNYXRyaXgudmFsdWUuc2V0UG9zaXRpb24obmV3IFZlY3RvcjMoMC41LCAwLjUsIDAuNSkpXG4gIHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLm11bHRpcGx5TWF0cmljZXModW5pZm9ybXMubGlnaHRNYXRyaXgudmFsdWUsIHByb2plY3Rvci5wcm9qZWN0aW9uTWF0cml4KTtcbiAgdW5pZm9ybXMubGlnaHRNYXRyaXgudmFsdWUubXVsdGlwbHlNYXRyaWNlcyh1bmlmb3Jtcy5saWdodE1hdHJpeC52YWx1ZSwgcHJvamVjdG9yLm1hdHJpeFdvcmxkSW52ZXJzZSk7XG59XG5cbmV4cG9ydCBjb25zdCBzZWN1cml0eUNhbWVyYVR5cGUgPSAnbXAuc2VjdXJpdHlDYW1lcmEnO1xuZXhwb3J0IGNvbnN0IG1ha2VTZWN1cml0eUNhbWVyYSA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIG5ldyBTZWN1cml0eUNhbWVyYSgpO1xufVxuIl19
|
|
@@ -94,4 +94,4 @@ export const TvPlayerType = 'mp.TvPlayer';
|
|
|
94
94
|
export const makeTvPlayer = function () {
|
|
95
95
|
return new TvPlayer();
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHZQbGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy90di1wbGF5ZXIvVHZQbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBbUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBR0wsT0FBTyxFQUNQLGlCQUFpQixFQUVqQixZQUFZLEdBQ2IsTUFBTSxPQUFPLENBQUM7QUFFZixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUM7QUFDM0IsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBUy9CLE1BQU0sT0FBTyxRQUFTLFNBQVEsY0FBYztJQUNsQyxTQUFTLEdBQW9CLElBQUksQ0FBQztJQUNsQyxJQUFJLEdBQWdCLElBQUksQ0FBQztJQUN6QixTQUFTLENBQWlCO0lBR3pCLE1BQU0sR0FBVztRQUN4QixZQUFZLEVBQUUsTUFBTTtRQUNwQixPQUFPLEVBQUUsSUFBSTtRQUNiLGNBQWMsRUFBRSxJQUFJO0tBQ3JCLENBQUE7SUFHUSxNQUFNLEdBQUc7UUFDaEIsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJO1FBQ2xCLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSTtLQUNyQixDQUFDO0lBQ00sb0JBQW9CLENBQWlCO0lBRXBDLE1BQU0sQ0FBQyxTQUFlO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDYixJQUFJLEVBQUUsU0FBUzthQUNJLENBQUM7UUFDeEIsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFUSxT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SyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUMzRCxDQUFDLENBQUE7b0JBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7d0JBQzNDLE1BQU0sRUFBRSxDQUFDO29CQUNYLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFFVixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCw0QkFBNEI7WUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWtCLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUF5QjtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFtQjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTY2VuZUNvbXBvbmVudCwgQ29tcG9uZW50Q29udGV4dH0gZnJvbSAnLi4vc2NlbmUtY29tcG9uZW50L1NjZW5lQ29tcG9uZW50JztcbmltcG9ydCB7XG4gIE9iamVjdDNELFxuICBNZXNoLFxuICBUZXh0dXJlLFxuICBNZXNoQmFzaWNNYXRlcmlhbCxcbiAgTGluZVNlZ21lbnRzLFxuICBMaW5lYXJGaWx0ZXIsXG59IGZyb20gJ3RocmVlJztcblxuY29uc3QgSG92ZXJFdmVudCA9ICdob3Zlcic7XG5jb25zdCBVbmhvdmVyRXZlbnQgPSAndW5ob3Zlcic7XG5cbnR5cGUgSW5wdXRzID0ge1xuICBsb2FkaW5nU3RhdGU6IHN0cmluZztcbiAgdGV4dHVyZTogVGV4dHVyZSB8IG51bGw7XG4gIHVwZGF0ZUludGVydmFsOiBudW1iZXI7XG59XG5cblxuZXhwb3J0IGNsYXNzIFR2UGxheWVyIGV4dGVuZHMgU2NlbmVDb21wb25lbnQge1xuICBwcml2YXRlIHJvb3RTY2VuZTogT2JqZWN0M0QgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBtZXNoOiBNZXNoIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY29tcG9uZW50OiBTY2VuZUNvbXBvbmVudDtcblxuXG4gIG92ZXJyaWRlIGlucHV0czogSW5wdXRzID0ge1xuICAgIGxvYWRpbmdTdGF0ZTogJ0lkbGUnLFxuICAgIHRleHR1cmU6IG51bGwsXG4gICAgdXBkYXRlSW50ZXJ2YWw6IDEwMDAsXG4gIH1cblxuXG4gIG92ZXJyaWRlIGV2ZW50cyA9IHtcbiAgICBbSG92ZXJFdmVudF06IHRydWUsXG4gICAgW1VuaG92ZXJFdmVudF06IHRydWUsXG4gIH07XG4gIHByaXZhdGUgaW50ZXJ2YWxWaWRlb1RleHR1cmU6IE5vZGVKUy5UaW1lb3V0O1xuXG4gIG92ZXJyaWRlIG9uSW5pdChtb2RlbE5vZGU/OiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuY29udGV4dCkge1xuICAgICAgdGhpcy5jb250ZXh0ID0ge1xuICAgICAgICByb290OiBtb2RlbE5vZGVcbiAgICAgIH0gYXMgQ29tcG9uZW50Q29udGV4dDtcbiAgICB9XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuY29udGV4dC5yb290O1xuICAgIGNvbnN0IFRIUkVFID0gdGhpcy5jb250ZXh0LnRocmVlO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25EZXN0cm95KCkge1xuICAgIHN1cGVyLm9uRGVzdHJveSgpO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbFZpZGVvVGV4dHVyZSk7XG4gIH1cblxuICBvdmVycmlkZSBvbklucHV0c1VwZGF0ZWQoKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRzLmxvYWRpbmdTdGF0ZSA9PT0gJ0xvYWRlZCcpIHtcbiAgICAgIGNvbnN0IGxpbmVzOiBMaW5lU2VnbWVudHNbXSA9IFtdO1xuXG4gICAgICAvL0B0cy1pZ25vcmVcbiAgICAgIHRoaXMuY29udGV4dC5yb290Lm9iajNELnRyYXZlcnNlKChvYmo6IE9iamVjdDNEKSA9PiB7XG4gICAgICAgIC8vIHdlIGRvbnQgd2FudCBsaW5lIHNlZ21lbnRzLCB0cmFjayB0aGVtIGFuZCByZW1vdmUgdGhlbS5cbiAgICAgICAgaWYgKG9iai50eXBlID09PSAnTGluZVNlZ21lbnRzJykge1xuICAgICAgICAgIGxpbmVzLnB1c2gob2JqIGFzIExpbmVTZWdtZW50cyk7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqLnR5cGUgPT09ICdNZXNoJykge1xuICAgICAgICAgIHRoaXMubWVzaCA9IG9iaiBhcyBNZXNoO1xuXG4gICAgICAgICAgbGV0IHZpZGVvLCB2aWRlb0ltYWdlLCB2aWRlb0ltYWdlQ29udGV4dCwgdmlkZW9UZXh0dXJlO1xuICAgICAgICAgIC8vIGNyZWF0ZSB0aGUgdmlkZW8gZWxlbWVudFxuICAgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTtcbiAgICAgICAgICAvLyB2aWRlby5zcmMgPSBcIi4vLi4vYXNzZXRzL3ZpZGVvL3ZpZGVvX3NhbXNpYy5tcDRcIjtcbiAgICAgICAgICB2aWRlby5zcmMgPSBcIi4vLi4vYXNzZXRzL3ZpZGVvLzEyMTIyMi0wNC5tcDRcIjtcbiAgICAgICAgICB2aWRlby5sb2FkKCk7IC8vIG11c3QgY2FsbCBhZnRlciBzZXR0aW5nL2NoYW5naW5nIHNvdXJjZVxuICAgICAgICAgIHZpZGVvLmxvb3AgPSB0cnVlO1xuICAgICAgICAgIHZpZGVvLnBsYXkoKTtcblxuICAgICAgICAgIHZpZGVvSW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgICAvLyB2aWRlb0ltYWdlLndpZHRoID0gNjQwO1xuICAgICAgICAgIHZpZGVvSW1hZ2Uud2lkdGggPSAxMjgwO1xuICAgICAgICAgIC8vIHZpZGVvSW1hZ2UuaGVpZ2h0ID0gMzYwO1xuICAgICAgICAgIHZpZGVvSW1hZ2UuaGVpZ2h0ID0gNzIwO1xuXG4gICAgICAgICAgdmlkZW9JbWFnZUNvbnRleHQgPSB2aWRlb0ltYWdlLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZCBjb2xvciBpZiBubyB2aWRlbyBwcmVzZW50XG4gICAgICAgICAgdmlkZW9JbWFnZUNvbnRleHQuZmlsbFN0eWxlID0gJyMwMDAwMDAnO1xuICAgICAgICAgIHZpZGVvSW1hZ2VDb250ZXh0LmZpbGxSZWN0KDAsIDAsIHZpZGVvSW1hZ2Uud2lkdGgsIHZpZGVvSW1hZ2UuaGVpZ2h0KTtcblxuICAgICAgICAgIHZpZGVvVGV4dHVyZSA9IG5ldyBUZXh0dXJlKHZpZGVvSW1hZ2UpXG4gICAgICAgICAgdmlkZW9UZXh0dXJlLm1pbkZpbHRlciA9IExpbmVhckZpbHRlcjtcbiAgICAgICAgICB2aWRlb1RleHR1cmUubWFnRmlsdGVyID0gTGluZWFyRmlsdGVyO1xuICAgICAgICAgIGNvbnN0IG1vdmllTWF0ZXJpYWwgPSBuZXcgTWVzaEJhc2ljTWF0ZXJpYWwoe21hcDogdmlkZW9UZXh0dXJlfSlcbiAgICAgICAgICB0aGlzLm1lc2gubWF0ZXJpYWwgPSBtb3ZpZU1hdGVyaWFsO1xuXG4gICAgICAgICAgY29uc3QgcmVuZGVyID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHZpZGVvLnJlYWR5U3RhdGUgPT09IHZpZGVvLkhBVkVfRU5PVUdIX0RBVEEpIHtcbiAgICAgICAgICAgICAgdmlkZW9JbWFnZUNvbnRleHQuZHJhd0ltYWdlKHZpZGVvLCAwLCAwKTtcbiAgICAgICAgICAgICAgaWYgKHZpZGVvVGV4dHVyZSlcbiAgICAgICAgICAgICAgICB2aWRlb1RleHR1cmUubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY2FtZXJhID0gKHRoaXMuY29udGV4dC5zY2VuZS5jaGlsZHJlbi5maW5kKHUgPT4gdS5jb25zdHJ1Y3Rvci5uYW1lID09PSAnQ2FtZXJhUmlnJykpLmNhbWVyYTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5yZW5kZXJlci5yZW5kZXIodGhpcy5jb250ZXh0LnNjZW5lLCBjYW1lcmEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmludGVydmFsVmlkZW9UZXh0dXJlID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgcmVuZGVyKCk7XG4gICAgICAgICAgfSwgMTgwKTtcblxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gcmVtb3ZlIHRoZSBsaW5lIHNlZ21lbnRzLlxuICAgICAgbGluZXMuZm9yRWFjaCgobGluZTogTGluZVNlZ21lbnRzKSA9PiB7XG4gICAgICAgIGxpbmUucGFyZW50LnJlbW92ZShsaW5lKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldENvbXBvbmVudChjb21wb25lbnQ6IFNjZW5lQ29tcG9uZW50KSB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XG4gICAgdGhpcy5jb250ZXh0ID0gY29tcG9uZW50LmNvbnRleHQ7XG4gIH1cblxuICBzZXRSb290U2NlbmUocm9vdFNjZW5lOiBPYmplY3QzRCkge1xuICAgIHRoaXMucm9vdFNjZW5lID0gcm9vdFNjZW5lO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBUdlBsYXllclR5cGUgPSAnbXAuVHZQbGF5ZXInO1xuZXhwb3J0IGNvbnN0IG1ha2VUdlBsYXllciA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIG5ldyBUdlBsYXllcigpO1xufVxuIl19
|
|
@@ -177,30 +177,30 @@ export class ViewFrustumMesh extends SceneComponent {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
function vertexShader() {
|
|
180
|
-
return `
|
|
181
|
-
uniform mat4 lightMatrix;
|
|
182
|
-
|
|
183
|
-
varying vec4 vLightCoords;
|
|
184
|
-
|
|
185
|
-
void main() {
|
|
186
|
-
// create a UV region [0,1] x [0,1] to represent what the lightMatrix "sees"
|
|
187
|
-
vLightCoords = lightMatrix * modelMatrix * vec4(position, 1.0);
|
|
188
|
-
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
189
|
-
}
|
|
180
|
+
return `
|
|
181
|
+
uniform mat4 lightMatrix;
|
|
182
|
+
|
|
183
|
+
varying vec4 vLightCoords;
|
|
184
|
+
|
|
185
|
+
void main() {
|
|
186
|
+
// create a UV region [0,1] x [0,1] to represent what the lightMatrix "sees"
|
|
187
|
+
vLightCoords = lightMatrix * modelMatrix * vec4(position, 1.0);
|
|
188
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
189
|
+
}
|
|
190
190
|
`;
|
|
191
191
|
}
|
|
192
192
|
function fragmentShader() {
|
|
193
|
-
return `
|
|
194
|
-
uniform vec3 color;
|
|
195
|
-
|
|
196
|
-
varying vec4 vLightCoords;
|
|
197
|
-
|
|
198
|
-
void main() {
|
|
199
|
-
vec2 lightUV = vLightCoords.xy / vLightCoords.w;
|
|
200
|
-
float inView = float(max(lightUV.x, lightUV.y) <= 1.0 && min(lightUV.x, lightUV.y) >= 0.0 && vLightCoords.z > 0.0);
|
|
201
|
-
|
|
202
|
-
gl_FragColor = vec4(color, min(inView, 0.2));
|
|
203
|
-
}
|
|
193
|
+
return `
|
|
194
|
+
uniform vec3 color;
|
|
195
|
+
|
|
196
|
+
varying vec4 vLightCoords;
|
|
197
|
+
|
|
198
|
+
void main() {
|
|
199
|
+
vec2 lightUV = vLightCoords.xy / vLightCoords.w;
|
|
200
|
+
float inView = float(max(lightUV.x, lightUV.y) <= 1.0 && min(lightUV.x, lightUV.y) >= 0.0 && vLightCoords.z > 0.0);
|
|
201
|
+
|
|
202
|
+
gl_FragColor = vec4(color, min(inView, 0.2));
|
|
203
|
+
}
|
|
204
204
|
`;
|
|
205
205
|
}
|
|
206
206
|
function updateHighlightUniforms(projector, uniforms) {
|
|
@@ -216,4 +216,4 @@ export const ViewFrustumMeshType = 'mp.ViewFrustumMesh';
|
|
|
216
216
|
export const makeViewFrustumMesh = function () {
|
|
217
217
|
return new ViewFrustumMesh();
|
|
218
218
|
};
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlld0ZydXN0dW1NZXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9tYXR0ZXJwb3J0LWV4dGVuc2lvbnMvdmlldy1mcnVzdHVtLW1lc2gvVmlld0ZydXN0dW1NZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFdBQVcsRUFFWCxhQUFhLEVBQ2IsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsS0FBSyxFQUNMLHNCQUFzQixFQUN0QixRQUFRLEVBQ1IsY0FBYyxFQUNkLGdCQUFnQixHQUNqQixNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxpREFBaUQsQ0FBQTtBQUN0RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFvQmpFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7SUFFekMsSUFBSSxHQUFvQixJQUFJLENBQUM7SUFDN0IsS0FBSyxHQUFvQixJQUFJLENBQUM7SUFDOUIsR0FBRyxHQUFnQixJQUFJLENBQUM7SUFDeEIsS0FBSyxHQUFnQixJQUFJLENBQUM7SUFFMUIsU0FBUyxDQUFvQjtJQUU1QixNQUFNLEdBQVc7UUFDeEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsVUFBVSxFQUFFLEVBQUU7UUFDZCxlQUFlLEVBQUUsRUFBRTtRQUNuQixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLGVBQWUsRUFBRTtZQUNmLEdBQUcsRUFBRSxDQUFDO1lBQ04sR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsQ0FBQyxHQUFHO1NBQ1Y7UUFDRCxlQUFlLEVBQUU7WUFDZixHQUFHLEVBQUUsQ0FBQyxFQUFFO1lBQ1IsR0FBRyxFQUFFLENBQUM7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QyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDcEcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDeEcsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLE9BQU8sSUFBSSxlQUFlLEVBQUUsQ0FBQztBQUMvQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIE9iamVjdDNELFxyXG4gIE1lc2gsXHJcbiAgUGVyc3BlY3RpdmVDYW1lcmEsXHJcbiAgU2hhZGVyTWF0ZXJpYWwsXHJcbiAgTWVzaEJhc2ljTWF0ZXJpYWwsXHJcbiAgQm94R2VvbWV0cnksXHJcbiAgTGluZUJhc2ljTWF0ZXJpYWwsXHJcbiAgRWRnZXNHZW9tZXRyeSxcclxuICBDb2xvcixcclxuICBNYXRyaXg0LFxyXG4gIFZlY3RvcjMsXHJcbiAgRXVsZXIsXHJcbiAgQ3lsaW5kZXJCdWZmZXJHZW9tZXRyeSxcclxuICBCYWNrU2lkZSxcclxuICBOb3JtYWxCbGVuZGluZyxcclxuICBBZGRpdGl2ZUJsZW5kaW5nLFxyXG59IGZyb20gJ3RocmVlJztcclxuaW1wb3J0ICogYXMgQnVmZmVyR2VvbWV0cnlVdGlscyBmcm9tICd0aHJlZS9leGFtcGxlcy9qc20vdXRpbHMvQnVmZmVyR2VvbWV0cnlVdGlscy5qcydcclxuaW1wb3J0IHtTY2VuZUNvbXBvbmVudH0gZnJvbSAnLi4vc2NlbmUtY29tcG9uZW50L1NjZW5lQ29tcG9uZW50JztcclxuXHJcbmludGVyZmFjZSBJbnB1dHMge1xyXG4gIG5lYXJQbGFuZTogbnVtYmVyO1xyXG4gIGZhclBsYW5lOiBudW1iZXIsXHJcbiAgaG9yaXpvbnRhbEZPVjogbnVtYmVyLFxyXG4gIGFzcGVjdDogbnVtYmVyLFxyXG4gIGxvY2FsUG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlcjsgfTtcclxuICBsb2NhbFJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XHJcbiAgY29sb3I6IG51bWJlcjtcclxuICBwYW5QZXJpb2Q6IG51bWJlcjtcclxuICBwYW5BbmdsZTogbnVtYmVyO1xyXG59XHJcblxyXG50eXBlIEhpZ2hsaWdodFVuaWZvcm1zID0ge1xyXG4gIGNvbG9yOiB7IHZhbHVlOiBDb2xvciB9LFxyXG4gIHByb2pQb3NpdGlvbjogeyB2YWx1ZTogVmVjdG9yMyB9O1xyXG4gIGxpZ2h0TWF0cml4OiB7IHZhbHVlOiBNYXRyaXg0IH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNsYXNzIGlzIHRoZSBleHRyYWN0ZWQgVmlldyBGcnVzdHVtIE1lc2ggZnJvbVxyXG4gKiBTZWN1cml0eUNhbWVyYSBleGFtcGxlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVmlld0ZydXN0dW1NZXNoIGV4dGVuZHMgU2NlbmVDb21wb25lbnQge1xyXG5cclxuICBwcml2YXRlIHJvb3Q6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBwaXZvdDogT2JqZWN0M0QgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGJveDogTWVzaCB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgZWRnZXM6IE1lc2ggfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBwcm9qZWN0b3I6IFBlcnNwZWN0aXZlQ2FtZXJhO1xyXG5cclxuICBvdmVycmlkZSBpbnB1dHM6IElucHV0cyA9IHtcclxuICAgIFwibmVhclBsYW5lXCI6IDAuMSxcclxuICAgIFwiZmFyUGxhbmVcIjogMTAsXHJcbiAgICBcImhvcml6b250YWxGT1ZcIjogNTIsXHJcbiAgICBcImFzcGVjdFwiOiAxLjc3Nzc3Nzc3Nzc3Nzc3NzcsXHJcbiAgICBcImxvY2FsUG9zaXRpb25cIjoge1xyXG4gICAgICBcInhcIjogMCxcclxuICAgICAgXCJ5XCI6IDAuMTgsXHJcbiAgICAgIFwielwiOiAtMC4zXHJcbiAgICB9LFxyXG4gICAgXCJsb2NhbFJvdGF0aW9uXCI6IHtcclxuICAgICAgXCJ4XCI6IC0xNSxcclxuICAgICAgXCJ5XCI6IDAsXHJcbiAgICAgIFwielwiOiAwXHJcbiAgICB9LFxyXG4gICAgXCJjb2xvclwiOiA2NTI4MCxcclxuICAgIFwicGFuUGVyaW9kXCI6IDUsXHJcbiAgICBcInBhbkFuZ2xlXCI6IC00NVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaGlnaGxpZ2h0OiBNZXNoIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgaGlnaGxpZ2h0VW5pZm9ybXM6IEhpZ2hsaWdodFVuaWZvcm1zID0ge1xyXG4gICAgY29sb3I6IHt2YWx1ZTogbmV3IENvbG9yKCl9LFxyXG4gICAgcHJvalBvc2l0aW9uOiB7dmFsdWU6IG5ldyBWZWN0b3IzKCl9LFxyXG4gICAgbGlnaHRNYXRyaXg6IHt2YWx1ZTogbmV3IE1hdHJpeDQoKX0sXHJcbiAgfVxyXG4gIG92ZXJyaWRlIG91dHB1dHM6IGFueSA9IHt9O1xyXG5cclxuICBvdmVycmlkZSBvbkluaXQoKSB7XHJcblxyXG4gICAgdGhpcy5yb290ID0gbmV3IE9iamVjdDNEKCk7XHJcbiAgICB0aGlzLnBpdm90ID0gbmV3IE9iamVjdDNEKCk7XHJcbiAgICB0aGlzLnJvb3QuYWRkKHRoaXMucGl2b3QpO1xyXG4gICAgdGhpcy5vdXRwdXRzLm9iamVjdFJvb3QgPSB0aGlzLnJvb3Q7XHJcblxyXG4gICAgY29uc3QgZXVsZXIgPSBuZXcgRXVsZXIodGhpcy5pbnB1dHMubG9jYWxSb3RhdGlvbi54ICogTWF0aC5QSSAvIDE4MCwgdGhpcy5pbnB1dHMubG9jYWxSb3RhdGlvbi55ICogTWF0aC5QSSAvIDE4MCwgdGhpcy5pbnB1dHMubG9jYWxSb3RhdGlvbi56ICogTWF0aC5QSSAvIDE4MCwgJ1lYWicpO1xyXG4gICAgdGhpcy5waXZvdC5xdWF0ZXJuaW9uLnNldEZyb21FdWxlcihldWxlcik7XHJcblxyXG4gICAgdGhpcy5tYWtlRnJ1c3R1bVZpc3VhbHMoKTtcclxuXHJcbiAgICB0aGlzLnBpdm90LmFkZCh0aGlzLmJveCk7XHJcbiAgICB0aGlzLnBpdm90LmFkZCh0aGlzLmVkZ2VzKTtcclxuXHJcbiAgICBjb25zdCBhc3BlY3QgPSB0aGlzLmlucHV0cy5hc3BlY3Q7XHJcbiAgICBjb25zdCBERUcyUkFEID0gTWF0aC5QSSAvIDE4MDtcclxuICAgIGNvbnN0IFJBRDJERUcgPSAxIC8gREVHMlJBRDtcclxuICAgIGNvbnN0IHZlcnRpY2FsRk9WID0gMiAqIE1hdGguYXRhbigxIC8gYXNwZWN0ICogTWF0aC50YW4oMC41ICogdGhpcy5pbnB1dHMuaG9yaXpvbnRhbEZPViAqIERFRzJSQUQpKSAqIFJBRDJERUc7XHJcbiAgICB0aGlzLnByb2plY3RvciA9IG5ldyBQZXJzcGVjdGl2ZUNhbWVyYSh2ZXJ0aWNhbEZPViwgYXNwZWN0LCB0aGlzLmlucHV0cy5uZWFyUGxhbmUsIHRoaXMuaW5wdXRzLmZhclBsYW5lKTtcclxuICAgIHRoaXMucGl2b3QuYWRkKHRoaXMucHJvamVjdG9yKTtcclxuXHJcbiAgICB0aGlzLm1ha2VIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuY29udGV4dC5zY2VuZS5hZGQodGhpcy5oaWdobGlnaHQpO1xyXG5cclxuICB9XHJcblxyXG5cclxuICBvblRpY2tNb2RpZmllZChkZWx0YTogbnVtYmVyLCBxdWF0ZXJuaW9uOiBhbnkpIHtcclxuICAgIHRoaXMucGl2b3QucXVhdGVybmlvbi5zZXQocXVhdGVybmlvbi54LHF1YXRlcm5pb24ueSxxdWF0ZXJuaW9uLnoscXVhdGVybmlvbi53KTtcclxuICAgIHVwZGF0ZUhpZ2hsaWdodFVuaWZvcm1zKHRoaXMucHJvamVjdG9yLCB0aGlzLmhpZ2hsaWdodFVuaWZvcm1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFrZUZydXN0dW1WaXN1YWxzKCkge1xyXG4gICAgaWYgKHRoaXMuYm94KSB7XHJcbiAgICAgIHRoaXMucm9vdC5yZW1vdmUodGhpcy5ib3gpO1xyXG4gICAgICAodGhpcy5ib3gubWF0ZXJpYWwgYXMgTWVzaEJhc2ljTWF0ZXJpYWwpLmRpc3Bvc2UoKTtcclxuICAgICAgKHRoaXMuYm94Lmdlb21ldHJ5IGFzIEJveEdlb21ldHJ5KS5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMuYm94ID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmVkZ2VzKSB7XHJcbiAgICAgIHRoaXMucm9vdC5yZW1vdmUodGhpcy5lZGdlcyk7XHJcbiAgICAgICh0aGlzLmVkZ2VzLm1hdGVyaWFsIGFzIExpbmVCYXNpY01hdGVyaWFsKS5kaXNwb3NlKCk7XHJcbiAgICAgICh0aGlzLmVkZ2VzLmdlb21ldHJ5IGFzIEVkZ2VzR2VvbWV0cnkpLmRpc3Bvc2UoKTtcclxuICAgICAgdGhpcy5lZGdlcyA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gZWRnZXNUb0N5bGluZGVycyhlZGdlc0dlb21ldHJ5OiBFZGdlc0dlb21ldHJ5LCB0aGlja25lc3M6IG51bWJlcikge1xyXG4gICAgICBjb25zdCB7cG9zaXRpb259ID0gZWRnZXNHZW9tZXRyeS5hdHRyaWJ1dGVzO1xyXG4gICAgICBjb25zdCB7YXJyYXksIGNvdW50fSA9IHBvc2l0aW9uO1xyXG4gICAgICBjb25zdCByID0gdGhpY2tuZXNzIC8gMjtcclxuICAgICAgY29uc3QgZ2VvbXMgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudCAqIDMgLSAxOyBpICs9IDYpIHtcclxuICAgICAgICBjb25zdCBhID0gbmV3IFZlY3RvcjMoYXJyYXlbaV0sIGFycmF5W2kgKyAxXSwgYXJyYXlbaSArIDJdKTtcclxuICAgICAgICBjb25zdCBiID0gbmV3IFZlY3RvcjMoYXJyYXlbaSArIDNdLCBhcnJheVtpICsgNF0sIGFycmF5W2kgKyA1XSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHZlYyA9IG5ldyBWZWN0b3IzKCkuc3ViVmVjdG9ycyhiLCBhKTtcclxuICAgICAgICBjb25zdCBsZW4gPSB2ZWMubGVuZ3RoKCk7XHJcbiAgICAgICAgY29uc3QgZ2VvbSA9IG5ldyBDeWxpbmRlckJ1ZmZlckdlb21ldHJ5KHIsIHIsIGxlbiwgOCk7XHJcbiAgICAgICAgZ2VvbS50cmFuc2xhdGUoMCwgbGVuIC8gMiwgMCk7XHJcbiAgICAgICAgZ2VvbS5yb3RhdGVYKE1hdGguUEkgLyAyKTtcclxuICAgICAgICBnZW9tLmxvb2tBdCh2ZWMpO1xyXG4gICAgICAgIGdlb20udHJhbnNsYXRlKGEueCwgYS55LCBhLnopO1xyXG4gICAgICAgIGdlb21zLnB1c2goZ2VvbSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gQVBJIHRvIGJlIHVwZGF0ZWQgaW4gYnVuZGxlIC0gSlNTREstMTIyMlxyXG4gICAgICByZXR1cm4gQnVmZmVyR2VvbWV0cnlVdGlscy5tZXJnZUJ1ZmZlckdlb21ldHJpZXMoZ2VvbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZydXN0dW1MZW5ndGggPSB0aGlzLmlucHV0cy5mYXJQbGFuZSAtIHRoaXMuaW5wdXRzLm5lYXJQbGFuZTtcclxuICAgIGNvbnN0IGJveEdlb21ldHJ5OiBCb3hHZW9tZXRyeSA9IG5ldyBCb3hHZW9tZXRyeSgyLCAyLCBmcnVzdHVtTGVuZ3RoKTtcclxuICAgIGNvbnN0IGhhbGZIQW5nbGUgPSB0aGlzLmlucHV0cy5ob3Jpem9udGFsRk9WICogMC41ICogTWF0aC5QSSAvIDE4MDtcclxuICAgIGNvbnN0IG5lYXJIYWxmV2lkdGggPSBNYXRoLnRhbihoYWxmSEFuZ2xlKSAqIHRoaXMuaW5wdXRzLm5lYXJQbGFuZTtcclxuICAgIGNvbnN0IGZhckhhbGZXaWR0aCA9IE1hdGgudGFuKGhhbGZIQW5nbGUpICogdGhpcy5pbnB1dHMuZmFyUGxhbmU7XHJcbiAgICBjb25zdCBuZWFySGFsZkhlaWdodCA9IG5lYXJIYWxmV2lkdGggLyB0aGlzLmlucHV0cy5hc3BlY3Q7XHJcbiAgICBjb25zdCBmYXJIYWxmSGVpZ2h0ID0gZmFySGFsZldpZHRoIC8gdGhpcy5pbnB1dHMuYXNwZWN0O1xyXG5cclxuICAgIGNvbnN0IHBvc2l0aW9ucyA9IGJveEdlb21ldHJ5LmdldEF0dHJpYnV0ZSgncG9zaXRpb24nKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvc2l0aW9ucy5jb3VudDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHZlcnRleFogPSBwb3NpdGlvbnMuZ2V0WihpKTtcclxuICAgICAgY29uc3QgdmVydGV4WCA9IHBvc2l0aW9ucy5nZXRYKGkpO1xyXG4gICAgICBjb25zdCB2ZXJ0ZXhZID0gcG9zaXRpb25zLmdldFkoaSk7XHJcbiAgICAgIGlmICh2ZXJ0ZXhaID4gMCkge1xyXG4gICAgICAgIC8vIGJhY2sgb2YgdGhlIGNhbWVyYVxyXG4gICAgICAgIHBvc2l0aW9ucy5zZXRYKGksIHZlcnRleFggKiBuZWFySGFsZldpZHRoKVxyXG4gICAgICAgIHBvc2l0aW9ucy5zZXRZKGksIHZlcnRleFkgKiBuZWFySGFsZkhlaWdodCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gZnJvbnQgb2YgdGhlIGNhbWVyYVxyXG4gICAgICAgIHBvc2l0aW9ucy5zZXRYKGksIHZlcnRleFggKiBmYXJIYWxmV2lkdGgpXHJcbiAgICAgICAgcG9zaXRpb25zLnNldFkoaSwgdmVydGV4WSAqIGZhckhhbGZIZWlnaHQpO1xyXG4gICAgICB9XHJcbiAgICAgIHBvc2l0aW9ucy5zZXRaKGksIHZlcnRleFogLSAwLjUgKiBmcnVzdHVtTGVuZ3RoIC0gdGhpcy5pbnB1dHMubmVhclBsYW5lKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBib3hNYXRlcmlhbDogTWVzaEJhc2ljTWF0ZXJpYWwgPSBuZXcgTWVzaEJhc2ljTWF0ZXJpYWwoe1xyXG4gICAgICBjb2xvcjogdGhpcy5pbnB1dHMuY29sb3IsXHJcbiAgICAgIG9wYWNpdHk6IDAuMzUsXHJcbiAgICAgIHRyYW5zcGFyZW50OiB0cnVlLFxyXG4gICAgICBzaWRlOiBCYWNrU2lkZSxcclxuICAgICAgYmxlbmRpbmc6IE5vcm1hbEJsZW5kaW5nLFxyXG4gICAgICBkZXB0aFdyaXRlOiBmYWxzZSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5ib3ggPSBuZXcgTWVzaChib3hHZW9tZXRyeSwgYm94TWF0ZXJpYWwpO1xyXG4gICAgY29uc3QgZWRnZXNHZW9tZXRyeSA9IGVkZ2VzVG9DeWxpbmRlcnMobmV3IEVkZ2VzR2VvbWV0cnkoYm94R2VvbWV0cnkpLCAwLjAxNSk7XHJcbiAgICB0aGlzLmVkZ2VzID0gbmV3IE1lc2goZWRnZXNHZW9tZXRyeSwgbmV3IE1lc2hCYXNpY01hdGVyaWFsKHtcclxuICAgICAgY29sb3I6IDB4ZmZmZmZmLFxyXG4gICAgICBvcGFjaXR5OiAwLjI1LFxyXG4gICAgICB0cmFuc3BhcmVudDogdHJ1ZSxcclxuICAgICAgYmxlbmRpbmc6IEFkZGl0aXZlQmxlbmRpbmcsXHJcbiAgICAgIGRlcHRoV3JpdGU6IGZhbHNlLFxyXG4gICAgfSkpO1xyXG5cclxuICAgIGNvbnN0IGVkZ2VzR2VvbWV0cnkyID0gZWRnZXNUb0N5bGluZGVycyhuZXcgRWRnZXNHZW9tZXRyeShib3hHZW9tZXRyeSksIDAuMDYpO1xyXG4gICAgY29uc3QgZWRnZXMyID0gbmV3IE1lc2goZWRnZXNHZW9tZXRyeTIsIG5ldyBNZXNoQmFzaWNNYXRlcmlhbCh7XHJcbiAgICAgIGNvbG9yOiB0aGlzLmlucHV0cy5jb2xvcixcclxuICAgICAgb3BhY2l0eTogMC4zNSxcclxuICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXHJcbiAgICAgIGJsZW5kaW5nOiBBZGRpdGl2ZUJsZW5kaW5nLFxyXG4gICAgICBkZXB0aFdyaXRlOiBmYWxzZSxcclxuICAgIH0pKTtcclxuICAgIHRoaXMucGl2b3QuYWRkKGVkZ2VzMik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1ha2VIaWdobGlnaHQoKSB7XHJcblxyXG4gICAgbGV0IGZsb29yTWVzaCA9IG51bGw7XHJcbiAgICBmbG9vck1lc2ggPSB0aGlzLmNvbnRleHQuc2NlbmUuZ2V0T2JqZWN0QnlOYW1lKCdGbG9vck1lc2g6MCcpO1xyXG4gICAgY29uc3Qgcm9vbU1lc2ggPSBmbG9vck1lc2guY2hpbGRyZW5bNV0gYXMgTWVzaDtcclxuXHJcbiAgICB1cGRhdGVIaWdobGlnaHRVbmlmb3Jtcyh0aGlzLnByb2plY3RvciwgdGhpcy5oaWdobGlnaHRVbmlmb3Jtcyk7XHJcbiAgICB0aGlzLmhpZ2hsaWdodFVuaWZvcm1zLmNvbG9yLnZhbHVlLnNldEhleCh0aGlzLmlucHV0cy5jb2xvcik7XHJcblxyXG4gICAgY29uc3Qgc2hhZGVyID0gbmV3IFNoYWRlck1hdGVyaWFsKHtcclxuICAgICAgcG9seWdvbk9mZnNldDogdHJ1ZSxcclxuICAgICAgcG9seWdvbk9mZnNldFVuaXRzOiAtMC4xLFxyXG4gICAgICB0cmFuc3BhcmVudDogdHJ1ZSxcclxuICAgICAgdW5pZm9ybXM6IHRoaXMuaGlnaGxpZ2h0VW5pZm9ybXMsXHJcbiAgICAgIHZlcnRleFNoYWRlcjogdmVydGV4U2hhZGVyKCksXHJcbiAgICAgIGZyYWdtZW50U2hhZGVyOiBmcmFnbWVudFNoYWRlcigpLFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gYSBtZXNoIHRvIHJlcHJlc2VudCB0aGUgXCJoaWdobGlnaHRcIlxyXG4gICAgdGhpcy5oaWdobGlnaHQgPSBuZXcgTWVzaChyb29tTWVzaC5nZW9tZXRyeSwgc2hhZGVyKTtcclxuXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBvbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5oaWdobGlnaHQgJiYgdGhpcy5oaWdobGlnaHQucGFyZW50KSB7XHJcbiAgICAgIHRoaXMuaGlnaGxpZ2h0LnBhcmVudC5yZW1vdmUodGhpcy5oaWdobGlnaHQpO1xyXG4gICAgICAodGhpcy5oaWdobGlnaHQubWF0ZXJpYWwgYXMgU2hhZGVyTWF0ZXJpYWwpLmRpc3Bvc2UoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmVkZ2VzKSB7XHJcbiAgICAgIHRoaXMuZWRnZXMuZ2VvbWV0cnkuZGlzcG9zZSgpO1xyXG4gICAgICAodGhpcy5lZGdlcy5tYXRlcmlhbCBhcyBMaW5lQmFzaWNNYXRlcmlhbCkuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYm94KSB7XHJcbiAgICAgIHRoaXMuYm94Lmdlb21ldHJ5LmRpc3Bvc2UoKTtcclxuICAgICAgKHRoaXMuYm94Lm1hdGVyaWFsIGFzIE1lc2hCYXNpY01hdGVyaWFsKS5kaXNwb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiB2ZXJ0ZXhTaGFkZXIoKTogc3RyaW5nIHtcclxuICByZXR1cm4gYFxyXG4gICAgdW5pZm9ybSBtYXQ0IGxpZ2h0TWF0cml4O1xyXG5cclxuICAgIHZhcnlpbmcgdmVjNCB2TGlnaHRDb29yZHM7XHJcblxyXG4gICAgdm9pZCBtYWluKCkge1xyXG4gICAgICAvLyBjcmVhdGUgYSBVViByZWdpb24gWzAsMV0geCBbMCwxXSB0byByZXByZXNlbnQgd2hhdCB0aGUgbGlnaHRNYXRyaXggXCJzZWVzXCJcclxuICAgICAgdkxpZ2h0Q29vcmRzID0gbGlnaHRNYXRyaXggKiAgbW9kZWxNYXRyaXggKiB2ZWM0KHBvc2l0aW9uLCAxLjApO1xyXG4gICAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KHBvc2l0aW9uLCAxLjApO1xyXG4gICAgfVxyXG4gIGA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZyYWdtZW50U2hhZGVyKCkge1xyXG4gIHJldHVybiBgXHJcbiAgICB1bmlmb3JtIHZlYzMgY29sb3I7XHJcblxyXG4gICAgdmFyeWluZyB2ZWM0IHZMaWdodENvb3JkcztcclxuXHJcbiAgICB2b2lkIG1haW4oKSB7XHJcbiAgICAgIHZlYzIgbGlnaHRVViA9IHZMaWdodENvb3Jkcy54eSAvIHZMaWdodENvb3Jkcy53O1xyXG4gICAgICBmbG9hdCBpblZpZXcgPSBmbG9hdChtYXgobGlnaHRVVi54LCBsaWdodFVWLnkpIDw9IDEuMCAmJiBtaW4obGlnaHRVVi54LCBsaWdodFVWLnkpID49IDAuMCAmJiB2TGlnaHRDb29yZHMueiA+IDAuMCk7XHJcblxyXG4gICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9yLCBtaW4oaW5WaWV3LCAwLjIpKTtcclxuICAgIH1cclxuICBgO1xyXG59XHJcblxyXG5mdW5jdGlvbiB1cGRhdGVIaWdobGlnaHRVbmlmb3Jtcyhwcm9qZWN0b3I6IFBlcnNwZWN0aXZlQ2FtZXJhLCB1bmlmb3JtczogSGlnaGxpZ2h0VW5pZm9ybXMpIHtcclxuICBwcm9qZWN0b3IuZ2V0V29ybGRQb3NpdGlvbih1bmlmb3Jtcy5wcm9qUG9zaXRpb24udmFsdWUpO1xyXG5cclxuICAvLyBzaW1pbGFyIHRvIGEgc2hhZG93IG1hdHJpeCwgYnV0IHdlJ3JlIHVzaW5nIGl0IGFzIGEgXCJyZWN0YW5ndWxhclwiIHNwb3RsaWdodFxyXG4gIC8vIFtsaWdodEJpYXNdICogW3Byb2plY3Rpb25dICogW3ZpZXdNYXRyaXhdXHJcbiAgdW5pZm9ybXMubGlnaHRNYXRyaXgudmFsdWUubWFrZVNjYWxlKDAuNSwgMC41LCAwLjUpO1xyXG4gIHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLnNldFBvc2l0aW9uKG5ldyBWZWN0b3IzKDAuNSwgMC41LCAwLjUpKVxyXG4gIHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLm11bHRpcGx5TWF0cmljZXModW5pZm9ybXMubGlnaHRNYXRyaXgudmFsdWUsIHByb2plY3Rvci5wcm9qZWN0aW9uTWF0cml4KTtcclxuICB1bmlmb3Jtcy5saWdodE1hdHJpeC52YWx1ZS5tdWx0aXBseU1hdHJpY2VzKHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLCBwcm9qZWN0b3IubWF0cml4V29ybGRJbnZlcnNlKTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFZpZXdGcnVzdHVtTWVzaFR5cGUgPSAnbXAuVmlld0ZydXN0dW1NZXNoJztcclxuZXhwb3J0IGNvbnN0IG1ha2VWaWV3RnJ1c3R1bU1lc2ggPSBmdW5jdGlvbiAoKSB7XHJcbiAgcmV0dXJuIG5ldyBWaWV3RnJ1c3R1bU1lc2goKTtcclxufVxyXG4iXX0=
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlld0ZydXN0dW1NZXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9tYXR0ZXJwb3J0LWV4dGVuc2lvbnMvdmlldy1mcnVzdHVtLW1lc2gvVmlld0ZydXN0dW1NZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFdBQVcsRUFFWCxhQUFhLEVBQ2IsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsS0FBSyxFQUNMLHNCQUFzQixFQUN0QixRQUFRLEVBQ1IsY0FBYyxFQUNkLGdCQUFnQixHQUNqQixNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxpREFBaUQsQ0FBQTtBQUN0RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFvQmpFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7SUFFekMsSUFBSSxHQUFvQixJQUFJLENBQUM7SUFDN0IsS0FBSyxHQUFvQixJQUFJLENBQUM7SUFDOUIsR0FBRyxHQUFnQixJQUFJLENBQUM7SUFDeEIsS0FBSyxHQUFnQixJQUFJLENBQUM7SUFFMUIsU0FBUyxDQUFvQjtJQUU1QixNQUFNLEdBQVc7UUFDeEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsVUFBVSxFQUFFLEVBQUU7UUFDZCxlQUFlLEVBQUUsRUFBRTtRQUNuQixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLGVBQWUsRUFBRTtZQUNmLEdBQUcsRUFBRSxDQUFDO1lBQ04sR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsQ0FBQyxHQUFHO1NBQ1Y7UUFDRCxlQUFlLEVBQUU7WUFDZixHQUFHLEVBQUUsQ0FBQyxFQUFFO1lBQ1IsR0FBRyxFQUFFLENBQUM7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QyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDcEcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDeEcsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLE9BQU8sSUFBSSxlQUFlLEVBQUUsQ0FBQztBQUMvQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBPYmplY3QzRCxcbiAgTWVzaCxcbiAgUGVyc3BlY3RpdmVDYW1lcmEsXG4gIFNoYWRlck1hdGVyaWFsLFxuICBNZXNoQmFzaWNNYXRlcmlhbCxcbiAgQm94R2VvbWV0cnksXG4gIExpbmVCYXNpY01hdGVyaWFsLFxuICBFZGdlc0dlb21ldHJ5LFxuICBDb2xvcixcbiAgTWF0cml4NCxcbiAgVmVjdG9yMyxcbiAgRXVsZXIsXG4gIEN5bGluZGVyQnVmZmVyR2VvbWV0cnksXG4gIEJhY2tTaWRlLFxuICBOb3JtYWxCbGVuZGluZyxcbiAgQWRkaXRpdmVCbGVuZGluZyxcbn0gZnJvbSAndGhyZWUnO1xuaW1wb3J0ICogYXMgQnVmZmVyR2VvbWV0cnlVdGlscyBmcm9tICd0aHJlZS9leGFtcGxlcy9qc20vdXRpbHMvQnVmZmVyR2VvbWV0cnlVdGlscy5qcydcbmltcG9ydCB7U2NlbmVDb21wb25lbnR9IGZyb20gJy4uL3NjZW5lLWNvbXBvbmVudC9TY2VuZUNvbXBvbmVudCc7XG5cbmludGVyZmFjZSBJbnB1dHMge1xuICBuZWFyUGxhbmU6IG51bWJlcjtcbiAgZmFyUGxhbmU6IG51bWJlcixcbiAgaG9yaXpvbnRhbEZPVjogbnVtYmVyLFxuICBhc3BlY3Q6IG51bWJlcixcbiAgbG9jYWxQb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyOyB9O1xuICBsb2NhbFJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XG4gIGNvbG9yOiBudW1iZXI7XG4gIHBhblBlcmlvZDogbnVtYmVyO1xuICBwYW5BbmdsZTogbnVtYmVyO1xufVxuXG50eXBlIEhpZ2hsaWdodFVuaWZvcm1zID0ge1xuICBjb2xvcjogeyB2YWx1ZTogQ29sb3IgfSxcbiAgcHJvalBvc2l0aW9uOiB7IHZhbHVlOiBWZWN0b3IzIH07XG4gIGxpZ2h0TWF0cml4OiB7IHZhbHVlOiBNYXRyaXg0IH07XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyB0aGUgZXh0cmFjdGVkIFZpZXcgRnJ1c3R1bSBNZXNoIGZyb21cbiAqIFNlY3VyaXR5Q2FtZXJhIGV4YW1wbGVcbiAqL1xuZXhwb3J0IGNsYXNzIFZpZXdGcnVzdHVtTWVzaCBleHRlbmRzIFNjZW5lQ29tcG9uZW50IHtcblxuICBwcml2YXRlIHJvb3Q6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcGl2b3Q6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgYm94OiBNZXNoIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZWRnZXM6IE1lc2ggfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHByb2plY3RvcjogUGVyc3BlY3RpdmVDYW1lcmE7XG5cbiAgb3ZlcnJpZGUgaW5wdXRzOiBJbnB1dHMgPSB7XG4gICAgXCJuZWFyUGxhbmVcIjogMC4xLFxuICAgIFwiZmFyUGxhbmVcIjogMTAsXG4gICAgXCJob3Jpem9udGFsRk9WXCI6IDUyLFxuICAgIFwiYXNwZWN0XCI6IDEuNzc3Nzc3Nzc3Nzc3Nzc3NyxcbiAgICBcImxvY2FsUG9zaXRpb25cIjoge1xuICAgICAgXCJ4XCI6IDAsXG4gICAgICBcInlcIjogMC4xOCxcbiAgICAgIFwielwiOiAtMC4zXG4gICAgfSxcbiAgICBcImxvY2FsUm90YXRpb25cIjoge1xuICAgICAgXCJ4XCI6IC0xNSxcbiAgICAgIFwieVwiOiAwLFxuICAgICAgXCJ6XCI6IDBcbiAgICB9LFxuICAgIFwiY29sb3JcIjogNjUyODAsXG4gICAgXCJwYW5QZXJpb2RcIjogNSxcbiAgICBcInBhbkFuZ2xlXCI6IC00NVxuICB9O1xuXG4gIHByaXZhdGUgaGlnaGxpZ2h0OiBNZXNoIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBoaWdobGlnaHRVbmlmb3JtczogSGlnaGxpZ2h0VW5pZm9ybXMgPSB7XG4gICAgY29sb3I6IHt2YWx1ZTogbmV3IENvbG9yKCl9LFxuICAgIHByb2pQb3NpdGlvbjoge3ZhbHVlOiBuZXcgVmVjdG9yMygpfSxcbiAgICBsaWdodE1hdHJpeDoge3ZhbHVlOiBuZXcgTWF0cml4NCgpfSxcbiAgfVxuICBvdmVycmlkZSBvdXRwdXRzOiBhbnkgPSB7fTtcblxuICBvdmVycmlkZSBvbkluaXQoKSB7XG5cbiAgICB0aGlzLnJvb3QgPSBuZXcgT2JqZWN0M0QoKTtcbiAgICB0aGlzLnBpdm90ID0gbmV3IE9iamVjdDNEKCk7XG4gICAgdGhpcy5yb290LmFkZCh0aGlzLnBpdm90KTtcbiAgICB0aGlzLm91dHB1dHMub2JqZWN0Um9vdCA9IHRoaXMucm9vdDtcblxuICAgIGNvbnN0IGV1bGVyID0gbmV3IEV1bGVyKHRoaXMuaW5wdXRzLmxvY2FsUm90YXRpb24ueCAqIE1hdGguUEkgLyAxODAsIHRoaXMuaW5wdXRzLmxvY2FsUm90YXRpb24ueSAqIE1hdGguUEkgLyAxODAsIHRoaXMuaW5wdXRzLmxvY2FsUm90YXRpb24ueiAqIE1hdGguUEkgLyAxODAsICdZWFonKTtcbiAgICB0aGlzLnBpdm90LnF1YXRlcm5pb24uc2V0RnJvbUV1bGVyKGV1bGVyKTtcblxuICAgIHRoaXMubWFrZUZydXN0dW1WaXN1YWxzKCk7XG5cbiAgICB0aGlzLnBpdm90LmFkZCh0aGlzLmJveCk7XG4gICAgdGhpcy5waXZvdC5hZGQodGhpcy5lZGdlcyk7XG5cbiAgICBjb25zdCBhc3BlY3QgPSB0aGlzLmlucHV0cy5hc3BlY3Q7XG4gICAgY29uc3QgREVHMlJBRCA9IE1hdGguUEkgLyAxODA7XG4gICAgY29uc3QgUkFEMkRFRyA9IDEgLyBERUcyUkFEO1xuICAgIGNvbnN0IHZlcnRpY2FsRk9WID0gMiAqIE1hdGguYXRhbigxIC8gYXNwZWN0ICogTWF0aC50YW4oMC41ICogdGhpcy5pbnB1dHMuaG9yaXpvbnRhbEZPViAqIERFRzJSQUQpKSAqIFJBRDJERUc7XG4gICAgdGhpcy5wcm9qZWN0b3IgPSBuZXcgUGVyc3BlY3RpdmVDYW1lcmEodmVydGljYWxGT1YsIGFzcGVjdCwgdGhpcy5pbnB1dHMubmVhclBsYW5lLCB0aGlzLmlucHV0cy5mYXJQbGFuZSk7XG4gICAgdGhpcy5waXZvdC5hZGQodGhpcy5wcm9qZWN0b3IpO1xuXG4gICAgdGhpcy5tYWtlSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy5jb250ZXh0LnNjZW5lLmFkZCh0aGlzLmhpZ2hsaWdodCk7XG5cbiAgfVxuXG5cbiAgb25UaWNrTW9kaWZpZWQoZGVsdGE6IG51bWJlciwgcXVhdGVybmlvbjogYW55KSB7XG4gICAgdGhpcy5waXZvdC5xdWF0ZXJuaW9uLnNldChxdWF0ZXJuaW9uLngscXVhdGVybmlvbi55LHF1YXRlcm5pb24ueixxdWF0ZXJuaW9uLncpO1xuICAgIHVwZGF0ZUhpZ2hsaWdodFVuaWZvcm1zKHRoaXMucHJvamVjdG9yLCB0aGlzLmhpZ2hsaWdodFVuaWZvcm1zKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFrZUZydXN0dW1WaXN1YWxzKCkge1xuICAgIGlmICh0aGlzLmJveCkge1xuICAgICAgdGhpcy5yb290LnJlbW92ZSh0aGlzLmJveCk7XG4gICAgICAodGhpcy5ib3gubWF0ZXJpYWwgYXMgTWVzaEJhc2ljTWF0ZXJpYWwpLmRpc3Bvc2UoKTtcbiAgICAgICh0aGlzLmJveC5nZW9tZXRyeSBhcyBCb3hHZW9tZXRyeSkuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5ib3ggPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5lZGdlcykge1xuICAgICAgdGhpcy5yb290LnJlbW92ZSh0aGlzLmVkZ2VzKTtcbiAgICAgICh0aGlzLmVkZ2VzLm1hdGVyaWFsIGFzIExpbmVCYXNpY01hdGVyaWFsKS5kaXNwb3NlKCk7XG4gICAgICAodGhpcy5lZGdlcy5nZW9tZXRyeSBhcyBFZGdlc0dlb21ldHJ5KS5kaXNwb3NlKCk7XG4gICAgICB0aGlzLmVkZ2VzID0gbnVsbDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBlZGdlc1RvQ3lsaW5kZXJzKGVkZ2VzR2VvbWV0cnk6IEVkZ2VzR2VvbWV0cnksIHRoaWNrbmVzczogbnVtYmVyKSB7XG4gICAgICBjb25zdCB7cG9zaXRpb259ID0gZWRnZXNHZW9tZXRyeS5hdHRyaWJ1dGVzO1xuICAgICAgY29uc3Qge2FycmF5LCBjb3VudH0gPSBwb3NpdGlvbjtcbiAgICAgIGNvbnN0IHIgPSB0aGlja25lc3MgLyAyO1xuICAgICAgY29uc3QgZ2VvbXMgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQgKiAzIC0gMTsgaSArPSA2KSB7XG4gICAgICAgIGNvbnN0IGEgPSBuZXcgVmVjdG9yMyhhcnJheVtpXSwgYXJyYXlbaSArIDFdLCBhcnJheVtpICsgMl0pO1xuICAgICAgICBjb25zdCBiID0gbmV3IFZlY3RvcjMoYXJyYXlbaSArIDNdLCBhcnJheVtpICsgNF0sIGFycmF5W2kgKyA1XSk7XG5cbiAgICAgICAgY29uc3QgdmVjID0gbmV3IFZlY3RvcjMoKS5zdWJWZWN0b3JzKGIsIGEpO1xuICAgICAgICBjb25zdCBsZW4gPSB2ZWMubGVuZ3RoKCk7XG4gICAgICAgIGNvbnN0IGdlb20gPSBuZXcgQ3lsaW5kZXJCdWZmZXJHZW9tZXRyeShyLCByLCBsZW4sIDgpO1xuICAgICAgICBnZW9tLnRyYW5zbGF0ZSgwLCBsZW4gLyAyLCAwKTtcbiAgICAgICAgZ2VvbS5yb3RhdGVYKE1hdGguUEkgLyAyKTtcbiAgICAgICAgZ2VvbS5sb29rQXQodmVjKTtcbiAgICAgICAgZ2VvbS50cmFuc2xhdGUoYS54LCBhLnksIGEueik7XG4gICAgICAgIGdlb21zLnB1c2goZ2VvbSk7XG4gICAgICB9XG4gICAgICAvLyBBUEkgdG8gYmUgdXBkYXRlZCBpbiBidW5kbGUgLSBKU1NESy0xMjIyXG4gICAgICByZXR1cm4gQnVmZmVyR2VvbWV0cnlVdGlscy5tZXJnZUJ1ZmZlckdlb21ldHJpZXMoZ2VvbXMpO1xuICAgIH1cblxuICAgIGNvbnN0IGZydXN0dW1MZW5ndGggPSB0aGlzLmlucHV0cy5mYXJQbGFuZSAtIHRoaXMuaW5wdXRzLm5lYXJQbGFuZTtcbiAgICBjb25zdCBib3hHZW9tZXRyeTogQm94R2VvbWV0cnkgPSBuZXcgQm94R2VvbWV0cnkoMiwgMiwgZnJ1c3R1bUxlbmd0aCk7XG4gICAgY29uc3QgaGFsZkhBbmdsZSA9IHRoaXMuaW5wdXRzLmhvcml6b250YWxGT1YgKiAwLjUgKiBNYXRoLlBJIC8gMTgwO1xuICAgIGNvbnN0IG5lYXJIYWxmV2lkdGggPSBNYXRoLnRhbihoYWxmSEFuZ2xlKSAqIHRoaXMuaW5wdXRzLm5lYXJQbGFuZTtcbiAgICBjb25zdCBmYXJIYWxmV2lkdGggPSBNYXRoLnRhbihoYWxmSEFuZ2xlKSAqIHRoaXMuaW5wdXRzLmZhclBsYW5lO1xuICAgIGNvbnN0IG5lYXJIYWxmSGVpZ2h0ID0gbmVhckhhbGZXaWR0aCAvIHRoaXMuaW5wdXRzLmFzcGVjdDtcbiAgICBjb25zdCBmYXJIYWxmSGVpZ2h0ID0gZmFySGFsZldpZHRoIC8gdGhpcy5pbnB1dHMuYXNwZWN0O1xuXG4gICAgY29uc3QgcG9zaXRpb25zID0gYm94R2VvbWV0cnkuZ2V0QXR0cmlidXRlKCdwb3NpdGlvbicpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3NpdGlvbnMuY291bnQ7IGkrKykge1xuICAgICAgY29uc3QgdmVydGV4WiA9IHBvc2l0aW9ucy5nZXRaKGkpO1xuICAgICAgY29uc3QgdmVydGV4WCA9IHBvc2l0aW9ucy5nZXRYKGkpO1xuICAgICAgY29uc3QgdmVydGV4WSA9IHBvc2l0aW9ucy5nZXRZKGkpO1xuICAgICAgaWYgKHZlcnRleFogPiAwKSB7XG4gICAgICAgIC8vIGJhY2sgb2YgdGhlIGNhbWVyYVxuICAgICAgICBwb3NpdGlvbnMuc2V0WChpLCB2ZXJ0ZXhYICogbmVhckhhbGZXaWR0aClcbiAgICAgICAgcG9zaXRpb25zLnNldFkoaSwgdmVydGV4WSAqIG5lYXJIYWxmSGVpZ2h0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGZyb250IG9mIHRoZSBjYW1lcmFcbiAgICAgICAgcG9zaXRpb25zLnNldFgoaSwgdmVydGV4WCAqIGZhckhhbGZXaWR0aClcbiAgICAgICAgcG9zaXRpb25zLnNldFkoaSwgdmVydGV4WSAqIGZhckhhbGZIZWlnaHQpO1xuICAgICAgfVxuICAgICAgcG9zaXRpb25zLnNldFooaSwgdmVydGV4WiAtIDAuNSAqIGZydXN0dW1MZW5ndGggLSB0aGlzLmlucHV0cy5uZWFyUGxhbmUpO1xuICAgIH1cblxuICAgIGNvbnN0IGJveE1hdGVyaWFsOiBNZXNoQmFzaWNNYXRlcmlhbCA9IG5ldyBNZXNoQmFzaWNNYXRlcmlhbCh7XG4gICAgICBjb2xvcjogdGhpcy5pbnB1dHMuY29sb3IsXG4gICAgICBvcGFjaXR5OiAwLjM1LFxuICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXG4gICAgICBzaWRlOiBCYWNrU2lkZSxcbiAgICAgIGJsZW5kaW5nOiBOb3JtYWxCbGVuZGluZyxcbiAgICAgIGRlcHRoV3JpdGU6IGZhbHNlLFxuICAgIH0pO1xuICAgIHRoaXMuYm94ID0gbmV3IE1lc2goYm94R2VvbWV0cnksIGJveE1hdGVyaWFsKTtcbiAgICBjb25zdCBlZGdlc0dlb21ldHJ5ID0gZWRnZXNUb0N5bGluZGVycyhuZXcgRWRnZXNHZW9tZXRyeShib3hHZW9tZXRyeSksIDAuMDE1KTtcbiAgICB0aGlzLmVkZ2VzID0gbmV3IE1lc2goZWRnZXNHZW9tZXRyeSwgbmV3IE1lc2hCYXNpY01hdGVyaWFsKHtcbiAgICAgIGNvbG9yOiAweGZmZmZmZixcbiAgICAgIG9wYWNpdHk6IDAuMjUsXG4gICAgICB0cmFuc3BhcmVudDogdHJ1ZSxcbiAgICAgIGJsZW5kaW5nOiBBZGRpdGl2ZUJsZW5kaW5nLFxuICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgfSkpO1xuXG4gICAgY29uc3QgZWRnZXNHZW9tZXRyeTIgPSBlZGdlc1RvQ3lsaW5kZXJzKG5ldyBFZGdlc0dlb21ldHJ5KGJveEdlb21ldHJ5KSwgMC4wNik7XG4gICAgY29uc3QgZWRnZXMyID0gbmV3IE1lc2goZWRnZXNHZW9tZXRyeTIsIG5ldyBNZXNoQmFzaWNNYXRlcmlhbCh7XG4gICAgICBjb2xvcjogdGhpcy5pbnB1dHMuY29sb3IsXG4gICAgICBvcGFjaXR5OiAwLjM1LFxuICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXG4gICAgICBibGVuZGluZzogQWRkaXRpdmVCbGVuZGluZyxcbiAgICAgIGRlcHRoV3JpdGU6IGZhbHNlLFxuICAgIH0pKTtcbiAgICB0aGlzLnBpdm90LmFkZChlZGdlczIpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlSGlnaGxpZ2h0KCkge1xuXG4gICAgbGV0IGZsb29yTWVzaCA9IG51bGw7XG4gICAgZmxvb3JNZXNoID0gdGhpcy5jb250ZXh0LnNjZW5lLmdldE9iamVjdEJ5TmFtZSgnRmxvb3JNZXNoOjAnKTtcbiAgICBjb25zdCByb29tTWVzaCA9IGZsb29yTWVzaC5jaGlsZHJlbls1XSBhcyBNZXNoO1xuXG4gICAgdXBkYXRlSGlnaGxpZ2h0VW5pZm9ybXModGhpcy5wcm9qZWN0b3IsIHRoaXMuaGlnaGxpZ2h0VW5pZm9ybXMpO1xuICAgIHRoaXMuaGlnaGxpZ2h0VW5pZm9ybXMuY29sb3IudmFsdWUuc2V0SGV4KHRoaXMuaW5wdXRzLmNvbG9yKTtcblxuICAgIGNvbnN0IHNoYWRlciA9IG5ldyBTaGFkZXJNYXRlcmlhbCh7XG4gICAgICBwb2x5Z29uT2Zmc2V0OiB0cnVlLFxuICAgICAgcG9seWdvbk9mZnNldFVuaXRzOiAtMC4xLFxuICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXG4gICAgICB1bmlmb3JtczogdGhpcy5oaWdobGlnaHRVbmlmb3JtcyxcbiAgICAgIHZlcnRleFNoYWRlcjogdmVydGV4U2hhZGVyKCksXG4gICAgICBmcmFnbWVudFNoYWRlcjogZnJhZ21lbnRTaGFkZXIoKSxcbiAgICB9KTtcblxuICAgIC8vIGEgbWVzaCB0byByZXByZXNlbnQgdGhlIFwiaGlnaGxpZ2h0XCJcbiAgICB0aGlzLmhpZ2hsaWdodCA9IG5ldyBNZXNoKHJvb21NZXNoLmdlb21ldHJ5LCBzaGFkZXIpO1xuXG4gIH1cblxuICBvdmVycmlkZSBvbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0ICYmIHRoaXMuaGlnaGxpZ2h0LnBhcmVudCkge1xuICAgICAgdGhpcy5oaWdobGlnaHQucGFyZW50LnJlbW92ZSh0aGlzLmhpZ2hsaWdodCk7XG4gICAgICAodGhpcy5oaWdobGlnaHQubWF0ZXJpYWwgYXMgU2hhZGVyTWF0ZXJpYWwpLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZWRnZXMpIHtcbiAgICAgIHRoaXMuZWRnZXMuZ2VvbWV0cnkuZGlzcG9zZSgpO1xuICAgICAgKHRoaXMuZWRnZXMubWF0ZXJpYWwgYXMgTGluZUJhc2ljTWF0ZXJpYWwpLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYm94KSB7XG4gICAgICB0aGlzLmJveC5nZW9tZXRyeS5kaXNwb3NlKCk7XG4gICAgICAodGhpcy5ib3gubWF0ZXJpYWwgYXMgTWVzaEJhc2ljTWF0ZXJpYWwpLmRpc3Bvc2UoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdmVydGV4U2hhZGVyKCk6IHN0cmluZyB7XG4gIHJldHVybiBgXG4gICAgdW5pZm9ybSBtYXQ0IGxpZ2h0TWF0cml4O1xuXG4gICAgdmFyeWluZyB2ZWM0IHZMaWdodENvb3JkcztcblxuICAgIHZvaWQgbWFpbigpIHtcbiAgICAgIC8vIGNyZWF0ZSBhIFVWIHJlZ2lvbiBbMCwxXSB4IFswLDFdIHRvIHJlcHJlc2VudCB3aGF0IHRoZSBsaWdodE1hdHJpeCBcInNlZXNcIlxuICAgICAgdkxpZ2h0Q29vcmRzID0gbGlnaHRNYXRyaXggKiAgbW9kZWxNYXRyaXggKiB2ZWM0KHBvc2l0aW9uLCAxLjApO1xuICAgICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogbW9kZWxWaWV3TWF0cml4ICogdmVjNChwb3NpdGlvbiwgMS4wKTtcbiAgICB9XG4gIGA7XG59XG5cbmZ1bmN0aW9uIGZyYWdtZW50U2hhZGVyKCkge1xuICByZXR1cm4gYFxuICAgIHVuaWZvcm0gdmVjMyBjb2xvcjtcblxuICAgIHZhcnlpbmcgdmVjNCB2TGlnaHRDb29yZHM7XG5cbiAgICB2b2lkIG1haW4oKSB7XG4gICAgICB2ZWMyIGxpZ2h0VVYgPSB2TGlnaHRDb29yZHMueHkgLyB2TGlnaHRDb29yZHMudztcbiAgICAgIGZsb2F0IGluVmlldyA9IGZsb2F0KG1heChsaWdodFVWLngsIGxpZ2h0VVYueSkgPD0gMS4wICYmIG1pbihsaWdodFVWLngsIGxpZ2h0VVYueSkgPj0gMC4wICYmIHZMaWdodENvb3Jkcy56ID4gMC4wKTtcblxuICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNChjb2xvciwgbWluKGluVmlldywgMC4yKSk7XG4gICAgfVxuICBgO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVIaWdobGlnaHRVbmlmb3Jtcyhwcm9qZWN0b3I6IFBlcnNwZWN0aXZlQ2FtZXJhLCB1bmlmb3JtczogSGlnaGxpZ2h0VW5pZm9ybXMpIHtcbiAgcHJvamVjdG9yLmdldFdvcmxkUG9zaXRpb24odW5pZm9ybXMucHJvalBvc2l0aW9uLnZhbHVlKTtcblxuICAvLyBzaW1pbGFyIHRvIGEgc2hhZG93IG1hdHJpeCwgYnV0IHdlJ3JlIHVzaW5nIGl0IGFzIGEgXCJyZWN0YW5ndWxhclwiIHNwb3RsaWdodFxuICAvLyBbbGlnaHRCaWFzXSAqIFtwcm9qZWN0aW9uXSAqIFt2aWV3TWF0cml4XVxuICB1bmlmb3Jtcy5saWdodE1hdHJpeC52YWx1ZS5tYWtlU2NhbGUoMC41LCAwLjUsIDAuNSk7XG4gIHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLnNldFBvc2l0aW9uKG5ldyBWZWN0b3IzKDAuNSwgMC41LCAwLjUpKVxuICB1bmlmb3Jtcy5saWdodE1hdHJpeC52YWx1ZS5tdWx0aXBseU1hdHJpY2VzKHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLCBwcm9qZWN0b3IucHJvamVjdGlvbk1hdHJpeCk7XG4gIHVuaWZvcm1zLmxpZ2h0TWF0cml4LnZhbHVlLm11bHRpcGx5TWF0cmljZXModW5pZm9ybXMubGlnaHRNYXRyaXgudmFsdWUsIHByb2plY3Rvci5tYXRyaXhXb3JsZEludmVyc2UpO1xufVxuXG5leHBvcnQgY29uc3QgVmlld0ZydXN0dW1NZXNoVHlwZSA9ICdtcC5WaWV3RnJ1c3R1bU1lc2gnO1xuZXhwb3J0IGNvbnN0IG1ha2VWaWV3RnJ1c3R1bU1lc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBuZXcgVmlld0ZydXN0dW1NZXNoKCk7XG59XG4iXX0=
|
|
@@ -177,4 +177,4 @@ export class MattertagData {
|
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0dGVydGFnRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbWF0dGVydGFnRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFnQixtQkFBbUIsRUFBTyxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRixNQUFNLE9BQU8sYUFBYTtJQUVoQixNQUFNLENBQWU7SUFDckIsSUFBSSxHQUFZLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDaEMsU0FBUyxDQUFTO0lBQ2pCLFFBQVEsR0FBd0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JFLE1BQU0sR0FBd0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ25FLFFBQVEsQ0FBUztJQUNqQixPQUFPLENBQVM7SUFDakIsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNuQixRQUFRLEdBQW9DLElBQUksQ0FBQztJQUNqRCxHQUFHLENBQU07SUFFVCxhQUFhLEdBQWtCLElBQUksQ0FBQztJQUU1QyxZQUFZLElBQWE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O2lGQUU2RTtJQUU3RSxPQUFPLENBQUMsSUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUU1QyxTQUFTLENBQUMsTUFBb0IsRUFBRSxPQUFnQjtRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMs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Q3BCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB1bmljb3JuL2ZpbGVuYW1lLWNhc2UgKi9cclxuaW1wb3J0IHsgRGJPYmplY3RUeXBlLCBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLCBQT0ksIFBvaVR5cGUgfSBmcm9tIFwiLi90eXBlcy5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTWF0dGVydGFnRGF0YSB7XHJcblxyXG4gIHByaXZhdGUgb2JqZWN0OiBEYk9iamVjdFR5cGU7XHJcbiAgcHJpdmF0ZSB0eXBlOiBQb2lUeXBlID0gUG9pVHlwZS5USUNLRVQ7XHJcbiAgcHVibGljIGVsZW1lbnRJRDogc3RyaW5nO1xyXG4gIHByaXZhdGUgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlciB9ID0geyB4OiAwLCB5OiAwLCB6OiAwIH07XHJcbiAgcHJpdmF0ZSBub3JtYWw6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlciB9ID0geyB4OiAwLCB5OiAxLCB6OiAwIH07XHJcbiAgcHJpdmF0ZSBtZWRpYVNyYzogc3RyaW5nO1xyXG4gIHByaXZhdGUgc3dlZXBJRDogc3RyaW5nO1xyXG4gIHB1YmxpYyBjdXN0b21JY29uSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgcm90YXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgcG9pOiBQT0k7XHJcblxyXG4gIHByaXZhdGUgbWF0dGVycG9ydFNpZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHR5cGU6IFBvaVR5cGUpIHtcclxuICAgIHRoaXMuc2V0VHlwZSh0eXBlKTtcclxuICB9XHJcblxyXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBTZXR0ZXJzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbiAgc2V0VHlwZSh0eXBlOiBQb2lUeXBlKSB7IHRoaXMudHlwZSA9IHR5cGU7IH1cclxuXHJcbiAgc2V0T2JqZWN0KG9iamVjdDogRGJPYmplY3RUeXBlLCB0YWdUeXBlOiBQb2lUeXBlKSB7XHJcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcclxuICAgIHRoaXMuc2V0RWxlbWVudElEKG9iamVjdC5pZCk7XHJcbiAgICB0aGlzLnNldFR5cGUodGFnVHlwZSk7XHJcbiAgfVxyXG5cclxuICBzZXRFbGVtZW50SUQoaWQ6IHN0cmluZykgeyB0aGlzLmVsZW1lbnRJRCA9IGlkOyB9XHJcblxyXG4gIHNldFBvc2l0aW9uKHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXIgfSkge1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2V0Tm9ybWFsKG5vcm1hbDogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyIH0pIHtcclxuICAgIHRoaXMubm9ybWFsID0gbm9ybWFsO1xyXG4gIH1cclxuXHJcbiAgc2V0TWVkaWFTb3VyY2Uoc291cmNlOiBzdHJpbmcpIHsgdGhpcy5tZWRpYVNyYyA9IHNvdXJjZTsgfVxyXG4gIHNldFN3ZWVwSUQoc3dlZXBJRDogc3RyaW5nKSB7IHRoaXMuc3dlZXBJRCA9IHN3ZWVwSUQ7IH1cclxuICBzZXRSb3RhdGlvbihyb3RhdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9KSB7IHRoaXMucm90YXRpb24gPSByb3RhdGlvbjsgfVxyXG4gIHNldFBvaShwb2k6IFBPSSkgeyB0aGlzLnBvaSA9IHBvaTsgfVxyXG5cclxuICBzZXRNYXR0ZXJwb3J0U2lkKHNpZDogc3RyaW5nKSB7IHRoaXMubWF0dGVycG9ydFNpZCA9IHNpZDsgfVxyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgR2V0dGVyc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4gIGdldERhdGEoKSB7XHJcbiAgICBsZXQgbGFiZWwgPSBcIk5ldyBUYWdcIjtcclxuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XHJcbiAgICAgIGNhc2UgUG9pVHlwZS5USUNLRVQ6XHJcbiAgICAgIGNhc2UgUG9pVHlwZS5FUVVJUE1FTlQ6XHJcbiAgICAgIGNhc2UgUG9pVHlwZS5NRUFTVVJFOlxyXG4gICAgICBjYXNlIFBvaVR5cGUuREFUQTpcclxuICAgICAgY2FzZSBQb2lUeXBlLkRFU0s6XHJcbiAgICAgICAgbGFiZWwgPSB0aGlzLm9iamVjdCA/IFwiXCIgOiBcIk5ldyBUYWdcIjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBQb2lUeXBlLk9CSkVDVDNEOlxyXG4gICAgICAgIGxhYmVsID0gdGhpcy5vYmplY3QgPyBcIlwiIDogXCJDbGljayBvbiBibGlua2luZyBpY29uIHRvIGxvYWQgYSAzRCBvYmplY3QgaGVyZVwiO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFBvaVR5cGUuUk9PTTpcclxuICAgICAgICBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgbGFiZWwgPSBcIk5ldyBUYWdcIjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBsYWJlbCxcclxuICAgICAgZGVzY3JpcHRpb246IFwiXCIsXHJcbiAgICAgIGFuY2hvclBvc2l0aW9uOiB7IC4uLnRoaXMucG9zaXRpb24gfSxcclxuICAgICAgc3RlbVZlY3RvcjogdGhpcy5nZXRTdGVtVmVjdG9yKCksXHJcbiAgICAgIGNvbG9yOiB7IHI6IDEsIGc6IDEsIGI6IDEgfSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTYWZlbHkgcmV0cmlldmVzIHRoZSBkaXNwbGF5IG5hbWUgZGVwZW5kaW5nIG9uIG9iamVjdCBwcm9wZXJ0aWVzIChuYW1lLCB0aXRsZSlcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0RGlzcGxheU5hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5vYmplY3QpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMub2JqZWN0Lm5hbWUgfHwgdGhpcy5vYmplY3QudGl0bGUgfHwgJyc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIGRlc2NyaXB0b3IgZm9yIHNkay5UYWcuYWRkKC4uLmRlc2NyaXB0b3IpXHJcbiAgICogRm9ybWF0IDogW3sgbGFiZWwsIGRlc2NyaXB0aW9uLCBhbmNob3JQb3NpdGlvbiwgc3RlbVZlY3RvciwgY29sb3IsIGlkPyB9XVxyXG4gICAqIElmIG1hdHRlcnBvcnRTaWQgaXMgZGVmaW5lZCAoYWxyZWFkeSBrbm93biB0YWcpIHdlIHNlbmQgaXQgc28gdGhlIFNESyBcclxuICAgKiByZXVzZSBpdCBpbnN0ZWFkIG9mIHRyeWluZyB0byBjcmVhdGUgYSBuZXcgb25lIGFuZCBnZW5lcmF0ZSBhbiBlcnJvciA6IFwiYWxyZWFkeSBpbiB1c2VcIi5cclxuICAgKi9cclxuICBnZXRNYXR0ZXJ0YWdEZXNjcmlwdG9yKCk6IFtSZWNvcmQ8c3RyaW5nLCBhbnk+XSB7XHJcbiAgICBjb25zdCBiYXNlID0gdGhpcy5nZXREYXRhKCk7XHJcbiAgICBjb25zdCBkZXNjcmlwdG9yOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0geyAuLi5iYXNlIH07XHJcbiAgICBpZiAodGhpcy5tYXR0ZXJwb3J0U2lkKSB7XHJcbiAgICAgIGRlc2NyaXB0b3JbJ2lkJ10gPSB0aGlzLm1hdHRlcnBvcnRTaWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW2Rlc2NyaXB0b3JdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGRhdGEgZm9yIHNkay5UYWcuZWRpdFBvc2l0aW9uKCkgb3Igc2RrLlRhZy5lZGl0QmlsbGJvYXJkKCkuXHJcbiAgICovXHJcbiAgZ2V0VGFnU2RrRGF0YSgpOiB7IGFuY2hvclBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXIgfTsgc3RlbVZlY3RvcjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyIH0gfSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhbmNob3JQb3NpdGlvbjogeyAuLi50aGlzLnBvc2l0aW9uIH0sXHJcbiAgICAgIHN0ZW1WZWN0b3I6IHRoaXMuZ2V0U3RlbVZlY3RvcigpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKiBMb2FkIHRoZSBtYXR0ZXJwb3J0U2lkIGZyb20gdGhlIHBvaSBtZXRhZGF0YSAqL1xyXG4gIGxvYWRTaWRGcm9tUG9pKHBvaTogUE9JKTogdm9pZCB7XHJcbiAgICBpZiAoIXBvaT8ubWV0YWRhdGEpIHJldHVybjtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IG1ldGEgPSBKU09OLnBhcnNlKHBvaS5tZXRhZGF0YSk7XHJcbiAgICAgIGlmIChtZXRhPy5zaWQgJiYgdHlwZW9mIG1ldGEuc2lkID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRoaXMubWF0dGVycG9ydFNpZCA9IG1ldGEuc2lkO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIHsgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEdldCB0aGUgc3RlbSB2ZWN0b3IgZm9yIHRoZSB0YWcgKi9cclxuICBnZXRTdGVtVmVjdG9yKCk6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlciB9IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHg6IHRoaXMubm9ybWFsLnggKiAwLjMsXHJcbiAgICAgIHk6IHRoaXMubm9ybWFsLnkgKiAwLjMsXHJcbiAgICAgIHo6IHRoaXMubm9ybWFsLnogKiAwLjMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLnR5cGU7IH1cclxuICBnZXROb3JtYWwoKSB7IHJldHVybiB0aGlzLm5vcm1hbDsgfVxyXG4gIGdldFBvc2l0aW9uKCkgeyByZXR1cm4gdGhpcy5wb3NpdGlvbjsgfVxyXG4gIGdldFN3ZWVwSUQoKSB7IHJldHVybiB0aGlzLnN3ZWVwSUQ7IH1cclxuICBnZXRPYmplY3QoKTogYW55IHsgcmV0dXJuIHRoaXMub2JqZWN0OyB9XHJcbiAgZ2V0Um90YXRpb24oKTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbCB7IHJldHVybiB0aGlzLnJvdGF0aW9uOyB9XHJcbiAgZ2V0UG9pKCk6IFBPSSB7IHJldHVybiB0aGlzLnBvaTsgfVxyXG4gIGdldE1hdHRlcnBvcnRTaWQoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLm1hdHRlcnBvcnRTaWQ7IH1cclxuXHJcbiAgLyoqIEdldCB0aGUgYWN0aW9uIG1vZGUgZm9yIHRoZSB0YWcgKi9cclxuICBnZXRDYWxsYmFja0FjdGlvbk1vZGUoKTogTWF0dGVydGFnQWN0aW9uTW9kZSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xyXG4gICAgICBjYXNlIFBvaVR5cGUuVElDS0VUOlxyXG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fVElDS0VUIDogTWF0dGVydGFnQWN0aW9uTW9kZS5BRERfVElDS0VUO1xyXG4gICAgICBjYXNlIFBvaVR5cGUuT0JKRUNUM0Q6XHJcbiAgICAgICAgcmV0dXJuIE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fT0JKRUNUM0Q7XHJcbiAgICAgIGNhc2UgUG9pVHlwZS5FUVVJUE1FTlQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0ID8gTWF0dGVydGFnQWN0aW9uTW9kZS5QT1NJVElPTl9FUVVJUE1FTlQgOiBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLkFERF9FUVVJUE1FTlQ7XHJcbiAgICAgIGNhc2UgUG9pVHlwZS5EQVRBOlxyXG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fREFUQSA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX0RBVEE7XHJcbiAgICAgIGNhc2UgUG9pVHlwZS5ERVNLOlxyXG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fREFUQSA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX0RFU0s7XHJcbiAgICAgIGNhc2UgUG9pVHlwZS5ST09NOlxyXG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fUk9PTSA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX1JPT007XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX1RJQ0tFVDtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqIEdldCB0aGUgaWNvbiBmb3IgdGhlIHRhZyAqL1xyXG4gIGdldEljb24oKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XHJcbiAgICAgIGNhc2UgUG9pVHlwZS5USUNLRVQ6IHJldHVybiBcImljb25fdGlja2V0LnBuZ1wiO1xyXG4gICAgICBjYXNlIFBvaVR5cGUuRVFVSVBNRU5UOiByZXR1cm4gXCJpY29uX2VxdWlwbWVudC5wbmdcIjtcclxuICAgICAgY2FzZSBQb2lUeXBlLk9CSkVDVDNEOiByZXR1cm4gXCJpY29uX29iamVjdDNkLnBuZ1wiO1xyXG4gICAgICBjYXNlIFBvaVR5cGUuTUVBU1VSRTogcmV0dXJuIFwiaWNvbl9tZWFzdXJlLnBuZ1wiO1xyXG4gICAgICBjYXNlIFBvaVR5cGUuREFUQTogcmV0dXJuIFwiaWNvbl9kYXRhLnBuZ1wiO1xyXG4gICAgICBjYXNlIFBvaVR5cGUuREVTSzogcmV0dXJuIFwiaWNvbl9kYXRhLnBuZ1wiO1xyXG4gICAgICBjYXNlIFBvaVR5cGUuUk9PTTogcmV0dXJuIFwiXCI7XHJcbiAgICAgIGRlZmF1bHQ6IHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKiogR2V0IHRoZSBjb29yZGluYXRlIHN0cmluZyBmb3IgdGhlIHRhZyAqL1xyXG4gIGdldENvb3JkaW5hdGVTdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgIHg6IHRoaXMucG9zaXRpb24ueCxcclxuICAgICAgeTogdGhpcy5wb3NpdGlvbi55LFxyXG4gICAgICB6OiB0aGlzLnBvc2l0aW9uLnosXHJcbiAgICAgIHhSb3RhdGlvbjogdGhpcy5yb3RhdGlvbj8ueCA/PyBudWxsLFxyXG4gICAgICB5Um90YXRpb246IHRoaXMucm90YXRpb24/LnkgPz8gbnVsbCxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKiogR2V0IHRoZSBtZXRhZGF0YSBzdHJpbmcgZm9yIHRoZSB0YWcgKi9cclxuICBnZXRNZXRhZGF0YVN0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgaWNvbjogdGhpcy5nZXRJY29uKCksXHJcbiAgICAgIG5vcm1hbDogdGhpcy5nZXROb3JtYWwoKSxcclxuICAgICAgc2lkOiB0aGlzLm1hdHRlcnBvcnRTaWQsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0dGVydGFnRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbWF0dGVydGFnRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFnQixtQkFBbUIsRUFBTyxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRixNQUFNLE9BQU8sYUFBYTtJQUVoQixNQUFNLENBQWU7SUFDckIsSUFBSSxHQUFZLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDaEMsU0FBUyxDQUFTO0lBQ2pCLFFBQVEsR0FBd0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JFLE1BQU0sR0FBd0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ25FLFFBQVEsQ0FBUztJQUNqQixPQUFPLENBQVM7SUFDakIsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNuQixRQUFRLEdBQW9DLElBQUksQ0FBQztJQUNqRCxHQUFHLENBQU07SUFFVCxhQUFhLEdBQWtCLElBQUksQ0FBQztJQUU1QyxZQUFZLElBQWE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O2lGQUU2RTtJQUU3RSxPQUFPLENBQUMsSUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUU1QyxTQUFTLENBQUMsTUFBb0IsRUFBRSxPQUFnQjtRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMs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Q3BCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB1bmljb3JuL2ZpbGVuYW1lLWNhc2UgKi9cbmltcG9ydCB7IERiT2JqZWN0VHlwZSwgTWF0dGVydGFnQWN0aW9uTW9kZSwgUE9JLCBQb2lUeXBlIH0gZnJvbSBcIi4vdHlwZXMuc2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgTWF0dGVydGFnRGF0YSB7XG5cbiAgcHJpdmF0ZSBvYmplY3Q6IERiT2JqZWN0VHlwZTtcbiAgcHJpdmF0ZSB0eXBlOiBQb2lUeXBlID0gUG9pVHlwZS5USUNLRVQ7XG4gIHB1YmxpYyBlbGVtZW50SUQ6IHN0cmluZztcbiAgcHJpdmF0ZSBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyIH0gPSB7IHg6IDAsIHk6IDAsIHo6IDAgfTtcbiAgcHJpdmF0ZSBub3JtYWw6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlciB9ID0geyB4OiAwLCB5OiAxLCB6OiAwIH07XG4gIHByaXZhdGUgbWVkaWFTcmM6IHN0cmluZztcbiAgcHJpdmF0ZSBzd2VlcElEOiBzdHJpbmc7XG4gIHB1YmxpYyBjdXN0b21JY29uSW5kZXggPSAwO1xuICBwcml2YXRlIHJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBwb2k6IFBPSTtcblxuICBwcml2YXRlIG1hdHRlcnBvcnRTaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHR5cGU6IFBvaVR5cGUpIHtcbiAgICB0aGlzLnNldFR5cGUodHlwZSk7XG4gIH1cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNldHRlcnNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICBzZXRUeXBlKHR5cGU6IFBvaVR5cGUpIHsgdGhpcy50eXBlID0gdHlwZTsgfVxuXG4gIHNldE9iamVjdChvYmplY3Q6IERiT2JqZWN0VHlwZSwgdGFnVHlwZTogUG9pVHlwZSkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgIHRoaXMuc2V0RWxlbWVudElEKG9iamVjdC5pZCk7XG4gICAgdGhpcy5zZXRUeXBlKHRhZ1R5cGUpO1xuICB9XG5cbiAgc2V0RWxlbWVudElEKGlkOiBzdHJpbmcpIHsgdGhpcy5lbGVtZW50SUQgPSBpZDsgfVxuXG4gIHNldFBvc2l0aW9uKHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXIgfSkge1xuICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgfVxuXG4gIHNldE5vcm1hbChub3JtYWw6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlciB9KSB7XG4gICAgdGhpcy5ub3JtYWwgPSBub3JtYWw7XG4gIH1cblxuICBzZXRNZWRpYVNvdXJjZShzb3VyY2U6IHN0cmluZykgeyB0aGlzLm1lZGlhU3JjID0gc291cmNlOyB9XG4gIHNldFN3ZWVwSUQoc3dlZXBJRDogc3RyaW5nKSB7IHRoaXMuc3dlZXBJRCA9IHN3ZWVwSUQ7IH1cbiAgc2V0Um90YXRpb24ocm90YXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSkgeyB0aGlzLnJvdGF0aW9uID0gcm90YXRpb247IH1cbiAgc2V0UG9pKHBvaTogUE9JKSB7IHRoaXMucG9pID0gcG9pOyB9XG5cbiAgc2V0TWF0dGVycG9ydFNpZChzaWQ6IHN0cmluZykgeyB0aGlzLm1hdHRlcnBvcnRTaWQgPSBzaWQ7IH1cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdldHRlcnNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICBnZXREYXRhKCkge1xuICAgIGxldCBsYWJlbCA9IFwiTmV3IFRhZ1wiO1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFBvaVR5cGUuVElDS0VUOlxuICAgICAgY2FzZSBQb2lUeXBlLkVRVUlQTUVOVDpcbiAgICAgIGNhc2UgUG9pVHlwZS5NRUFTVVJFOlxuICAgICAgY2FzZSBQb2lUeXBlLkRBVEE6XG4gICAgICBjYXNlIFBvaVR5cGUuREVTSzpcbiAgICAgICAgbGFiZWwgPSB0aGlzLm9iamVjdCA/IFwiXCIgOiBcIk5ldyBUYWdcIjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFBvaVR5cGUuT0JKRUNUM0Q6XG4gICAgICAgIGxhYmVsID0gdGhpcy5vYmplY3QgPyBcIlwiIDogXCJDbGljayBvbiBibGlua2luZyBpY29uIHRvIGxvYWQgYSAzRCBvYmplY3QgaGVyZVwiO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUG9pVHlwZS5ST09NOlxuICAgICAgICBsYWJlbCA9IFwiXCI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgbGFiZWwgPSBcIk5ldyBUYWdcIjtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWwsXG4gICAgICBkZXNjcmlwdGlvbjogXCJcIixcbiAgICAgIGFuY2hvclBvc2l0aW9uOiB7IC4uLnRoaXMucG9zaXRpb24gfSxcbiAgICAgIHN0ZW1WZWN0b3I6IHRoaXMuZ2V0U3RlbVZlY3RvcigpLFxuICAgICAgY29sb3I6IHsgcjogMSwgZzogMSwgYjogMSB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2FmZWx5IHJldHJpZXZlcyB0aGUgZGlzcGxheSBuYW1lIGRlcGVuZGluZyBvbiBvYmplY3QgcHJvcGVydGllcyAobmFtZSwgdGl0bGUpXG4gICAqL1xuICBwdWJsaWMgZ2V0RGlzcGxheU5hbWUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMub2JqZWN0KSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm9iamVjdC5uYW1lIHx8IHRoaXMub2JqZWN0LnRpdGxlIHx8ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGVzY3JpcHRvciBmb3Igc2RrLlRhZy5hZGQoLi4uZGVzY3JpcHRvcilcbiAgICogRm9ybWF0IDogW3sgbGFiZWwsIGRlc2NyaXB0aW9uLCBhbmNob3JQb3NpdGlvbiwgc3RlbVZlY3RvciwgY29sb3IsIGlkPyB9XVxuICAgKiBJZiBtYXR0ZXJwb3J0U2lkIGlzIGRlZmluZWQgKGFscmVhZHkga25vd24gdGFnKSB3ZSBzZW5kIGl0IHNvIHRoZSBTREsgXG4gICAqIHJldXNlIGl0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNyZWF0ZSBhIG5ldyBvbmUgYW5kIGdlbmVyYXRlIGFuIGVycm9yIDogXCJhbHJlYWR5IGluIHVzZVwiLlxuICAgKi9cbiAgZ2V0TWF0dGVydGFnRGVzY3JpcHRvcigpOiBbUmVjb3JkPHN0cmluZywgYW55Pl0ge1xuICAgIGNvbnN0IGJhc2UgPSB0aGlzLmdldERhdGEoKTtcbiAgICBjb25zdCBkZXNjcmlwdG9yOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0geyAuLi5iYXNlIH07XG4gICAgaWYgKHRoaXMubWF0dGVycG9ydFNpZCkge1xuICAgICAgZGVzY3JpcHRvclsnaWQnXSA9IHRoaXMubWF0dGVycG9ydFNpZDtcbiAgICB9XG4gICAgcmV0dXJuIFtkZXNjcmlwdG9yXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGF0YSBmb3Igc2RrLlRhZy5lZGl0UG9zaXRpb24oKSBvciBzZGsuVGFnLmVkaXRCaWxsYm9hcmQoKS5cbiAgICovXG4gIGdldFRhZ1Nka0RhdGEoKTogeyBhbmNob3JQb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyIH07IHN0ZW1WZWN0b3I6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlciB9IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBhbmNob3JQb3NpdGlvbjogeyAuLi50aGlzLnBvc2l0aW9uIH0sXG4gICAgICBzdGVtVmVjdG9yOiB0aGlzLmdldFN0ZW1WZWN0b3IoKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIExvYWQgdGhlIG1hdHRlcnBvcnRTaWQgZnJvbSB0aGUgcG9pIG1ldGFkYXRhICovXG4gIGxvYWRTaWRGcm9tUG9pKHBvaTogUE9JKTogdm9pZCB7XG4gICAgaWYgKCFwb2k/Lm1ldGFkYXRhKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1ldGEgPSBKU09OLnBhcnNlKHBvaS5tZXRhZGF0YSk7XG4gICAgICBpZiAobWV0YT8uc2lkICYmIHR5cGVvZiBtZXRhLnNpZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5tYXR0ZXJwb3J0U2lkID0gbWV0YS5zaWQ7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7IH1cbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHN0ZW0gdmVjdG9yIGZvciB0aGUgdGFnICovXG4gIGdldFN0ZW1WZWN0b3IoKTogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyIH0ge1xuICAgIHJldHVybiB7XG4gICAgICB4OiB0aGlzLm5vcm1hbC54ICogMC4zLFxuICAgICAgeTogdGhpcy5ub3JtYWwueSAqIDAuMyxcbiAgICAgIHo6IHRoaXMubm9ybWFsLnogKiAwLjMsXG4gICAgfTtcbiAgfVxuXG5cbiAgZ2V0VHlwZSgpIHsgcmV0dXJuIHRoaXMudHlwZTsgfVxuICBnZXROb3JtYWwoKSB7IHJldHVybiB0aGlzLm5vcm1hbDsgfVxuICBnZXRQb3NpdGlvbigpIHsgcmV0dXJuIHRoaXMucG9zaXRpb247IH1cbiAgZ2V0U3dlZXBJRCgpIHsgcmV0dXJuIHRoaXMuc3dlZXBJRDsgfVxuICBnZXRPYmplY3QoKTogYW55IHsgcmV0dXJuIHRoaXMub2JqZWN0OyB9XG4gIGdldFJvdGF0aW9uKCk6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSB8IG51bGwgeyByZXR1cm4gdGhpcy5yb3RhdGlvbjsgfVxuICBnZXRQb2koKTogUE9JIHsgcmV0dXJuIHRoaXMucG9pOyB9XG4gIGdldE1hdHRlcnBvcnRTaWQoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLm1hdHRlcnBvcnRTaWQ7IH1cblxuICAvKiogR2V0IHRoZSBhY3Rpb24gbW9kZSBmb3IgdGhlIHRhZyAqL1xuICBnZXRDYWxsYmFja0FjdGlvbk1vZGUoKTogTWF0dGVydGFnQWN0aW9uTW9kZSB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgUG9pVHlwZS5USUNLRVQ6XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fVElDS0VUIDogTWF0dGVydGFnQWN0aW9uTW9kZS5BRERfVElDS0VUO1xuICAgICAgY2FzZSBQb2lUeXBlLk9CSkVDVDNEOlxuICAgICAgICByZXR1cm4gTWF0dGVydGFnQWN0aW9uTW9kZS5QT1NJVElPTl9PQkpFQ1QzRDtcbiAgICAgIGNhc2UgUG9pVHlwZS5FUVVJUE1FTlQ6XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fRVFVSVBNRU5UIDogTWF0dGVydGFnQWN0aW9uTW9kZS5BRERfRVFVSVBNRU5UO1xuICAgICAgY2FzZSBQb2lUeXBlLkRBVEE6XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fREFUQSA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX0RBVEE7XG4gICAgICBjYXNlIFBvaVR5cGUuREVTSzpcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0ID8gTWF0dGVydGFnQWN0aW9uTW9kZS5QT1NJVElPTl9EQVRBIDogTWF0dGVydGFnQWN0aW9uTW9kZS5BRERfREVTSztcbiAgICAgIGNhc2UgUG9pVHlwZS5ST09NOlxuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3QgPyBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLlBPU0lUSU9OX1JPT00gOiBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLkFERF9ST09NO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX1RJQ0tFVDtcbiAgICB9XG4gIH1cbiAgLyoqIEdldCB0aGUgaWNvbiBmb3IgdGhlIHRhZyAqL1xuICBnZXRJY29uKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgUG9pVHlwZS5USUNLRVQ6IHJldHVybiBcImljb25fdGlja2V0LnBuZ1wiO1xuICAgICAgY2FzZSBQb2lUeXBlLkVRVUlQTUVOVDogcmV0dXJuIFwiaWNvbl9lcXVpcG1lbnQucG5nXCI7XG4gICAgICBjYXNlIFBvaVR5cGUuT0JKRUNUM0Q6IHJldHVybiBcImljb25fb2JqZWN0M2QucG5nXCI7XG4gICAgICBjYXNlIFBvaVR5cGUuTUVBU1VSRTogcmV0dXJuIFwiaWNvbl9tZWFzdXJlLnBuZ1wiO1xuICAgICAgY2FzZSBQb2lUeXBlLkRBVEE6IHJldHVybiBcImljb25fZGF0YS5wbmdcIjtcbiAgICAgIGNhc2UgUG9pVHlwZS5ERVNLOiByZXR1cm4gXCJpY29uX2RhdGEucG5nXCI7XG4gICAgICBjYXNlIFBvaVR5cGUuUk9PTTogcmV0dXJuIFwiXCI7XG4gICAgICBkZWZhdWx0OiByZXR1cm4gXCJcIjtcbiAgICB9XG4gIH1cbiAgLyoqIEdldCB0aGUgY29vcmRpbmF0ZSBzdHJpbmcgZm9yIHRoZSB0YWcgKi9cbiAgZ2V0Q29vcmRpbmF0ZVN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICB4OiB0aGlzLnBvc2l0aW9uLngsXG4gICAgICB5OiB0aGlzLnBvc2l0aW9uLnksXG4gICAgICB6OiB0aGlzLnBvc2l0aW9uLnosXG4gICAgICB4Um90YXRpb246IHRoaXMucm90YXRpb24/LnggPz8gbnVsbCxcbiAgICAgIHlSb3RhdGlvbjogdGhpcy5yb3RhdGlvbj8ueSA/PyBudWxsLFxuICAgIH0pO1xuICB9XG4gIC8qKiBHZXQgdGhlIG1ldGFkYXRhIHN0cmluZyBmb3IgdGhlIHRhZyAqL1xuICBnZXRNZXRhZGF0YVN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBpY29uOiB0aGlzLmdldEljb24oKSxcbiAgICAgIG5vcm1hbDogdGhpcy5nZXROb3JtYWwoKSxcbiAgICAgIHNpZDogdGhpcy5tYXR0ZXJwb3J0U2lkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -18,6 +18,7 @@ import { LoaderComponent } from './components/loader/loader.component';
|
|
|
18
18
|
import { SupportModalComponent } from './components/support-modal/support-modal.component';
|
|
19
19
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
20
20
|
import { FormatDateNumberToDigitsPipe } from './pipes/format-date-number-to-digits.pipe';
|
|
21
|
+
import { SplatViewerComponent } from './components/splat-viewer/splat-viewer.component';
|
|
21
22
|
import * as i0 from "@angular/core";
|
|
22
23
|
import * as i1 from "@ngx-translate/core";
|
|
23
24
|
export class NgxSmarterplanCoreModule {
|
|
@@ -46,7 +47,8 @@ export class NgxSmarterplanCoreModule {
|
|
|
46
47
|
NavigationBarComponent,
|
|
47
48
|
LoaderComponent,
|
|
48
49
|
SupportModalComponent,
|
|
49
|
-
FormatDateNumberToDigitsPipe
|
|
50
|
+
FormatDateNumberToDigitsPipe,
|
|
51
|
+
SplatViewerComponent], imports: [FormsModule,
|
|
50
52
|
ReactiveFormsModule,
|
|
51
53
|
CommonModule,
|
|
52
54
|
RouterModule,
|
|
@@ -60,7 +62,8 @@ export class NgxSmarterplanCoreModule {
|
|
|
60
62
|
MenuBarComponent,
|
|
61
63
|
LoaderComponent,
|
|
62
64
|
SupportModalComponent,
|
|
63
|
-
AvatarComponent
|
|
65
|
+
AvatarComponent,
|
|
66
|
+
SplatViewerComponent] });
|
|
64
67
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxSmarterplanCoreModule, imports: [FormsModule,
|
|
65
68
|
ReactiveFormsModule,
|
|
66
69
|
CommonModule,
|
|
@@ -87,7 +90,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
87
90
|
NavigationBarComponent,
|
|
88
91
|
LoaderComponent,
|
|
89
92
|
SupportModalComponent,
|
|
90
|
-
FormatDateNumberToDigitsPipe
|
|
93
|
+
FormatDateNumberToDigitsPipe,
|
|
94
|
+
SplatViewerComponent
|
|
91
95
|
],
|
|
92
96
|
imports: [
|
|
93
97
|
FormsModule,
|
|
@@ -111,7 +115,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
111
115
|
LoaderComponent,
|
|
112
116
|
SupportModalComponent,
|
|
113
117
|
AvatarComponent,
|
|
118
|
+
SplatViewerComponent,
|
|
114
119
|
]
|
|
115
120
|
}]
|
|
116
121
|
}] });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9uZ3gtc21hcnRlcnBsYW4tY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7O0FBNEN4RixNQUFNLE9BQU8sd0JBQXdCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBYztRQUNsQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7d0dBWFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsaUJBekNqQyx5QkFBeUI7WUFDekIsV0FBVztZQUNYLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIseUJBQXlCO1lBQ3pCLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsNEJBQTRCO1lBQzVCLG9CQUFvQixhQUdwQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixZQUFZO1lBQ1osU0FBUyxpQ0FNVCxrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6QixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLG9CQUFvQjt5R0FHWCx3QkFBd0IsWUF4QmpDLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFlBQVk7WUFDWixTQUFTO1lBQ1QsZUFBZSxDQUFDLFFBQVEsQ0FBQztnQkFDdkIsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDOzs0RkFpQk8sd0JBQXdCO2tCQTNDcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxlQUFlLENBQUMsUUFBUSxDQUFDOzRCQUN2QixNQUFNLEVBQUUsSUFBSTt5QkFDYixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENzdkV4cG9ydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jc3YtZXhwb3J0L2Nzdi1leHBvcnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IER1cmF0aW9uVG9TdHJpbmdQaXBlIH0gZnJvbSAnLi9waXBlcy9kdXJhdGlvbi10by1zdHJpbmcucGlwZSc7XG5pbXBvcnQgeyBIYXNodGFnRnJvbUlkUGlwZSB9IGZyb20gJy4vcGlwZXMvaGFzaHRhZy1mcm9tLWlkLnBpcGUnO1xuaW1wb3J0IHsgU2FmZVVybFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtdXJsLnBpcGUnO1xuaW1wb3J0IHsgVGltZURhdGVUb0xvY2FsU3RyaW5nUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS1kYXRlLXRvLWxvY2FsLXN0cmluZy5waXBlJztcbmltcG9ydCB7IE1vZGFsU3dpdGNoVmlzaXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwtc3dpdGNoLXZpc2l0L21vZGFsLXN3aXRjaC12aXNpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlcm5hbWVGcm9tSWRQaXBlIH0gZnJvbSAnLi9waXBlcy91c2VybmFtZS1mcm9tLWlkLnBpcGUnO1xuaW1wb3J0IHsgTWVudUJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51LWJhci9tZW51LWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lbnUtYmFyL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5hdmlnYXRpb25CYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS1iYXIvbmF2aWdhdGlvbi1iYXIvbmF2aWdhdGlvbi1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN1cHBvcnRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdXBwb3J0LW1vZGFsL3N1cHBvcnQtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWF0RGF0ZU51bWJlclRvRGlnaXRzUGlwZSB9IGZyb20gJy4vcGlwZXMvZm9ybWF0LWRhdGUtbnVtYmVyLXRvLWRpZ2l0cy5waXBlJztcbmltcG9ydCB7IFNwbGF0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NwbGF0LXZpZXdlci9zcGxhdC12aWV3ZXIuY29tcG9uZW50JztcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRpbWVEYXRlVG9Mb2NhbFN0cmluZ1BpcGUsXG4gICAgU2FmZVVybFBpcGUsXG4gICAgSGFzaHRhZ0Zyb21JZFBpcGUsXG4gICAgRHVyYXRpb25Ub1N0cmluZ1BpcGUsXG4gICAgQ3N2RXhwb3J0Q29tcG9uZW50LFxuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBVc2VybmFtZUZyb21JZFBpcGUsXG4gICAgTW9kYWxTd2l0Y2hWaXNpdENvbXBvbmVudCxcbiAgICBNZW51QmFyQ29tcG9uZW50LFxuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBOYXZpZ2F0aW9uQmFyQ29tcG9uZW50LFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBTdXBwb3J0TW9kYWxDb21wb25lbnQsXG4gICAgRm9ybWF0RGF0ZU51bWJlclRvRGlnaXRzUGlwZSxcbiAgICBTcGxhdFZpZXdlckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIE5nYk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgZXh0ZW5kOiB0cnVlXG4gICAgfSlcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENzdkV4cG9ydENvbXBvbmVudCxcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXG4gICAgVGltZURhdGVUb0xvY2FsU3RyaW5nUGlwZSxcbiAgICBTYWZlVXJsUGlwZSxcbiAgICBIYXNodGFnRnJvbUlkUGlwZSxcbiAgICBEdXJhdGlvblRvU3RyaW5nUGlwZSxcbiAgICBVc2VybmFtZUZyb21JZFBpcGUsXG4gICAgTWVudUJhckNvbXBvbmVudCxcbiAgICBMb2FkZXJDb21wb25lbnQsXG4gICAgU3VwcG9ydE1vZGFsQ29tcG9uZW50LFxuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBTcGxhdFZpZXdlckNvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hTbWFydGVycGxhbkNvcmVNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnOiBDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFNtYXJ0ZXJwbGFuQ29yZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4U21hcnRlcnBsYW5Db3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnY29uZmlnJyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -11,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
11
11
|
providedIn: 'root'
|
|
12
12
|
}]
|
|
13
13
|
}], ctorParameters: () => [] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWNvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLGdCQUFnQixDQUFDO3dHQUZOLHlCQUF5Qjs0R0FBekIseUJBQXlCLGNBRnhCLE1BQU07OzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5neFNtYXJ0ZXJwbGFuQ29yZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=
|