@esotericsoftware/spine-pixi-v8 4.2.94 → 4.2.96
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/dist/SpinePipe.js +6 -5
- package/dist/esm/spine-pixi-v8.min.mjs +3 -3
- package/dist/esm/spine-pixi-v8.mjs +4 -4
- package/dist/esm/spine-pixi-v8.mjs.map +2 -2
- package/dist/iife/spine-pixi-v8.js +4 -4
- package/dist/iife/spine-pixi-v8.js.map +2 -2
- package/dist/iife/spine-pixi-v8.min.js +1 -1
- package/package.json +2 -2
package/dist/SpinePipe.js
CHANGED
|
@@ -70,8 +70,8 @@ export class SpinePipe {
|
|
|
70
70
|
const cacheData = spine._getCachedData(slot, attachment);
|
|
71
71
|
const batchableSpineSlot = gpuSpine.slotBatches[cacheData.id];
|
|
72
72
|
const texture = cacheData.texture;
|
|
73
|
-
if (texture !== batchableSpineSlot
|
|
74
|
-
if (!batchableSpineSlot
|
|
73
|
+
if (texture !== batchableSpineSlot?.texture) {
|
|
74
|
+
if (!batchableSpineSlot?._batcher.checkAndUpdateTexture(batchableSpineSlot, texture)) {
|
|
75
75
|
return true;
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -126,8 +126,9 @@ export class SpinePipe {
|
|
|
126
126
|
if (attachment instanceof RegionAttachment || attachment instanceof MeshAttachment) {
|
|
127
127
|
const cacheData = spine._getCachedData(slot, attachment);
|
|
128
128
|
if (!cacheData.skipRender) {
|
|
129
|
-
const batchableSpineSlot = gpuSpine.slotBatches[
|
|
130
|
-
batchableSpineSlot.
|
|
129
|
+
const batchableSpineSlot = gpuSpine.slotBatches[cacheData.id];
|
|
130
|
+
// we didn't figure out why batchableSpineSlot might be undefined: https://github.com/EsotericSoftware/spine-runtimes/issues/2991
|
|
131
|
+
batchableSpineSlot?._batcher?.updateElement(batchableSpineSlot);
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
}
|
|
@@ -150,4 +151,4 @@ export class SpinePipe {
|
|
|
150
151
|
}
|
|
151
152
|
}
|
|
152
153
|
extensions.add(SpinePipe);
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BpbmVQaXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NwaW5lUGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFFL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFFVSxhQUFhLEVBQzdCLFVBQVUsR0FJVixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc3RCxNQUFNLGlCQUFpQixHQUFnQztJQUN0RCxDQUFDLEVBQUUsUUFBUTtJQUNYLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLFVBQVU7SUFDYixDQUFDLEVBQUUsUUFBUTtDQUNYLENBQUM7QUFJRixtQ0FBbUM7QUFDbkMsTUFBTSxPQUFPLFNBQVM7SUFDckIsY0FBYztJQUNkLE1BQU0sQ0FBQyxTQUFTLEdBQUc7UUFDbEIsSUFBSSxFQUFFO1lBQ0wsYUFBYSxDQUFDLFVBQVU7WUFDeEIsYUFBYSxDQUFDLFdBQVc7WUFDekIsYUFBYSxDQUFDLFdBQVc7U0FDekI7UUFDRCxJQUFJLEVBQUUsT0FBTztLQUNKLENBQUM7SUFFWCxRQUFRLENBQVc7SUFFWCxZQUFZLEdBQXdDLEVBQUUsQ0FBQztJQUM5Qyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0MsQ0FBQztJQUVoSCxZQUFhLFFBQWtCO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0IsQ0FBRSxLQUFZO1FBQy9CLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBRXpDLGdGQUFnRjtRQUNoRixJQUFJLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELGtIQUFrSDthQUM3RyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ25DLHNEQUFzRDtZQUN0RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUU5QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2xELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUV4QyxJQUFJLFVBQVUsWUFBWSxnQkFBZ0IsSUFBSSxVQUFVLFlBQVksY0FBYyxFQUFFLENBQUM7b0JBQ3BGLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUN6RCxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUU5RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO29CQUVsQyxJQUFJLE9BQU8sS0FBSyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDOzRCQUNyRixPQUFPLElBQUksQ0FBQzt3QkFDYixDQUFDO29CQUNGLENBQUM7Z0JBQ0YsQ0FBQztZQUNGLENBQUM7UUFDRixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFFLEtBQVksRUFBRSxjQUE4QjtRQUMxRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUVoRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUUzQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQVUsQ0FBQztRQUUvRSxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUV6QyxLQUFLLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFakMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEMsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6RCxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFFdkIsSUFBSSxVQUFVLFlBQVksZ0JBQWdCLElBQUksVUFBVSxZQUFZLGNBQWMsRUFBRSxDQUFDO2dCQUNwRixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDekQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLGtCQUFrQixFQUFFLENBQUM7Z0JBRTNGLGtCQUFrQixDQUFDLE9BQU8sQ0FDekIsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxDQUNYLENBQUM7Z0JBRUYsVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztZQUNGLENBQUM7WUFFRCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUvRCxJQUFJLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztnQkFFaEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNqQixTQUFTLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztvQkFDaEMsNElBQTRJO29CQUM1SSxTQUFTLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSyxDQUFDLENBQUM7Z0JBQ3BFLENBQUM7Z0JBRUQsU0FBUyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDbEMsQ0FBQztRQUNGLENBQUM7SUFDRixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsS0FBWTtRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5QyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUV6QyxLQUFLLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFakMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFFM0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFeEMsSUFBSSxVQUFVLFlBQVksZ0JBQWdCLElBQUksVUFBVSxZQUFZLGNBQWMsRUFBRSxDQUFDO2dCQUNwRixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFFekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDM0IsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUUzRixrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ2hFLENBQUM7WUFDRixDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxLQUFZO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQVcsQ0FBQztRQUMzQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsT0FBTztRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBVyxDQUFDO0lBQzdCLENBQUM7SUFFTyxhQUFhLENBQUUsS0FBWTtRQUNsQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLGFBQWEsQ0FBRSxLQUFZO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ25ELEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7QUFHRixVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBBcHJpbCA1LCAyMDI1LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRlxuICogVEhFIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBNZXNoQXR0YWNobWVudCwgUmVnaW9uQXR0YWNobWVudCB9IGZyb20gJ0Blc290ZXJpY3NvZnR3YXJlL3NwaW5lLWNvcmUnO1xuaW1wb3J0IHtcblx0dHlwZSBCTEVORF9NT0RFUyxcblx0dHlwZSBDb250YWluZXIsIEV4dGVuc2lvblR5cGUsXG5cdGV4dGVuc2lvbnMsXG5cdHR5cGUgSW5zdHJ1Y3Rpb25TZXQsXG5cdHR5cGUgUmVuZGVyZXIsXG5cdHR5cGUgUmVuZGVyUGlwZSxcbn0gZnJvbSAncGl4aS5qcyc7XG5pbXBvcnQgeyBCYXRjaGFibGVTcGluZVNsb3QgfSBmcm9tICcuL0JhdGNoYWJsZVNwaW5lU2xvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNwaW5lIH0gZnJvbSAnLi9TcGluZS5qcyc7XG5cbmNvbnN0IHNwaW5lQmxlbmRNb2RlTWFwOiBSZWNvcmQ8bnVtYmVyLCBCTEVORF9NT0RFUz4gPSB7XG5cdDA6ICdub3JtYWwnLFxuXHQxOiAnYWRkJyxcblx0MjogJ211bHRpcGx5Jyxcblx0MzogJ3NjcmVlbidcbn07XG5cbnR5cGUgR3B1U3BpbmVEYXRhRWxlbWVudCA9IHsgc2xvdEJhdGNoZXM6IFJlY29yZDxzdHJpbmcsIEJhdGNoYWJsZVNwaW5lU2xvdD4gfTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbmV4cG9ydCBjbGFzcyBTcGluZVBpcGUgaW1wbGVtZW50cyBSZW5kZXJQaXBlPFNwaW5lPiB7XG5cdC8qKiBAaWdub3JlICovXG5cdHN0YXRpYyBleHRlbnNpb24gPSB7XG5cdFx0dHlwZTogW1xuXHRcdFx0RXh0ZW5zaW9uVHlwZS5XZWJHTFBpcGVzLFxuXHRcdFx0RXh0ZW5zaW9uVHlwZS5XZWJHUFVQaXBlcyxcblx0XHRcdEV4dGVuc2lvblR5cGUuQ2FudmFzUGlwZXMsXG5cdFx0XSxcblx0XHRuYW1lOiAnc3BpbmUnLFxuXHR9IGFzIGNvbnN0O1xuXG5cdHJlbmRlcmVyOiBSZW5kZXJlcjtcblxuXHRwcml2YXRlIGdwdVNwaW5lRGF0YTogUmVjb3JkPHN0cmluZywgR3B1U3BpbmVEYXRhRWxlbWVudD4gPSB7fTtcblx0cHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlbmRlcmFibGVCb3VuZCA9IHRoaXMuZGVzdHJveVJlbmRlcmFibGUuYmluZCh0aGlzKSBhcyAocmVuZGVyYWJsZTogQ29udGFpbmVyKSA9PiB2b2lkO1xuXG5cdGNvbnN0cnVjdG9yIChyZW5kZXJlcjogUmVuZGVyZXIpIHtcblx0XHR0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXI7XG5cdH1cblxuXHR2YWxpZGF0ZVJlbmRlcmFibGUgKHNwaW5lOiBTcGluZSk6IGJvb2xlYW4ge1xuXHRcdHNwaW5lLl92YWxpZGF0ZUFuZFRyYW5zZm9ybUF0dGFjaG1lbnRzKCk7XG5cblx0XHQvLyBpZiBzcGluZSBhdHRhY2htZW50cyBoYXZlIGNoYW5nZWQgb3IgZGVzdHJveWVkLCB3ZSBuZWVkIHRvIHJlYnVpbGQgdGhlIGJhdGNoIVxuXHRcdGlmIChzcGluZS5zcGluZUF0dGFjaG1lbnRzRGlydHkpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblxuXHRcdC8vIGlmIHRoZSB0ZXh0dXJlcyBoYXZlIGNoYW5nZWQsIHdlIG5lZWQgdG8gcmVidWlsZCB0aGUgYmF0Y2gsIGJ1dCBvbmx5IGlmIHRoZSB0ZXh0dXJlIGlzIG5vdCBhbHJlYWR5IGluIHRoZSBiYXRjaFxuXHRcdGVsc2UgaWYgKHNwaW5lLnNwaW5lVGV4dHVyZXNEaXJ0eSkge1xuXHRcdFx0Ly8gbG9vcCB0aHJvdWdoIGFuZCBzZWUgaWYgdGhlIHRleHR1cmVzIGhhdmUgY2hhbmdlZC4uXG5cdFx0XHRjb25zdCBkcmF3T3JkZXIgPSBzcGluZS5za2VsZXRvbi5kcmF3T3JkZXI7XG5cdFx0XHRjb25zdCBncHVTcGluZSA9IHRoaXMuZ3B1U3BpbmVEYXRhW3NwaW5lLnVpZF07XG5cblx0XHRcdGZvciAobGV0IGkgPSAwLCBuID0gZHJhd09yZGVyLmxlbmd0aDsgaSA8IG47IGkrKykge1xuXHRcdFx0XHRjb25zdCBzbG90ID0gZHJhd09yZGVyW2ldO1xuXHRcdFx0XHRjb25zdCBhdHRhY2htZW50ID0gc2xvdC5nZXRBdHRhY2htZW50KCk7XG5cblx0XHRcdFx0aWYgKGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBSZWdpb25BdHRhY2htZW50IHx8IGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBNZXNoQXR0YWNobWVudCkge1xuXHRcdFx0XHRcdGNvbnN0IGNhY2hlRGF0YSA9IHNwaW5lLl9nZXRDYWNoZWREYXRhKHNsb3QsIGF0dGFjaG1lbnQpO1xuXHRcdFx0XHRcdGNvbnN0IGJhdGNoYWJsZVNwaW5lU2xvdCA9IGdwdVNwaW5lLnNsb3RCYXRjaGVzW2NhY2hlRGF0YS5pZF07XG5cblx0XHRcdFx0XHRjb25zdCB0ZXh0dXJlID0gY2FjaGVEYXRhLnRleHR1cmU7XG5cblx0XHRcdFx0XHRpZiAodGV4dHVyZSAhPT0gYmF0Y2hhYmxlU3BpbmVTbG90LnRleHR1cmUpIHtcblx0XHRcdFx0XHRcdGlmICghYmF0Y2hhYmxlU3BpbmVTbG90Ll9iYXRjaGVyLmNoZWNrQW5kVXBkYXRlVGV4dHVyZShiYXRjaGFibGVTcGluZVNsb3QsIHRleHR1cmUpKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdGFkZFJlbmRlcmFibGUgKHNwaW5lOiBTcGluZSwgaW5zdHJ1Y3Rpb25TZXQ6IEluc3RydWN0aW9uU2V0KSB7XG5cdFx0Y29uc3QgZ3B1U3BpbmUgPSB0aGlzLl9nZXRTcGluZURhdGEoc3BpbmUpO1xuXG5cdFx0Y29uc3QgYmF0Y2hlciA9IHRoaXMucmVuZGVyZXIucmVuZGVyUGlwZXMuYmF0Y2g7XG5cblx0XHRjb25zdCBkcmF3T3JkZXIgPSBzcGluZS5za2VsZXRvbi5kcmF3T3JkZXI7XG5cblx0XHRjb25zdCByb3VuZFBpeGVscyA9ICh0aGlzLnJlbmRlcmVyLl9yb3VuZFBpeGVscyB8IHNwaW5lLl9yb3VuZFBpeGVscykgYXMgMCB8IDE7XG5cblx0XHRzcGluZS5fdmFsaWRhdGVBbmRUcmFuc2Zvcm1BdHRhY2htZW50cygpO1xuXG5cdFx0c3BpbmUuc3BpbmVBdHRhY2htZW50c0RpcnR5ID0gZmFsc2U7XG5cdFx0c3BpbmUuc3BpbmVUZXh0dXJlc0RpcnR5ID0gZmFsc2U7XG5cblx0XHRmb3IgKGxldCBpID0gMCwgbiA9IGRyYXdPcmRlci5sZW5ndGg7IGkgPCBuOyBpKyspIHtcblx0XHRcdGNvbnN0IHNsb3QgPSBkcmF3T3JkZXJbaV07XG5cdFx0XHRjb25zdCBhdHRhY2htZW50ID0gc2xvdC5nZXRBdHRhY2htZW50KCk7XG5cdFx0XHRjb25zdCBibGVuZE1vZGUgPSBzcGluZUJsZW5kTW9kZU1hcFtzbG90LmRhdGEuYmxlbmRNb2RlXTtcblx0XHRcdGxldCBza2lwUmVuZGVyID0gZmFsc2U7XG5cblx0XHRcdGlmIChhdHRhY2htZW50IGluc3RhbmNlb2YgUmVnaW9uQXR0YWNobWVudCB8fCBhdHRhY2htZW50IGluc3RhbmNlb2YgTWVzaEF0dGFjaG1lbnQpIHtcblx0XHRcdFx0Y29uc3QgY2FjaGVEYXRhID0gc3BpbmUuX2dldENhY2hlZERhdGEoc2xvdCwgYXR0YWNobWVudCk7XG5cdFx0XHRcdGNvbnN0IGJhdGNoYWJsZVNwaW5lU2xvdCA9IGdwdVNwaW5lLnNsb3RCYXRjaGVzW2NhY2hlRGF0YS5pZF0gfHw9IG5ldyBCYXRjaGFibGVTcGluZVNsb3QoKTtcblxuXHRcdFx0XHRiYXRjaGFibGVTcGluZVNsb3Quc2V0RGF0YShcblx0XHRcdFx0XHRzcGluZSxcblx0XHRcdFx0XHRjYWNoZURhdGEsXG5cdFx0XHRcdFx0YmxlbmRNb2RlLFxuXHRcdFx0XHRcdHJvdW5kUGl4ZWxzXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0c2tpcFJlbmRlciA9IGNhY2hlRGF0YS5za2lwUmVuZGVyO1xuXHRcdFx0XHRpZiAoIXNraXBSZW5kZXIpIHtcblx0XHRcdFx0XHRiYXRjaGVyLmFkZFRvQmF0Y2goYmF0Y2hhYmxlU3BpbmVTbG90LCBpbnN0cnVjdGlvblNldCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgY29udGFpbmVyQXR0YWNobWVudCA9IHNwaW5lLl9zbG90c09iamVjdFtzbG90LmRhdGEubmFtZV07XG5cblx0XHRcdGlmIChjb250YWluZXJBdHRhY2htZW50KSB7XG5cdFx0XHRcdGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lckF0dGFjaG1lbnQuY29udGFpbmVyO1xuXG5cdFx0XHRcdGlmICghc2tpcFJlbmRlcikge1xuXHRcdFx0XHRcdGNvbnRhaW5lci5pbmNsdWRlSW5CdWlsZCA9IHRydWU7XG5cdFx0XHRcdFx0Ly8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpanMvcGl4aWpzL2Jsb2IvYjRjMDUwYTc5MWZlNjVlOTc5ZTQ2N2M5Y2JhMmJkYTBjMDFhMWMzNS9zcmMvc2NlbmUvY29udGFpbmVyL3V0aWxzL2NvbGxlY3RBbGxSZW5kZXJhYmxlcy50cyNMMjhcblx0XHRcdFx0XHRjb250YWluZXIuY29sbGVjdFJlbmRlcmFibGVzKGluc3RydWN0aW9uU2V0LCB0aGlzLnJlbmRlcmVyLCBudWxsISk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb250YWluZXIuaW5jbHVkZUluQnVpbGQgPSBmYWxzZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHR1cGRhdGVSZW5kZXJhYmxlIChzcGluZTogU3BpbmUpIHtcblx0XHRjb25zdCBncHVTcGluZSA9IHRoaXMuZ3B1U3BpbmVEYXRhW3NwaW5lLnVpZF07XG5cblx0XHRzcGluZS5fdmFsaWRhdGVBbmRUcmFuc2Zvcm1BdHRhY2htZW50cygpO1xuXG5cdFx0c3BpbmUuc3BpbmVBdHRhY2htZW50c0RpcnR5ID0gZmFsc2U7XG5cdFx0c3BpbmUuc3BpbmVUZXh0dXJlc0RpcnR5ID0gZmFsc2U7XG5cblx0XHRjb25zdCBkcmF3T3JkZXIgPSBzcGluZS5za2VsZXRvbi5kcmF3T3JkZXI7XG5cblx0XHRmb3IgKGxldCBpID0gMCwgbiA9IGRyYXdPcmRlci5sZW5ndGg7IGkgPCBuOyBpKyspIHtcblx0XHRcdGNvbnN0IHNsb3QgPSBkcmF3T3JkZXJbaV07XG5cdFx0XHRjb25zdCBhdHRhY2htZW50ID0gc2xvdC5nZXRBdHRhY2htZW50KCk7XG5cblx0XHRcdGlmIChhdHRhY2htZW50IGluc3RhbmNlb2YgUmVnaW9uQXR0YWNobWVudCB8fCBhdHRhY2htZW50IGluc3RhbmNlb2YgTWVzaEF0dGFjaG1lbnQpIHtcblx0XHRcdFx0Y29uc3QgY2FjaGVEYXRhID0gc3BpbmUuX2dldENhY2hlZERhdGEoc2xvdCwgYXR0YWNobWVudCk7XG5cblx0XHRcdFx0aWYgKCFjYWNoZURhdGEuc2tpcFJlbmRlcikge1xuXHRcdFx0XHRcdGNvbnN0IGJhdGNoYWJsZVNwaW5lU2xvdCA9IGdwdVNwaW5lLnNsb3RCYXRjaGVzW3NwaW5lLl9nZXRDYWNoZWREYXRhKHNsb3QsIGF0dGFjaG1lbnQpLmlkXTtcblxuXHRcdFx0XHRcdGJhdGNoYWJsZVNwaW5lU2xvdC5fYmF0Y2hlcj8udXBkYXRlRWxlbWVudChiYXRjaGFibGVTcGluZVNsb3QpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0ZGVzdHJveVJlbmRlcmFibGUgKHNwaW5lOiBTcGluZSkge1xuXHRcdHRoaXMuZ3B1U3BpbmVEYXRhW3NwaW5lLnVpZF0gPSBudWxsIGFzIGFueTtcblx0XHRzcGluZS5vZmYoJ2Rlc3Ryb3llZCcsIHRoaXMuX2Rlc3Ryb3lSZW5kZXJhYmxlQm91bmQpO1xuXHR9XG5cblx0ZGVzdHJveSAoKSB7XG5cdFx0dGhpcy5ncHVTcGluZURhdGEgPSBudWxsIGFzIGFueTtcblx0XHR0aGlzLnJlbmRlcmVyID0gbnVsbCBhcyBhbnk7XG5cdH1cblxuXHRwcml2YXRlIF9nZXRTcGluZURhdGEgKHNwaW5lOiBTcGluZSk6IEdwdVNwaW5lRGF0YUVsZW1lbnQge1xuXHRcdHJldHVybiB0aGlzLmdwdVNwaW5lRGF0YVtzcGluZS51aWRdIHx8IHRoaXMuX2luaXRNZXNoRGF0YShzcGluZSk7XG5cdH1cblxuXHRwcml2YXRlIF9pbml0TWVzaERhdGEgKHNwaW5lOiBTcGluZSk6IEdwdVNwaW5lRGF0YUVsZW1lbnQge1xuXHRcdHRoaXMuZ3B1U3BpbmVEYXRhW3NwaW5lLnVpZF0gPSB7IHNsb3RCYXRjaGVzOiB7fSB9O1xuXHRcdHNwaW5lLm9uKCdkZXN0cm95ZWQnLCB0aGlzLl9kZXN0cm95UmVuZGVyYWJsZUJvdW5kKTtcblx0XHRyZXR1cm4gdGhpcy5ncHVTcGluZURhdGFbc3BpbmUudWlkXTtcblx0fVxufVxuXG5leHRlbnNpb25zLmFkZChTcGluZVBpcGUpO1xuIl19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BpbmVQaXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NwaW5lUGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFFL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFFVSxhQUFhLEVBQzdCLFVBQVUsR0FJVixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc3RCxNQUFNLGlCQUFpQixHQUFnQztJQUN0RCxDQUFDLEVBQUUsUUFBUTtJQUNYLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLFVBQVU7SUFDYixDQUFDLEVBQUUsUUFBUTtDQUNYLENBQUM7QUFJRixtQ0FBbUM7QUFDbkMsTUFBTSxPQUFPLFNBQVM7SUFDckIsY0FBYztJQUNkLE1BQU0sQ0FBQyxTQUFTLEdBQUc7UUFDbEIsSUFBSSxFQUFFO1lBQ0wsYUFBYSxDQUFDLFVBQVU7WUFDeEIsYUFBYSxDQUFDLFdBQVc7WUFDekIsYUFBYSxDQUFDLFdBQVc7U0FDekI7UUFDRCxJQUFJLEVBQUUsT0FBTztLQUNKLENBQUM7SUFFWCxRQUFRLENBQVc7SUFFWCxZQUFZLEdBQXdDLEVBQUUsQ0FBQztJQUM5Qyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0MsQ0FBQztJQUVoSCxZQUFhLFFBQWtCO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0IsQ0FBRSxLQUFZO1FBQy9CLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBRXpDLGdGQUFnRjtRQUNoRixJQUFJLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1FBQ2Is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LEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ25ELEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7QUFHRixVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBBcHJpbCA1LCAyMDI1LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRlxuICogVEhFIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBNZXNoQXR0YWNobWVudCwgUmVnaW9uQXR0YWNobWVudCB9IGZyb20gJ0Blc290ZXJpY3NvZnR3YXJlL3NwaW5lLWNvcmUnO1xuaW1wb3J0IHtcblx0dHlwZSBCTEVORF9NT0RFUyxcblx0dHlwZSBDb250YWluZXIsIEV4dGVuc2lvblR5cGUsXG5cdGV4dGVuc2lvbnMsXG5cdHR5cGUgSW5zdHJ1Y3Rpb25TZXQsXG5cdHR5cGUgUmVuZGVyZXIsXG5cdHR5cGUgUmVuZGVyUGlwZSxcbn0gZnJvbSAncGl4aS5qcyc7XG5pbXBvcnQgeyBCYXRjaGFibGVTcGluZVNsb3QgfSBmcm9tICcuL0JhdGNoYWJsZVNwaW5lU2xvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNwaW5lIH0gZnJvbSAnLi9TcGluZS5qcyc7XG5cbmNvbnN0IHNwaW5lQmxlbmRNb2RlTWFwOiBSZWNvcmQ8bnVtYmVyLCBCTEVORF9NT0RFUz4gPSB7XG5cdDA6ICdub3JtYWwnLFxuXHQxOiAnYWRkJyxcblx0MjogJ211bHRpcGx5Jyxcblx0MzogJ3NjcmVlbidcbn07XG5cbnR5cGUgR3B1U3BpbmVEYXRhRWxlbWVudCA9IHsgc2xvdEJhdGNoZXM6IFJlY29yZDxzdHJpbmcsIEJhdGNoYWJsZVNwaW5lU2xvdCB8IHVuZGVmaW5lZD4gfTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbmV4cG9ydCBjbGFzcyBTcGluZVBpcGUgaW1wbGVtZW50cyBSZW5kZXJQaXBlPFNwaW5lPiB7XG5cdC8qKiBAaWdub3JlICovXG5cdHN0YXRpYyBleHRlbnNpb24gPSB7XG5cdFx0dHlwZTogW1xuXHRcdFx0RXh0ZW5zaW9uVHlwZS5XZWJHTFBpcGVzLFxuXHRcdFx0RXh0ZW5zaW9uVHlwZS5XZWJHUFVQaXBlcyxcblx0XHRcdEV4dGVuc2lvblR5cGUuQ2FudmFzUGlwZXMsXG5cdFx0XSxcblx0XHRuYW1lOiAnc3BpbmUnLFxuXHR9IGFzIGNvbnN0O1xuXG5cdHJlbmRlcmVyOiBSZW5kZXJlcjtcblxuXHRwcml2YXRlIGdwdVNwaW5lRGF0YTogUmVjb3JkPHN0cmluZywgR3B1U3BpbmVEYXRhRWxlbWVudD4gPSB7fTtcblx0cHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlbmRlcmFibGVCb3VuZCA9IHRoaXMuZGVzdHJveVJlbmRlcmFibGUuYmluZCh0aGlzKSBhcyAocmVuZGVyYWJsZTogQ29udGFpbmVyKSA9PiB2b2lkO1xuXG5cdGNvbnN0cnVjdG9yIChyZW5kZXJlcjogUmVuZGVyZXIpIHtcblx0XHR0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXI7XG5cdH1cblxuXHR2YWxpZGF0ZVJlbmRlcmFibGUgKHNwaW5lOiBTcGluZSk6IGJvb2xlYW4ge1xuXHRcdHNwaW5lLl92YWxpZGF0ZUFuZFRyYW5zZm9ybUF0dGFjaG1lbnRzKCk7XG5cblx0XHQvLyBpZiBzcGluZSBhdHRhY2htZW50cyBoYXZlIGNoYW5nZWQgb3IgZGVzdHJveWVkLCB3ZSBuZWVkIHRvIHJlYnVpbGQgdGhlIGJhdGNoIVxuXHRcdGlmIChzcGluZS5zcGluZUF0dGFjaG1lbnRzRGlydHkpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblxuXHRcdC8vIGlmIHRoZSB0ZXh0dXJlcyBoYXZlIGNoYW5nZWQsIHdlIG5lZWQgdG8gcmVidWlsZCB0aGUgYmF0Y2gsIGJ1dCBvbmx5IGlmIHRoZSB0ZXh0dXJlIGlzIG5vdCBhbHJlYWR5IGluIHRoZSBiYXRjaFxuXHRcdGVsc2UgaWYgKHNwaW5lLnNwaW5lVGV4dHVyZXNEaXJ0eSkge1xuXHRcdFx0Ly8gbG9vcCB0aHJvdWdoIGFuZCBzZWUgaWYgdGhlIHRleHR1cmVzIGhhdmUgY2hhbmdlZC4uXG5cdFx0XHRjb25zdCBkcmF3T3JkZXIgPSBzcGluZS5za2VsZXRvbi5kcmF3T3JkZXI7XG5cdFx0XHRjb25zdCBncHVTcGluZSA9IHRoaXMuZ3B1U3BpbmVEYXRhW3NwaW5lLnVpZF07XG5cblx0XHRcdGZvciAobGV0IGkgPSAwLCBuID0gZHJhd09yZGVyLmxlbmd0aDsgaSA8IG47IGkrKykge1xuXHRcdFx0XHRjb25zdCBzbG90ID0gZHJhd09yZGVyW2ldO1xuXHRcdFx0XHRjb25zdCBhdHRhY2htZW50ID0gc2xvdC5nZXRBdHRhY2htZW50KCk7XG5cblx0XHRcdFx0aWYgKGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBSZWdpb25BdHRhY2htZW50IHx8IGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBNZXNoQXR0YWNobWVudCkge1xuXHRcdFx0XHRcdGNvbnN0IGNhY2hlRGF0YSA9IHNwaW5lLl9nZXRDYWNoZWREYXRhKHNsb3QsIGF0dGFjaG1lbnQpO1xuXHRcdFx0XHRcdGNvbnN0IGJhdGNoYWJsZVNwaW5lU2xvdCA9IGdwdVNwaW5lLnNsb3RCYXRjaGVzW2NhY2hlRGF0YS5pZF07XG5cblx0XHRcdFx0XHRjb25zdCB0ZXh0dXJlID0gY2FjaGVEYXRhLnRleHR1cmU7XG5cblx0XHRcdFx0XHRpZiAodGV4dHVyZSAhPT0gYmF0Y2hhYmxlU3BpbmVTbG90Py50ZXh0dXJlKSB7XG5cdFx0XHRcdFx0XHRpZiAoIWJhdGNoYWJsZVNwaW5lU2xvdD8uX2JhdGNoZXIuY2hlY2tBbmRVcGRhdGVUZXh0dXJlKGJhdGNoYWJsZVNwaW5lU2xvdCwgdGV4dHVyZSkpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0YWRkUmVuZGVyYWJsZSAoc3BpbmU6IFNwaW5lLCBpbnN0cnVjdGlvblNldDogSW5zdHJ1Y3Rpb25TZXQpIHtcblx0XHRjb25zdCBncHVTcGluZSA9IHRoaXMuX2dldFNwaW5lRGF0YShzcGluZSk7XG5cblx0XHRjb25zdCBiYXRjaGVyID0gdGhpcy5yZW5kZXJlci5yZW5kZXJQaXBlcy5iYXRjaDtcblxuXHRcdGNvbnN0IGRyYXdPcmRlciA9IHNwaW5lLnNrZWxldG9uLmRyYXdPcmRlcjtcblxuXHRcdGNvbnN0IHJvdW5kUGl4ZWxzID0gKHRoaXMucmVuZGVyZXIuX3JvdW5kUGl4ZWxzIHwgc3BpbmUuX3JvdW5kUGl4ZWxzKSBhcyAwIHwgMTtcblxuXHRcdHNwaW5lLl92YWxpZGF0ZUFuZFRyYW5zZm9ybUF0dGFjaG1lbnRzKCk7XG5cblx0XHRzcGluZS5zcGluZUF0dGFjaG1lbnRzRGlydHkgPSBmYWxzZTtcblx0XHRzcGluZS5zcGluZVRleHR1cmVzRGlydHkgPSBmYWxzZTtcblxuXHRcdGZvciAobGV0IGkgPSAwLCBuID0gZHJhd09yZGVyLmxlbmd0aDsgaSA8IG47IGkrKykge1xuXHRcdFx0Y29uc3Qgc2xvdCA9IGRyYXdPcmRlcltpXTtcblx0XHRcdGNvbnN0IGF0dGFjaG1lbnQgPSBzbG90LmdldEF0dGFjaG1lbnQoKTtcblx0XHRcdGNvbnN0IGJsZW5kTW9kZSA9IHNwaW5lQmxlbmRNb2RlTWFwW3Nsb3QuZGF0YS5ibGVuZE1vZGVdO1xuXHRcdFx0bGV0IHNraXBSZW5kZXIgPSBmYWxzZTtcblxuXHRcdFx0aWYgKGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBSZWdpb25BdHRhY2htZW50IHx8IGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBNZXNoQXR0YWNobWVudCkge1xuXHRcdFx0XHRjb25zdCBjYWNoZURhdGEgPSBzcGluZS5fZ2V0Q2FjaGVkRGF0YShzbG90LCBhdHRhY2htZW50KTtcblx0XHRcdFx0Y29uc3QgYmF0Y2hhYmxlU3BpbmVTbG90ID0gZ3B1U3BpbmUuc2xvdEJhdGNoZXNbY2FjaGVEYXRhLmlkXSB8fD0gbmV3IEJhdGNoYWJsZVNwaW5lU2xvdCgpO1xuXG5cdFx0XHRcdGJhdGNoYWJsZVNwaW5lU2xvdC5zZXREYXRhKFxuXHRcdFx0XHRcdHNwaW5lLFxuXHRcdFx0XHRcdGNhY2hlRGF0YSxcblx0XHRcdFx0XHRibGVuZE1vZGUsXG5cdFx0XHRcdFx0cm91bmRQaXhlbHNcblx0XHRcdFx0KTtcblxuXHRcdFx0XHRza2lwUmVuZGVyID0gY2FjaGVEYXRhLnNraXBSZW5kZXI7XG5cdFx0XHRcdGlmICghc2tpcFJlbmRlcikge1xuXHRcdFx0XHRcdGJhdGNoZXIuYWRkVG9CYXRjaChiYXRjaGFibGVTcGluZVNsb3QsIGluc3RydWN0aW9uU2V0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBjb250YWluZXJBdHRhY2htZW50ID0gc3BpbmUuX3Nsb3RzT2JqZWN0W3Nsb3QuZGF0YS5uYW1lXTtcblxuXHRcdFx0aWYgKGNvbnRhaW5lckF0dGFjaG1lbnQpIHtcblx0XHRcdFx0Y29uc3QgY29udGFpbmVyID0gY29udGFpbmVyQXR0YWNobWVudC5jb250YWluZXI7XG5cblx0XHRcdFx0aWYgKCFza2lwUmVuZGVyKSB7XG5cdFx0XHRcdFx0Y29udGFpbmVyLmluY2x1ZGVJbkJ1aWxkID0gdHJ1ZTtcblx0XHRcdFx0XHQvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3BpeGlqcy9waXhpanMvYmxvYi9iNGMwNTBhNzkxZmU2NWU5NzllNDY3YzljYmEyYmRhMGMwMWExYzM1L3NyYy9zY2VuZS9jb250YWluZXIvdXRpbHMvY29sbGVjdEFsbFJlbmRlcmFibGVzLnRzI0wyOFxuXHRcdFx0XHRcdGNvbnRhaW5lci5jb2xsZWN0UmVuZGVyYWJsZXMoaW5zdHJ1Y3Rpb25TZXQsIHRoaXMucmVuZGVyZXIsIG51bGwhKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnRhaW5lci5pbmNsdWRlSW5CdWlsZCA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHVwZGF0ZVJlbmRlcmFibGUgKHNwaW5lOiBTcGluZSkge1xuXHRcdGNvbnN0IGdwdVNwaW5lID0gdGhpcy5ncHVTcGluZURhdGFbc3BpbmUudWlkXTtcblxuXHRcdHNwaW5lLl92YWxpZGF0ZUFuZFRyYW5zZm9ybUF0dGFjaG1lbnRzKCk7XG5cblx0XHRzcGluZS5zcGluZUF0dGFjaG1lbnRzRGlydHkgPSBmYWxzZTtcblx0XHRzcGluZS5zcGluZVRleHR1cmVzRGlydHkgPSBmYWxzZTtcblxuXHRcdGNvbnN0IGRyYXdPcmRlciA9IHNwaW5lLnNrZWxldG9uLmRyYXdPcmRlcjtcblxuXHRcdGZvciAobGV0IGkgPSAwLCBuID0gZHJhd09yZGVyLmxlbmd0aDsgaSA8IG47IGkrKykge1xuXHRcdFx0Y29uc3Qgc2xvdCA9IGRyYXdPcmRlcltpXTtcblx0XHRcdGNvbnN0IGF0dGFjaG1lbnQgPSBzbG90LmdldEF0dGFjaG1lbnQoKTtcblxuXHRcdFx0aWYgKGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBSZWdpb25BdHRhY2htZW50IHx8IGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBNZXNoQXR0YWNobWVudCkge1xuXHRcdFx0XHRjb25zdCBjYWNoZURhdGEgPSBzcGluZS5fZ2V0Q2FjaGVkRGF0YShzbG90LCBhdHRhY2htZW50KTtcblxuXHRcdFx0XHRpZiAoIWNhY2hlRGF0YS5za2lwUmVuZGVyKSB7XG5cdFx0XHRcdFx0Y29uc3QgYmF0Y2hhYmxlU3BpbmVTbG90ID0gZ3B1U3BpbmUuc2xvdEJhdGNoZXNbY2FjaGVEYXRhLmlkXTtcblx0XHRcdFx0XHQvLyB3ZSBkaWRuJ3QgZmlndXJlIG91dCB3aHkgYmF0Y2hhYmxlU3BpbmVTbG90IG1pZ2h0IGJlIHVuZGVmaW5lZDogaHR0cHM6Ly9naXRodWIuY29tL0Vzb3RlcmljU29mdHdhcmUvc3BpbmUtcnVudGltZXMvaXNzdWVzLzI5OTFcblx0XHRcdFx0XHRiYXRjaGFibGVTcGluZVNsb3Q/Ll9iYXRjaGVyPy51cGRhdGVFbGVtZW50KGJhdGNoYWJsZVNwaW5lU2xvdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRkZXN0cm95UmVuZGVyYWJsZSAoc3BpbmU6IFNwaW5lKSB7XG5cdFx0dGhpcy5ncHVTcGluZURhdGFbc3BpbmUudWlkXSA9IG51bGwgYXMgYW55O1xuXHRcdHNwaW5lLm9mZignZGVzdHJveWVkJywgdGhpcy5fZGVzdHJveVJlbmRlcmFibGVCb3VuZCk7XG5cdH1cblxuXHRkZXN0cm95ICgpIHtcblx0XHR0aGlzLmdwdVNwaW5lRGF0YSA9IG51bGwgYXMgYW55O1xuXHRcdHRoaXMucmVuZGVyZXIgPSBudWxsIGFzIGFueTtcblx0fVxuXG5cdHByaXZhdGUgX2dldFNwaW5lRGF0YSAoc3BpbmU6IFNwaW5lKTogR3B1U3BpbmVEYXRhRWxlbWVudCB7XG5cdFx0cmV0dXJuIHRoaXMuZ3B1U3BpbmVEYXRhW3NwaW5lLnVpZF0gfHwgdGhpcy5faW5pdE1lc2hEYXRhKHNwaW5lKTtcblx0fVxuXG5cdHByaXZhdGUgX2luaXRNZXNoRGF0YSAoc3BpbmU6IFNwaW5lKTogR3B1U3BpbmVEYXRhRWxlbWVudCB7XG5cdFx0dGhpcy5ncHVTcGluZURhdGFbc3BpbmUudWlkXSA9IHsgc2xvdEJhdGNoZXM6IHt9IH07XG5cdFx0c3BpbmUub24oJ2Rlc3Ryb3llZCcsIHRoaXMuX2Rlc3Ryb3lSZW5kZXJhYmxlQm91bmQpO1xuXHRcdHJldHVybiB0aGlzLmdwdVNwaW5lRGF0YVtzcGluZS51aWRdO1xuXHR9XG59XG5cbmV4dGVuc2lvbnMuYWRkKFNwaW5lUGlwZSk7XG4iXX0=
|