@jax-data-science/sci-image-visualizer 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/contracts/display-types.mjs +28 -1
- package/esm2022/lib/contracts/plot-type-contribution.contract.mjs +1 -1
- package/esm2022/lib/contracts/ports/spatial-data.port.mjs +3 -1
- package/esm2022/lib/contracts/spatial-dataset.contract.mjs +3 -1
- package/esm2022/lib/contracts/visualizer.contract.mjs +1 -1
- package/esm2022/lib/implementations/napari-js/napari-loading-badge.mjs +73 -0
- package/esm2022/lib/implementations/napari-js/napari-navigator.mjs +195 -0
- package/esm2022/lib/implementations/napari-js/napari-region-overlay.mjs +10 -2
- package/esm2022/lib/implementations/napari-js/napari-spatial-tiles.mjs +1487 -0
- package/esm2022/lib/implementations/napari-js/napari-spatial-tooltip.mjs +6 -3
- package/esm2022/lib/implementations/napari-js/napari-visualizer.service.mjs +219 -8
- package/esm2022/lib/implementations/osd/openseadragon-visualizer.service.mjs +8 -1
- package/esm2022/lib/implementations/spatial-data-http/spatial-data-http.service.mjs +131 -2
- package/esm2022/lib/implementations/spatial-data-http/spatial-wire.mjs +77 -1
- package/esm2022/lib/routing-visualizer.service.mjs +14 -1
- package/esm2022/lib/spatial/spatial-tiles.mjs +649 -0
- package/esm2022/lib/spatial-controls/spatial-controls.component.mjs +848 -19
- package/fesm2022/jax-data-science-sci-image-visualizer.mjs +3773 -78
- package/fesm2022/jax-data-science-sci-image-visualizer.mjs.map +1 -1
- package/lib/contracts/display-types.d.ts +96 -1
- package/lib/contracts/plot-type-contribution.contract.d.ts +9 -0
- package/lib/contracts/ports/spatial-data.port.d.ts +70 -1
- package/lib/contracts/spatial-dataset.contract.d.ts +197 -0
- package/lib/contracts/visualizer.contract.d.ts +28 -1
- package/lib/implementations/napari-js/napari-loading-badge.d.ts +20 -0
- package/lib/implementations/napari-js/napari-navigator.d.ts +72 -0
- package/lib/implementations/napari-js/napari-region-overlay.d.ts +3 -0
- package/lib/implementations/napari-js/napari-spatial-tiles.d.ts +315 -0
- package/lib/implementations/napari-js/napari-visualizer.service.d.ts +49 -2
- package/lib/implementations/spatial-data-http/spatial-data-http.service.d.ts +28 -2
- package/lib/implementations/spatial-data-http/spatial-wire.d.ts +35 -1
- package/lib/spatial/spatial-tiles.d.ts +259 -0
- package/lib/spatial-controls/spatial-controls.component.d.ts +288 -3
- package/package.json +1 -1
|
@@ -51,6 +51,8 @@ export class NapariSpatialTooltip {
|
|
|
51
51
|
display: 'block',
|
|
52
52
|
opacity: '0.7',
|
|
53
53
|
fontSize: '11px',
|
|
54
|
+
// Every line after the first is a detail line, one per row.
|
|
55
|
+
whiteSpace: 'pre',
|
|
54
56
|
});
|
|
55
57
|
this.el.append(this.primary, this.secondary);
|
|
56
58
|
host.appendChild(this.el);
|
|
@@ -67,8 +69,9 @@ export class NapariSpatialTooltip {
|
|
|
67
69
|
return;
|
|
68
70
|
}
|
|
69
71
|
this.primary.textContent = lines[0];
|
|
70
|
-
|
|
71
|
-
this.secondary.
|
|
72
|
+
const details = lines.slice(1).filter(Boolean);
|
|
73
|
+
this.secondary.textContent = details.join('\n');
|
|
74
|
+
this.secondary.style.display = details.length ? 'block' : 'none';
|
|
72
75
|
// Measured while visible: offsetWidth is 0 on a `display: none` element, so
|
|
73
76
|
// the flip below would always think the box fits.
|
|
74
77
|
this.el.style.display = 'block';
|
|
@@ -93,4 +96,4 @@ export class NapariSpatialTooltip {
|
|
|
93
96
|
this.el.remove();
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFwYXJpLXNwYXRpYWwtdG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW1wbGVtZW50YXRpb25zL25hcGFyaS1qcy9uYXBhcmktc3BhdGlhbC10b29sdGlwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixpRkFBaUY7YUFDekQsV0FBTSxHQUFHLEVBQUUsQ0FBQztJQUVwQyxZQUE2QixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQzVDLHNFQUFzRTtRQUN0RSw4RUFBOEU7UUFDOUUsNkVBQTZFO1FBQzdFLCtFQUErRTtRQUMvRSxxQ0FBcUM7UUFDckMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUU7WUFDM0IsUUFBUSxFQUFFLFVBQVU7WUFDcEIsT0FBTyxFQUFFLE1BQU07WUFDZiw2REFBNkQ7WUFDN0QsTUFBTSxFQUFFLEdBQUc7WUFDWCxxRUFBcUU7WUFDckUsNkRBQTZEO1lBQzdELGFBQWEsRUFBRSxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFlBQVksRUFBRSxLQUFLO1lBQ25CLFVBQVUsRUFBRSx3QkFBd0I7WUFDcEMsS0FBSyxFQUFFLE1BQU07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QUM3QyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJzb3IgdG9vbHRpcCBuYW1pbmcgdGhlIG9ic2VydmF0aW9uIHVuZGVyIHRoZSBwb2ludGVyLCBmb3IgdGhlIHNwYXRpYWwtb21pY3NcbiAqIHZpZXdzIOKAlCB0aGUgc2FtZSBvdmVybGF5LWluLXRoZS1ob3N0IHBhdHRlcm4gYXMge0BsaW5rIE5hcGFyaVNjYWxlQmFyfS5cbiAqXG4gKiBBIDM0LWVudHJ5IGxlZ2VuZCBjYW5ub3QgYmUgcmVhZCBiYWNrIGZyb20gYSBkb3Q6IHNldmVyYWwgY2xhc3NlcyBnZXQgc2ltaWxhclxuICogY29sb3VycywgYW5kIG1hdGNoaW5nIG9uZSB0byBhIHN3YXRjaCBieSBleWUgaXMgdGhlIGpvYiBhIHRvb2x0aXAgcmVtb3Zlcy4gSXRcbiAqIHNob3dzIHdoYXQgdGhlIGNsb3VkIGlzIENVUlJFTlRMWSBjb2xvdXJlZCBieSwgc28gaXQgYWx3YXlzIGFncmVlcyB3aXRoIHRoZVxuICogbGVnZW5kIGJlc2lkZSBpdC5cbiAqXG4gKiBEZWxpYmVyYXRlbHkgbm90IFByaW1lTkcncyBgcFRvb2x0aXBgOiB0aGF0IGJpbmRzIHRvIGFuIGVsZW1lbnQsIGFuZCB0aGVzZVxuICogcG9pbnRzIGFyZSBwaXhlbHMgaW4gYSBXZWJHUFUgY2FudmFzIHdpdGggbm8gRE9NIG9mIHRoZWlyIG93bi5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hcGFyaVNwYXRpYWxUb29sdGlwIHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbDogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJpbWFyeTogSFRNTFNwYW5FbGVtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IHNlY29uZGFyeTogSFRNTFNwYW5FbGVtZW50O1xuICAvKiogR2FwIGJldHdlZW4gdGhlIGN1cnNvciBhbmQgdGhlIGJveCwgc28gdGhlIGJveCBuZXZlciBzaXRzIHVuZGVyIHRoZSBhcnJvdy4gKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgT0ZGU0VUID0gMTQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBob3N0OiBIVE1MRWxlbWVudCkge1xuICAgIC8vIEFic29sdXRlbHkgcG9zaXRpb25lZCB3aXRoaW4gdGhlIGhvc3QsIHNvIHRoZSBob3N0IG11c3QgZXN0YWJsaXNoIGFcbiAgICAvLyBjb250YWluaW5nIGJsb2NrICh0aGUgcGxvdCBob3N0IGlzIG9mdGVuIHN0YXRpY2FsbHkgcG9zaXRpb25lZCkuIFRlc3RlZCBmb3JcbiAgICAvLyB3aGF0IGl0IG11c3QgTk9UIGJlIHJhdGhlciB0aGFuIGZvciAnc3RhdGljJzogYSBjb21wdXRlZCBwb3NpdGlvbiBjYW4gYWxzb1xuICAgIC8vIGNvbWUgYmFjayBlbXB0eSwgYW5kIHRyZWF0aW5nIHRoYXQgYXMgYWxyZWFkeS1wb3NpdGlvbmVkIHdvdWxkIGxlYXZlIHRoZSBib3hcbiAgICAvLyBhbmNob3JlZCB0byBzb21lIGFuY2VzdG9yIGluc3RlYWQuXG4gICAgY29uc3QgcG9zaXRpb25lZCA9IFsncmVsYXRpdmUnLCAnYWJzb2x1dGUnLCAnZml4ZWQnLCAnc3RpY2t5J107XG4gICAgaWYgKCFwb3NpdGlvbmVkLmluY2x1ZGVzKGdldENvbXB1dGVkU3R5bGUoaG9zdCkucG9zaXRpb24pKSB7XG4gICAgICBob3N0LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICB9XG5cbiAgICB0aGlzLmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLmVsLnN0eWxlLCB7XG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgIC8vIEFib3ZlIHRoZSBjYW52YXMgYW5kIHRoZSByZWdpb24gb3ZlcmxheSwgYmVsb3cgYW55IGRpYWxvZy5cbiAgICAgIHpJbmRleDogJzYnLFxuICAgICAgLy8gVGhlIHBvaW50ZXIgaGFzIHRvIHJlYWNoIHRoZSBjYW52YXMgdW5kZXJuZWF0aDogYSB0b29sdGlwIHRoYXQgYXRlXG4gICAgICAvLyBwb2ludGVyIGV2ZW50cyB3b3VsZCBraWxsIG9yYml0aW5nIHRoZSBtb21lbnQgaXQgYXBwZWFyZWQuXG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgICBwYWRkaW5nOiAnNHB4IDhweCcsXG4gICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgYmFja2dyb3VuZDogJ3JnYmEoMTcsIDE3LCAyMCwgMC44OCknLFxuICAgICAgY29sb3I6ICcjZmZmJyxcbiAgICAgIGZvbnQ6ICcxMnB4LzEuMzUgc3lzdGVtLXVpLCBzYW5zLXNlcmlmJyxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgYm94U2hhZG93OiAnMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zNSknLFxuICAgICAgbWF4V2lkdGg6ICcyMnJlbScsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgfSBhcyBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+KTtcblxuICAgIHRoaXMucHJpbWFyeSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucHJpbWFyeS5zdHlsZSwgeyBkaXNwbGF5OiAnYmxvY2snLCBmb250V2VpZ2h0OiAnNjAwJyB9KTtcbiAgICB0aGlzLnNlY29uZGFyeSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuc2Vjb25kYXJ5LnN0eWxlLCB7XG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgb3BhY2l0eTogJzAuNycsXG4gICAgICBmb250U2l6ZTogJzExcHgnLFxuICAgIH0gYXMgUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPik7XG5cbiAgICB0aGlzLmVsLmFwcGVuZCh0aGlzLnByaW1hcnksIHRoaXMuc2Vjb25kYXJ5KTtcbiAgICBob3N0LmFwcGVuZENoaWxkKHRoaXMuZWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgYGxpbmVzYCBhdCBhIHBvaW50IGdpdmVuIGluIEhPU1QtcmVsYXRpdmUgcGl4ZWxzLlxuICAgKlxuICAgKiBGbGlwcyB0byB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgY3Vyc29yIG5lYXIgYW4gZWRnZSByYXRoZXIgdGhhbiBiZWluZyBjbGlwcGVkXG4gICAqIGJ5IHRoZSBob3N0IOKAlCBhIHRvb2x0aXAgaGFsZiBvdXRzaWRlIHRoZSBwbG90IGlzIHdvcnNlIHRoYW4gb25lIG9uIHRoZSBsZWZ0LlxuICAgKi9cbiAgc2hvdyhsaW5lczogcmVhZG9ubHkgc3RyaW5nW10sIGhvc3RYOiBudW1iZXIsIGhvc3RZOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAobGluZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wcmltYXJ5LnRleHRDb250ZW50ID0gbGluZXNbMF07XG4gICAgdGhpcy5zZWNvbmRhcnkudGV4dENvbnRlbnQgPSBsaW5lc1sxXSA/PyAnJztcbiAgICB0aGlzLnNlY29uZGFyeS5zdHlsZS5kaXNwbGF5ID0gbGluZXNbMV0gPyAnYmxvY2snIDogJ25vbmUnO1xuICAgIC8vIE1lYXN1cmVkIHdoaWxlIHZpc2libGU6IG9mZnNldFdpZHRoIGlzIDAgb24gYSBgZGlzcGxheTogbm9uZWAgZWxlbWVudCwgc29cbiAgICAvLyB0aGUgZmxpcCBiZWxvdyB3b3VsZCBhbHdheXMgdGhpbmsgdGhlIGJveCBmaXRzLlxuICAgIHRoaXMuZWwuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICBjb25zdCBnYXAgPSBOYXBhcmlTcGF0aWFsVG9vbHRpcC5PRkZTRVQ7XG4gICAgY29uc3QgdyA9IHRoaXMuZWwub2Zmc2V0V2lkdGg7XG4gICAgY29uc3QgaCA9IHRoaXMuZWwub2Zmc2V0SGVpZ2h0O1xuICAgIGNvbnN0IGhvc3RXID0gdGhpcy5ob3N0LmNsaWVudFdpZHRoO1xuICAgIGNvbnN0IGhvc3RIID0gdGhpcy5ob3N0LmNsaWVudEhlaWdodDtcbiAgICBjb25zdCBsZWZ0ID0gaG9zdFggKyBnYXAgKyB3ID4gaG9zdFcgPyBNYXRoLm1heCgwLCBob3N0WCAtIGdhcCAtIHcpIDogaG9zdFggKyBnYXA7XG4gICAgY29uc3QgdG9wID0gaG9zdFkgKyBnYXAgKyBoID4gaG9zdEggPyBNYXRoLm1heCgwLCBob3N0WSAtIGdhcCAtIGgpIDogaG9zdFkgKyBnYXA7XG4gICAgdGhpcy5lbC5zdHlsZS5sZWZ0ID0gYCR7TWF0aC5yb3VuZChsZWZ0KX1weGA7XG4gICAgdGhpcy5lbC5zdHlsZS50b3AgPSBgJHtNYXRoLnJvdW5kKHRvcCl9cHhgO1xuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICAvKiogVHJ1ZSB3aGlsZSB0aGUgYm94IGlzIG9uIHNjcmVlbiDigJQgZm9yIHRlc3RzLCBhbmQgdG8gc2tpcCByZWR1bmRhbnQgaGlkZXMuICovXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVsLnN0eWxlLmRpc3BsYXkgIT09ICdub25lJztcbiAgfVxuXG4gIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5lbC5yZW1vdmUoKTtcbiAgfVxufVxuIl19
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFwYXJpLXNwYXRpYWwtdG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW1wbGVtZW50YXRpb25zL25hcGFyaS1qcy9uYXBhcmktc3BhdGlhbC10b29sdGlwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixpRkFBaUY7YUFDekQsV0FBTSxHQUFHLEVBQUUsQ0FBQztJQUVwQyxZQUE2QixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQzVDLHNFQUFzRTtRQUN0RSw4RUFBOEU7UUFDOUUsNkVBQTZFO1FBQzdFLCtFQUErRTtRQUMvRSxxQ0FBcUM7UUFDckMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUU7WUFDM0IsUUFBUSxFQUFFLFVBQVU7WUFDcEIsT0FBTyxFQUFFLE1BQU07WUFDZiw2REFBNkQ7WUFDN0QsTUFBTSxFQUFFLEdBQUc7WUFDWCxxRUFBcUU7WUFDckUsNkRBQTZEO1lBQzdELGFBQWEsRUFBRSxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFlBQVksRUFBRSxLQUFLO1lBQ25CLFVBQVUsRUFBRSx3QkFBd0I7WUFDcEMsS0FBSyxFQUFFLE1BQU07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QUssR0FBRyxHQUFHLENBQUM7UUFDakYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzdDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELGdGQUFnRjtJQUNoRixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEN1cnNvciB0b29sdGlwIG5hbWluZyB0aGUgb2JzZXJ2YXRpb24gdW5kZXIgdGhlIHBvaW50ZXIsIGZvciB0aGUgc3BhdGlhbC1vbWljc1xuICogdmlld3Mg4oCUIHRoZSBzYW1lIG92ZXJsYXktaW4tdGhlLWhvc3QgcGF0dGVybiBhcyB7QGxpbmsgTmFwYXJpU2NhbGVCYXJ9LlxuICpcbiAqIEEgMzQtZW50cnkgbGVnZW5kIGNhbm5vdCBiZSByZWFkIGJhY2sgZnJvbSBhIGRvdDogc2V2ZXJhbCBjbGFzc2VzIGdldCBzaW1pbGFyXG4gKiBjb2xvdXJzLCBhbmQgbWF0Y2hpbmcgb25lIHRvIGEgc3dhdGNoIGJ5IGV5ZSBpcyB0aGUgam9iIGEgdG9vbHRpcCByZW1vdmVzLiBJdFxuICogc2hvd3Mgd2hhdCB0aGUgY2xvdWQgaXMgQ1VSUkVOVExZIGNvbG91cmVkIGJ5LCBzbyBpdCBhbHdheXMgYWdyZWVzIHdpdGggdGhlXG4gKiBsZWdlbmQgYmVzaWRlIGl0LlxuICpcbiAqIERlbGliZXJhdGVseSBub3QgUHJpbWVORydzIGBwVG9vbHRpcGA6IHRoYXQgYmluZHMgdG8gYW4gZWxlbWVudCwgYW5kIHRoZXNlXG4gKiBwb2ludHMgYXJlIHBpeGVscyBpbiBhIFdlYkdQVSBjYW52YXMgd2l0aCBubyBET00gb2YgdGhlaXIgb3duLlxuICovXG5leHBvcnQgY2xhc3MgTmFwYXJpU3BhdGlhbFRvb2x0aXAge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsOiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBwcmltYXJ5OiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2Vjb25kYXJ5OiBIVE1MU3BhbkVsZW1lbnQ7XG4gIC8qKiBHYXAgYmV0d2VlbiB0aGUgY3Vyc29yIGFuZCB0aGUgYm94LCBzbyB0aGUgYm94IG5ldmVyIHNpdHMgdW5kZXIgdGhlIGFycm93LiAqL1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBPRkZTRVQgPSAxNDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IEhUTUxFbGVtZW50KSB7XG4gICAgLy8gQWJzb2x1dGVseSBwb3NpdGlvbmVkIHdpdGhpbiB0aGUgaG9zdCwgc28gdGhlIGhvc3QgbXVzdCBlc3RhYmxpc2ggYVxuICAgIC8vIGNvbnRhaW5pbmcgYmxvY2sgKHRoZSBwbG90IGhvc3QgaXMgb2Z0ZW4gc3RhdGljYWxseSBwb3NpdGlvbmVkKS4gVGVzdGVkIGZvclxuICAgIC8vIHdoYXQgaXQgbXVzdCBOT1QgYmUgcmF0aGVyIHRoYW4gZm9yICdzdGF0aWMnOiBhIGNvbXB1dGVkIHBvc2l0aW9uIGNhbiBhbHNvXG4gICAgLy8gY29tZSBiYWNrIGVtcHR5LCBhbmQgdHJlYXRpbmcgdGhhdCBhcyBhbHJlYWR5LXBvc2l0aW9uZWQgd291bGQgbGVhdmUgdGhlIGJveFxuICAgIC8vIGFuY2hvcmVkIHRvIHNvbWUgYW5jZXN0b3IgaW5zdGVhZC5cbiAgICBjb25zdCBwb3NpdGlvbmVkID0gWydyZWxhdGl2ZScsICdhYnNvbHV0ZScsICdmaXhlZCcsICdzdGlja3knXTtcbiAgICBpZiAoIXBvc2l0aW9uZWQuaW5jbHVkZXMoZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5wb3NpdGlvbikpIHtcbiAgICAgIGhvc3Quc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgIH1cblxuICAgIHRoaXMuZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuZWwuc3R5bGUsIHtcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgLy8gQWJvdmUgdGhlIGNhbnZhcyBhbmQgdGhlIHJlZ2lvbiBvdmVybGF5LCBiZWxvdyBhbnkgZGlhbG9nLlxuICAgICAgekluZGV4OiAnNicsXG4gICAgICAvLyBUaGUgcG9pbnRlciBoYXMgdG8gcmVhY2ggdGhlIGNhbnZhcyB1bmRlcm5lYXRoOiBhIHRvb2x0aXAgdGhhdCBhdGVcbiAgICAgIC8vIHBvaW50ZXIgZXZlbnRzIHdvdWxkIGtpbGwgb3JiaXRpbmcgdGhlIG1vbWVudCBpdCBhcHBlYXJlZC5cbiAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgIHBhZGRpbmc6ICc0cHggOHB4JyxcbiAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICBiYWNrZ3JvdW5kOiAncmdiYSgxNywgMTcsIDIwLCAwLjg4KScsXG4gICAgICBjb2xvcjogJyNmZmYnLFxuICAgICAgZm9udDogJzEycHgvMS4zNSBzeXN0ZW0tdWksIHNhbnMtc2VyaWYnLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICBib3hTaGFkb3c6ICcwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjM1KScsXG4gICAgICBtYXhXaWR0aDogJzIycmVtJyxcbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICB9IGFzIFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4pO1xuXG4gICAgdGhpcy5wcmltYXJ5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIE9iamVjdC5hc3NpZ24odGhpcy5wcmltYXJ5LnN0eWxlLCB7IGRpc3BsYXk6ICdibG9jaycsIGZvbnRXZWlnaHQ6ICc2MDAnIH0pO1xuICAgIHRoaXMuc2Vjb25kYXJ5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIE9iamVjdC5hc3NpZ24odGhpcy5zZWNvbmRhcnkuc3R5bGUsIHtcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICBvcGFjaXR5OiAnMC43JyxcbiAgICAgIGZvbnRTaXplOiAnMTFweCcsXG4gICAgICAvLyBFdmVyeSBsaW5lIGFmdGVyIHRoZSBmaXJzdCBpcyBhIGRldGFpbCBsaW5lLCBvbmUgcGVyIHJvdy5cbiAgICAgIHdoaXRlU3BhY2U6ICdwcmUnLFxuICAgIH0gYXMgUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPik7XG5cbiAgICB0aGlzLmVsLmFwcGVuZCh0aGlzLnByaW1hcnksIHRoaXMuc2Vjb25kYXJ5KTtcbiAgICBob3N0LmFwcGVuZENoaWxkKHRoaXMuZWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgYGxpbmVzYCBhdCBhIHBvaW50IGdpdmVuIGluIEhPU1QtcmVsYXRpdmUgcGl4ZWxzLlxuICAgKlxuICAgKiBGbGlwcyB0byB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgY3Vyc29yIG5lYXIgYW4gZWRnZSByYXRoZXIgdGhhbiBiZWluZyBjbGlwcGVkXG4gICAqIGJ5IHRoZSBob3N0IOKAlCBhIHRvb2x0aXAgaGFsZiBvdXRzaWRlIHRoZSBwbG90IGlzIHdvcnNlIHRoYW4gb25lIG9uIHRoZSBsZWZ0LlxuICAgKi9cbiAgc2hvdyhsaW5lczogcmVhZG9ubHkgc3RyaW5nW10sIGhvc3RYOiBudW1iZXIsIGhvc3RZOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAobGluZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wcmltYXJ5LnRleHRDb250ZW50ID0gbGluZXNbMF07XG4gICAgY29uc3QgZGV0YWlscyA9IGxpbmVzLnNsaWNlKDEpLmZpbHRlcihCb29sZWFuKTtcbiAgICB0aGlzLnNlY29uZGFyeS50ZXh0Q29udGVudCA9IGRldGFpbHMuam9pbignXFxuJyk7XG4gICAgdGhpcy5zZWNvbmRhcnkuc3R5bGUuZGlzcGxheSA9IGRldGFpbHMubGVuZ3RoID8gJ2Jsb2NrJyA6ICdub25lJztcbiAgICAvLyBNZWFzdXJlZCB3aGlsZSB2aXNpYmxlOiBvZmZzZXRXaWR0aCBpcyAwIG9uIGEgYGRpc3BsYXk6IG5vbmVgIGVsZW1lbnQsIHNvXG4gICAgLy8gdGhlIGZsaXAgYmVsb3cgd291bGQgYWx3YXlzIHRoaW5rIHRoZSBib3ggZml0cy5cbiAgICB0aGlzLmVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXG4gICAgY29uc3QgZ2FwID0gTmFwYXJpU3BhdGlhbFRvb2x0aXAuT0ZGU0VUO1xuICAgIGNvbnN0IHcgPSB0aGlzLmVsLm9mZnNldFdpZHRoO1xuICAgIGNvbnN0IGggPSB0aGlzLmVsLm9mZnNldEhlaWdodDtcbiAgICBjb25zdCBob3N0VyA9IHRoaXMuaG9zdC5jbGllbnRXaWR0aDtcbiAgICBjb25zdCBob3N0SCA9IHRoaXMuaG9zdC5jbGllbnRIZWlnaHQ7XG4gICAgY29uc3QgbGVmdCA9IGhvc3RYICsgZ2FwICsgdyA+IGhvc3RXID8gTWF0aC5tYXgoMCwgaG9zdFggLSBnYXAgLSB3KSA6IGhvc3RYICsgZ2FwO1xuICAgIGNvbnN0IHRvcCA9IGhvc3RZICsgZ2FwICsgaCA+IGhvc3RIID8gTWF0aC5tYXgoMCwgaG9zdFkgLSBnYXAgLSBoKSA6IGhvc3RZICsgZ2FwO1xuICAgIHRoaXMuZWwuc3R5bGUubGVmdCA9IGAke01hdGgucm91bmQobGVmdCl9cHhgO1xuICAgIHRoaXMuZWwuc3R5bGUudG9wID0gYCR7TWF0aC5yb3VuZCh0b3ApfXB4YDtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5lbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG5cbiAgLyoqIFRydWUgd2hpbGUgdGhlIGJveCBpcyBvbiBzY3JlZW4g4oCUIGZvciB0ZXN0cywgYW5kIHRvIHNraXAgcmVkdW5kYW50IGhpZGVzLiAqL1xuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbC5zdHlsZS5kaXNwbGF5ICE9PSAnbm9uZSc7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZWwucmVtb3ZlKCk7XG4gIH1cbn1cbiJdfQ==
|