ag-psd 14.3.5 → 14.3.6
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/CHANGELOG.md +3 -0
- package/dist/abr.js +1 -1
- package/dist/additionalInfo.js +8 -8
- package/dist/bundle.js +20 -8
- package/dist/csh.js +1 -1
- package/dist/descriptor.js +1 -1
- package/dist/effectsHelpers.js +1 -1
- package/dist/engineData.js +1 -1
- package/dist/helpers.js +1 -1
- package/dist/imageResources.js +10 -1
- package/dist/index.js +1 -1
- package/dist/initializeCanvas.js +1 -1
- package/dist/psd.js +1 -1
- package/dist/psdReader.js +3 -1
- package/dist/psdWriter.js +3 -2
- package/dist/text.js +1 -1
- package/dist/utf8.js +1 -1
- package/dist-es/abr.js +1 -1
- package/dist-es/additionalInfo.js +8 -8
- package/dist-es/csh.js +1 -1
- package/dist-es/descriptor.js +1 -1
- package/dist-es/effectsHelpers.js +1 -1
- package/dist-es/engineData.js +1 -1
- package/dist-es/helpers.js +1 -1
- package/dist-es/imageResources.js +10 -1
- package/dist-es/index.js +1 -1
- package/dist-es/initializeCanvas.js +1 -1
- package/dist-es/psd.js +1 -1
- package/dist-es/psdReader.js +3 -1
- package/dist-es/psdWriter.js +3 -2
- package/dist-es/text.js +1 -1
- package/dist-es/utf8.js +1 -1
- package/package.json +1 -1
package/dist/effectsHelpers.js
CHANGED
|
@@ -287,4 +287,4 @@ function writeEffects(writer, effects) {
|
|
|
287
287
|
}
|
|
288
288
|
exports.writeEffects = writeEffects;
|
|
289
289
|
|
|
290
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QyxDQUFDLENBQUM7UUFDdkIsY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsc0JBQVUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pELHNCQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsc0JBQVUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BDO0FBQ0YsQ0FBQztBQXJHRCxvQ0FxR0MiLCJmaWxlIjoiZWZmZWN0c0hlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXllckVmZmVjdHNJbmZvLCBCZXZlbFN0eWxlLCBMYXllckVmZmVjdFNoYWRvdyB9IGZyb20gJy4vcHNkJztcbmltcG9ydCB7IHRvQmxlbmRNb2RlLCBmcm9tQmxlbmRNb2RlIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7XG5cdFBzZFJlYWRlciwgY2hlY2tTaWduYXR1cmUsIHJlYWRTaWduYXR1cmUsIHNraXBCeXRlcywgcmVhZFVpbnQxNiwgcmVhZFVpbnQ4LFxuXHRyZWFkVWludDMyLCByZWFkRml4ZWRQb2ludDMyLCByZWFkQ29sb3Jcbn0gZnJvbSAnLi9wc2RSZWFkZXInO1xuaW1wb3J0IHtcblx0UHNkV3JpdGVyLCB3cml0ZVNpZ25hdHVyZSwgd3JpdGVVaW50MTYsIHdyaXRlWmVyb3MsIHdyaXRlRml4ZWRQb2ludDMyLFxuXHR3cml0ZVVpbnQ4LCB3cml0ZVVpbnQzMiwgd3JpdGVDb2xvclxufSBmcm9tICcuL3BzZFdyaXRlcic7XG5cbmNvbnN0IGJldmVsU3R5bGVzOiBCZXZlbFN0eWxlW10gPSBbXG5cdHVuZGVmaW5lZCBhcyBhbnksICdvdXRlciBiZXZlbCcsICdpbm5lciBiZXZlbCcsICdlbWJvc3MnLCAncGlsbG93IGVtYm9zcycsICdzdHJva2UgZW1ib3NzJ1xuXTtcblxuZnVuY3Rpb24gcmVhZEJsZW5kTW9kZShyZWFkZXI6IFBzZFJlYWRlcikge1xuXHRjaGVja1NpZ25hdHVyZShyZWFkZXIsICc4QklNJyk7XG5cdHJldHVybiB0b0JsZW5kTW9kZVtyZWFkU2lnbmF0dXJlKHJlYWRlcildIHx8ICdub3JtYWwnO1xufVxuXG5mdW5jdGlvbiB3cml0ZUJsZW5kTW9kZSh3cml0ZXI6IFBzZFdyaXRlciwgbW9kZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG5cdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJzhCSU0nKTtcblx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCBmcm9tQmxlbmRNb2RlW21vZGUhXSB8fCAnbm9ybScpO1xufVxuXG5mdW5jdGlvbiByZWFkRml4ZWRQb2ludDgocmVhZGVyOiBQc2RSZWFkZXIpIHtcblx0cmV0dXJuIHJlYWRVaW50OChyZWFkZXIpIC8gMHhmZjtcbn1cblxuZnVuY3Rpb24gd3JpdGVGaXhlZFBvaW50OCh3cml0ZXI6IFBzZFdyaXRlciwgdmFsdWU6IG51bWJlcikge1xuXHR3cml0ZVVpbnQ4KHdyaXRlciwgTWF0aC5yb3VuZCh2YWx1ZSAqIDB4ZmYpIHwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkRWZmZWN0cyhyZWFkZXI6IFBzZFJlYWRlcikge1xuXHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQxNihyZWFkZXIpO1xuXHRpZiAodmVyc2lvbiAhPT0gMCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVmZmVjdHMgbGF5ZXIgdmVyc2lvbjogJHt2ZXJzaW9ufWApO1xuXG5cdGNvbnN0IGVmZmVjdHNDb3VudCA9IHJlYWRVaW50MTYocmVhZGVyKTtcblx0Y29uc3QgZWZmZWN0czogTGF5ZXJFZmZlY3RzSW5mbyA9IDxhbnk+e307XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBlZmZlY3RzQ291bnQ7IGkrKykge1xuXHRcdGNoZWNrU2lnbmF0dXJlKHJlYWRlciwgJzhCSU0nKTtcblx0XHRjb25zdCB0eXBlID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0c3dpdGNoICh0eXBlKSB7XG5cdFx0XHRjYXNlICdjbW5TJzogeyAvLyBjb21tb24gc3RhdGUgKHNlZSBTZWUgRWZmZWN0cyBsYXllciwgY29tbW9uIHN0YXRlIGluZm8pXG5cdFx0XHRcdGNvbnN0IHNpemUgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZpc2libGUgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHRcdFx0XHRza2lwQnl0ZXMocmVhZGVyLCAyKTtcblxuXHRcdFx0XHRpZiAoc2l6ZSAhPT0gNyB8fCB2ZXJzaW9uICE9PSAwIHx8ICF2aXNpYmxlKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWZmZWN0cyBjb21tb24gc3RhdGVgKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjYXNlICdkc2R3JzogLy8gZHJvcCBzaGFkb3cgKHNlZSBTZWUgRWZmZWN0cyBsYXllciwgZHJvcCBzaGFkb3cgYW5kIGlubmVyIHNoYWRvdyBpbmZvKVxuXHRcdFx0Y2FzZSAnaXNkdyc6IHsgLy8gaW5uZXIgc2hhZG93IChzZWUgU2VlIEVmZmVjdHMgbGF5ZXIsIGRyb3Agc2hhZG93IGFuZCBpbm5lciBzaGFkb3cgaW5mbylcblx0XHRcdFx0Y29uc3QgYmxvY2tTaXplID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXG5cdFx0XHRcdGlmIChibG9ja1NpemUgIT09IDQxICYmIGJsb2NrU2l6ZSAhPT0gNTEpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzaGFkb3cgc2l6ZTogJHtibG9ja1NpemV9YCk7XG5cdFx0XHRcdGlmICh2ZXJzaW9uICE9PSAwICYmIHZlcnNpb24gIT09IDIpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzaGFkb3cgdmVyc2lvbjogJHt2ZXJzaW9ufWApO1xuXG5cdFx0XHRcdGNvbnN0IHNpemUgPSByZWFkRml4ZWRQb2ludDMyKHJlYWRlcik7XG5cdFx0XHRcdHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTsgLy8gaW50ZW5zaXR5XG5cdFx0XHRcdGNvbnN0IGFuZ2xlID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBkaXN0YW5jZSA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgY29sb3IgPSByZWFkQ29sb3IocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgYmxlbmRNb2RlID0gcmVhZEJsZW5kTW9kZShyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBlbmFibGVkID0gISFyZWFkVWludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgdXNlR2xvYmFsTGlnaHQgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBvcGFjaXR5ID0gcmVhZEZpeGVkUG9pbnQ4KHJlYWRlcik7XG5cdFx0XHRcdGlmIChibG9ja1NpemUgPj0gNTEpIHJlYWRDb2xvcihyZWFkZXIpOyAvLyBuYXRpdmUgY29sb3Jcblx0XHRcdFx0Y29uc3Qgc2hhZG93SW5mbzogTGF5ZXJFZmZlY3RTaGFkb3cgPSB7XG5cdFx0XHRcdFx0c2l6ZTogeyB1bml0czogJ1BpeGVscycsIHZhbHVlOiBzaXplIH0sXG5cdFx0XHRcdFx0ZGlzdGFuY2U6IHsgdW5pdHM6ICdQaXhlbHMnLCB2YWx1ZTogZGlzdGFuY2UgfSxcblx0XHRcdFx0XHRhbmdsZSwgY29sb3IsIGJsZW5kTW9kZSwgZW5hYmxlZCwgdXNlR2xvYmFsTGlnaHQsIG9wYWNpdHlcblx0XHRcdFx0fTtcblxuXHRcdFx0XHRpZiAodHlwZSA9PT0gJ2RzZHcnKSB7XG5cdFx0XHRcdFx0ZWZmZWN0cy5kcm9wU2hhZG93ID0gW3NoYWRvd0luZm9dO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGVmZmVjdHMuaW5uZXJTaGFkb3cgPSBbc2hhZG93SW5mb107XG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjYXNlICdvZ2x3JzogeyAvLyBvdXRlciBnbG93IChzZWUgU2VlIEVmZmVjdHMgbGF5ZXIsIG91dGVyIGdsb3cgaW5mbylcblx0XHRcdFx0Y29uc3QgYmxvY2tTaXplID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXG5cdFx0XHRcdGlmIChibG9ja1NpemUgIT09IDMyICYmIGJsb2NrU2l6ZSAhPT0gNDIpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRlciBnbG93IHNpemU6ICR7YmxvY2tTaXplfWApO1xuXHRcdFx0XHRpZiAodmVyc2lvbiAhPT0gMCAmJiB2ZXJzaW9uICE9PSAyKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb3V0ZXIgZ2xvdyB2ZXJzaW9uOiAke3ZlcnNpb259YCk7XG5cblx0XHRcdFx0Y29uc3Qgc2l6ZSA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRcdFx0cmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpOyAvLyBpbnRlbnNpdHlcblx0XHRcdFx0Y29uc3QgY29sb3IgPSByZWFkQ29sb3IocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgYmxlbmRNb2RlID0gcmVhZEJsZW5kTW9kZShyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBlbmFibGVkID0gISFyZWFkVWludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3Qgb3BhY2l0eSA9IHJlYWRGaXhlZFBvaW50OChyZWFkZXIpO1xuXHRcdFx0XHRpZiAoYmxvY2tTaXplID49IDQyKSByZWFkQ29sb3IocmVhZGVyKTsgLy8gbmF0aXZlIGNvbG9yXG5cblx0XHRcdFx0ZWZmZWN0cy5vdXRlckdsb3cgPSB7XG5cdFx0XHRcdFx0c2l6ZTogeyB1bml0czogJ1BpeGVscycsIHZhbHVlOiBzaXplIH0sXG5cdFx0XHRcdFx0Y29sb3IsIGJsZW5kTW9kZSwgZW5hYmxlZCwgb3BhY2l0eVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHRcdGNhc2UgJ2lnbHcnOiB7IC8vIGlubmVyIGdsb3cgKHNlZSBTZWUgRWZmZWN0cyBsYXllciwgaW5uZXIgZ2xvdyBpbmZvKVxuXHRcdFx0XHRjb25zdCBibG9ja1NpemUgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cblx0XHRcdFx0aWYgKGJsb2NrU2l6ZSAhPT0gMzIgJiYgYmxvY2tTaXplICE9PSA0MykgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGlubmVyIGdsb3cgc2l6ZTogJHtibG9ja1NpemV9YCk7XG5cdFx0XHRcdGlmICh2ZXJzaW9uICE9PSAwICYmIHZlcnNpb24gIT09IDIpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbm5lciBnbG93IHZlcnNpb246ICR7dmVyc2lvbn1gKTtcblxuXHRcdFx0XHRjb25zdCBzaXplID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRyZWFkRml4ZWRQb2ludDMyKHJlYWRlcik7IC8vIGludGVuc2l0eVxuXHRcdFx0XHRjb25zdCBjb2xvciA9IHJlYWRDb2xvcihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBibGVuZE1vZGUgPSByZWFkQmxlbmRNb2RlKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IGVuYWJsZWQgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBvcGFjaXR5ID0gcmVhZEZpeGVkUG9pbnQ4KHJlYWRlcik7XG5cblx0XHRcdFx0aWYgKGJsb2NrU2l6ZSA+PSA0Mykge1xuXHRcdFx0XHRcdHJlYWRVaW50OChyZWFkZXIpOyAvLyBpbnZlcnRlZFxuXHRcdFx0XHRcdHJlYWRDb2xvcihyZWFkZXIpOyAvLyBuYXRpdmUgY29sb3Jcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGVmZmVjdHMuaW5uZXJHbG93ID0ge1xuXHRcdFx0XHRcdHNpemU6IHsgdW5pdHM6ICdQaXhlbHMnLCB2YWx1ZTogc2l6ZSB9LFxuXHRcdFx0XHRcdGNvbG9yLCBibGVuZE1vZGUsIGVuYWJsZWQsIG9wYWNpdHlcblx0XHRcdFx0fTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjYXNlICdiZXZsJzogeyAvLyBiZXZlbCAoc2VlIFNlZSBFZmZlY3RzIGxheWVyLCBiZXZlbCBpbmZvKVxuXHRcdFx0XHRjb25zdCBibG9ja1NpemUgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cblx0XHRcdFx0aWYgKGJsb2NrU2l6ZSAhPT0gNTggJiYgYmxvY2tTaXplICE9PSA3OCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJldmVsIHNpemU6ICR7YmxvY2tTaXplfWApO1xuXHRcdFx0XHRpZiAodmVyc2lvbiAhPT0gMCAmJiB2ZXJzaW9uICE9PSAyKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmV2ZWwgdmVyc2lvbjogJHt2ZXJzaW9ufWApO1xuXG5cdFx0XHRcdGNvbnN0IGFuZ2xlID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBzdHJlbmd0aCA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRcdFx0Y29uc3Qgc2l6ZSA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgaGlnaGxpZ2h0QmxlbmRNb2RlID0gcmVhZEJsZW5kTW9kZShyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBzaGFkb3dCbGVuZE1vZGUgPSByZWFkQmxlbmRNb2RlKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IGhpZ2hsaWdodENvbG9yID0gcmVhZENvbG9yKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHNoYWRvd0NvbG9yID0gcmVhZENvbG9yKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHN0eWxlID0gYmV2ZWxTdHlsZXNbcmVhZFVpbnQ4KHJlYWRlcildIHx8ICdpbm5lciBiZXZlbCc7XG5cdFx0XHRcdGNvbnN0IGhpZ2hsaWdodE9wYWNpdHkgPSByZWFkRml4ZWRQb2ludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3Qgc2hhZG93T3BhY2l0eSA9IHJlYWRGaXhlZFBvaW50OChyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBlbmFibGVkID0gISFyZWFkVWludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgdXNlR2xvYmFsTGlnaHQgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBkaXJlY3Rpb24gPSByZWFkVWludDgocmVhZGVyKSA/ICdkb3duJyA6ICd1cCc7XG5cblx0XHRcdFx0aWYgKGJsb2NrU2l6ZSA+PSA3OCkge1xuXHRcdFx0XHRcdHJlYWRDb2xvcihyZWFkZXIpOyAvLyByZWFsIGhpZ2hsaWdodCBjb2xvclxuXHRcdFx0XHRcdHJlYWRDb2xvcihyZWFkZXIpOyAvLyByZWFsIHNoYWRvdyBjb2xvclxuXHRcdFx0XHR9XG5cblx0XHRcdFx0ZWZmZWN0cy5iZXZlbCA9IHtcblx0XHRcdFx0XHRzaXplOiB7IHVuaXRzOiAnUGl4ZWxzJywgdmFsdWU6IHNpemUgfSxcblx0XHRcdFx0XHRhbmdsZSwgc3RyZW5ndGgsIGhpZ2hsaWdodEJsZW5kTW9kZSwgc2hhZG93QmxlbmRNb2RlLCBoaWdobGlnaHRDb2xvciwgc2hhZG93Q29sb3IsXG5cdFx0XHRcdFx0c3R5bGUsIGhpZ2hsaWdodE9wYWNpdHksIHNoYWRvd09wYWNpdHksIGVuYWJsZWQsIHVzZUdsb2JhbExpZ2h0LCBkaXJlY3Rpb24sXG5cdFx0XHRcdH07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0Y2FzZSAnc29maSc6IHsgLy8gc29saWQgZmlsbCAoUGhvdG9zaG9wIDcuMCkgKHNlZSBTZWUgRWZmZWN0cyBsYXllciwgc29saWQgZmlsbCAoYWRkZWQgaW4gUGhvdG9zaG9wIDcuMCkpXG5cdFx0XHRcdGNvbnN0IHNpemUgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cblx0XHRcdFx0aWYgKHNpemUgIT09IDM0KSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWZmZWN0cyBzb2xpZCBmaWxsIGluZm8gc2l6ZTogJHtzaXplfWApO1xuXHRcdFx0XHRpZiAodmVyc2lvbiAhPT0gMikgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVmZmVjdHMgc29saWQgZmlsbCBpbmZvIHZlcnNpb246ICR7dmVyc2lvbn1gKTtcblxuXHRcdFx0XHRjb25zdCBibGVuZE1vZGUgPSByZWFkQmxlbmRNb2RlKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IGNvbG9yID0gcmVhZENvbG9yKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IG9wYWNpdHkgPSByZWFkRml4ZWRQb2ludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgZW5hYmxlZCA9ICEhcmVhZFVpbnQ4KHJlYWRlcik7XG5cdFx0XHRcdHJlYWRDb2xvcihyZWFkZXIpOyAvLyBuYXRpdmUgY29sb3JcblxuXHRcdFx0XHRlZmZlY3RzLnNvbGlkRmlsbCA9IFt7IGJsZW5kTW9kZSwgY29sb3IsIG9wYWNpdHksIGVuYWJsZWQgfV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVmZmVjdCB0eXBlOiAnJHt0eXBlfSdgKTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gZWZmZWN0cztcbn1cblxuZnVuY3Rpb24gd3JpdGVTaGFkb3dJbmZvKHdyaXRlcjogUHNkV3JpdGVyLCBzaGFkb3c6IExheWVyRWZmZWN0U2hhZG93KSB7XG5cdHdyaXRlVWludDMyKHdyaXRlciwgNTEpO1xuXHR3cml0ZVVpbnQzMih3cml0ZXIsIDIpO1xuXHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIHNoYWRvdy5zaXplICYmIHNoYWRvdy5zaXplLnZhbHVlIHx8IDApO1xuXHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIDApOyAvLyBpbnRlbnNpdHlcblx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBzaGFkb3cuYW5nbGUgfHwgMCk7XG5cdHdyaXRlRml4ZWRQb2ludDMyKHdyaXRlciwgc2hhZG93LmRpc3RhbmNlICYmIHNoYWRvdy5kaXN0YW5jZS52YWx1ZSB8fCAwKTtcblx0d3JpdGVDb2xvcih3cml0ZXIsIHNoYWRvdy5jb2xvcik7XG5cdHdyaXRlQmxlbmRNb2RlKHdyaXRlciwgc2hhZG93LmJsZW5kTW9kZSk7XG5cdHdyaXRlVWludDgod3JpdGVyLCBzaGFkb3cuZW5hYmxlZCA/IDEgOiAwKTtcblx0d3JpdGVVaW50OCh3cml0ZXIsIHNoYWRvdy51c2VHbG9iYWxMaWdodCA/IDEgOiAwKTtcblx0d3JpdGVGaXhlZFBvaW50OCh3cml0ZXIsIHNoYWRvdy5vcGFjaXR5ID8/IDEpO1xuXHR3cml0ZUNvbG9yKHdyaXRlciwgc2hhZG93LmNvbG9yKTsgLy8gbmF0aXZlIGNvbG9yXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZUVmZmVjdHMod3JpdGVyOiBQc2RXcml0ZXIsIGVmZmVjdHM6IExheWVyRWZmZWN0c0luZm8pIHtcblx0Y29uc3QgZHJvcFNoYWRvdyA9IGVmZmVjdHMuZHJvcFNoYWRvdz8uWzBdO1xuXHRjb25zdCBpbm5lclNoYWRvdyA9IGVmZmVjdHMuaW5uZXJTaGFkb3c/LlswXTtcblx0Y29uc3Qgb3V0ZXJHbG93ID0gZWZmZWN0cy5vdXRlckdsb3c7XG5cdGNvbnN0IGlubmVyR2xvdyA9IGVmZmVjdHMuaW5uZXJHbG93O1xuXHRjb25zdCBiZXZlbCA9IGVmZmVjdHMuYmV2ZWw7XG5cdGNvbnN0IHNvbGlkRmlsbCA9IGVmZmVjdHMuc29saWRGaWxsPy5bMF07XG5cblx0bGV0IGNvdW50ID0gMTtcblx0aWYgKGRyb3BTaGFkb3cpIGNvdW50Kys7XG5cdGlmIChpbm5lclNoYWRvdykgY291bnQrKztcblx0aWYgKG91dGVyR2xvdykgY291bnQrKztcblx0aWYgKGlubmVyR2xvdykgY291bnQrKztcblx0aWYgKGJldmVsKSBjb3VudCsrO1xuXHRpZiAoc29saWRGaWxsKSBjb3VudCsrO1xuXG5cdHdyaXRlVWludDE2KHdyaXRlciwgMCk7XG5cdHdyaXRlVWludDE2KHdyaXRlciwgY291bnQpO1xuXG5cdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJzhCSU0nKTtcblx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnY21uUycpO1xuXHR3cml0ZVVpbnQzMih3cml0ZXIsIDcpOyAvLyBzaXplXG5cdHdyaXRlVWludDMyKHdyaXRlciwgMCk7IC8vIHZlcnNpb25cblx0d3JpdGVVaW50OCh3cml0ZXIsIDEpOyAvLyB2aXNpYmxlXG5cdHdyaXRlWmVyb3Mod3JpdGVyLCAyKTtcblxuXHRpZiAoZHJvcFNoYWRvdykge1xuXHRcdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJzhCSU0nKTtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICdkc2R3Jyk7XG5cdFx0d3JpdGVTaGFkb3dJbmZvKHdyaXRlciwgZHJvcFNoYWRvdyk7XG5cdH1cblxuXHRpZiAoaW5uZXJTaGFkb3cpIHtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICc4QklNJyk7XG5cdFx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnaXNkdycpO1xuXHRcdHdyaXRlU2hhZG93SW5mbyh3cml0ZXIsIGlubmVyU2hhZG93KTtcblx0fVxuXG5cdGlmIChvdXRlckdsb3cpIHtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICc4QklNJyk7XG5cdFx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnb2dsdycpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgNDIpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMik7XG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBvdXRlckdsb3cuc2l6ZT8udmFsdWUgfHwgMCk7XG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCAwKTsgLy8gaW50ZW5zaXR5XG5cdFx0d3JpdGVDb2xvcih3cml0ZXIsIG91dGVyR2xvdy5jb2xvcik7XG5cdFx0d3JpdGVCbGVuZE1vZGUod3JpdGVyLCBvdXRlckdsb3cuYmxlbmRNb2RlKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgb3V0ZXJHbG93LmVuYWJsZWQgPyAxIDogMCk7XG5cdFx0d3JpdGVGaXhlZFBvaW50OCh3cml0ZXIsIG91dGVyR2xvdy5vcGFjaXR5IHx8IDApO1xuXHRcdHdyaXRlQ29sb3Iod3JpdGVyLCBvdXRlckdsb3cuY29sb3IpO1xuXHR9XG5cblx0aWYgKGlubmVyR2xvdykge1xuXHRcdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJzhCSU0nKTtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICdpZ2x3Jyk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCA0Myk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCAyKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIGlubmVyR2xvdy5zaXplPy52YWx1ZSB8fCAwKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIDApOyAvLyBpbnRlbnNpdHlcblx0XHR3cml0ZUNvbG9yKHdyaXRlciwgaW5uZXJHbG93LmNvbG9yKTtcblx0XHR3cml0ZUJsZW5kTW9kZSh3cml0ZXIsIGlubmVyR2xvdy5ibGVuZE1vZGUpO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBpbm5lckdsb3cuZW5hYmxlZCA/IDEgOiAwKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQ4KHdyaXRlciwgaW5uZXJHbG93Lm9wYWNpdHkgfHwgMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIDApOyAvLyBpbnZlcnRlZFxuXHRcdHdyaXRlQ29sb3Iod3JpdGVyLCBpbm5lckdsb3cuY29sb3IpO1xuXHR9XG5cblx0aWYgKGJldmVsKSB7XG5cdFx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnOEJJTScpO1xuXHRcdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJ2JldmwnKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDc4KTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDIpO1xuXHRcdHdyaXRlRml4ZWRQb2ludDMyKHdyaXRlciwgYmV2ZWwuYW5nbGUgfHwgMCk7XG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBiZXZlbC5zdHJlbmd0aCB8fCAwKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIGJldmVsLnNpemU/LnZhbHVlIHx8IDApO1xuXHRcdHdyaXRlQmxlbmRNb2RlKHdyaXRlciwgYmV2ZWwuaGlnaGxpZ2h0QmxlbmRNb2RlKTtcblx0XHR3cml0ZUJsZW5kTW9kZSh3cml0ZXIsIGJldmVsLnNoYWRvd0JsZW5kTW9kZSk7XG5cdFx0d3JpdGVDb2xvcih3cml0ZXIsIGJldmVsLmhpZ2hsaWdodENvbG9yKTtcblx0XHR3cml0ZUNvbG9yKHdyaXRlciwgYmV2ZWwuc2hhZG93Q29sb3IpO1xuXHRcdGNvbnN0IHN0eWxlID0gYmV2ZWxTdHlsZXMuaW5kZXhPZihiZXZlbC5zdHlsZSEpO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBzdHlsZSA8PSAwID8gMSA6IHN0eWxlKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQ4KHdyaXRlciwgYmV2ZWwuaGlnaGxpZ2h0T3BhY2l0eSB8fCAwKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQ4KHdyaXRlciwgYmV2ZWwuc2hhZG93T3BhY2l0eSB8fCAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgYmV2ZWwuZW5hYmxlZCA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgYmV2ZWwudXNlR2xvYmFsTGlnaHQgPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGJldmVsLmRpcmVjdGlvbiA9PT0gJ2Rvd24nID8gMSA6IDApO1xuXHRcdHdyaXRlQ29sb3Iod3JpdGVyLCBiZXZlbC5oaWdobGlnaHRDb2xvcik7XG5cdFx0d3JpdGVDb2xvcih3cml0ZXIsIGJldmVsLnNoYWRvd0NvbG9yKTtcblx0fVxuXG5cdGlmIChzb2xpZEZpbGwpIHtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICc4QklNJyk7XG5cdFx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnc29maScpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMzQpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMik7XG5cdFx0d3JpdGVCbGVuZE1vZGUod3JpdGVyLCBzb2xpZEZpbGwuYmxlbmRNb2RlKTtcblx0XHR3cml0ZUNvbG9yKHdyaXRlciwgc29saWRGaWxsLmNvbG9yKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQ4KHdyaXRlciwgc29saWRGaWxsLm9wYWNpdHkgfHwgMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIHNvbGlkRmlsbC5lbmFibGVkID8gMSA6IDApO1xuXHRcdHdyaXRlQ29sb3Iod3JpdGVyLCBzb2xpZEZpbGwuY29sb3IpO1xuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IkQ6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
|
|
290
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QyxDQUFDLENBQUM7UUFDdkIsY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsc0JBQVUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pELHNCQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsc0JBQVUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BDO0FBQ0YsQ0FBQztBQXJHRCxvQ0FxR0MiLCJmaWxlIjoiZWZmZWN0c0hlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXllckVmZmVjdHNJbmZvLCBCZXZlbFN0eWxlLCBMYXllckVmZmVjdFNoYWRvdyB9IGZyb20gJy4vcHNkJztcbmltcG9ydCB7IHRvQmxlbmRNb2RlLCBmcm9tQmxlbmRNb2RlIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7XG5cdFBzZFJlYWRlciwgY2hlY2tTaWduYXR1cmUsIHJlYWRTaWduYXR1cmUsIHNraXBCeXRlcywgcmVhZFVpbnQxNiwgcmVhZFVpbnQ4LFxuXHRyZWFkVWludDMyLCByZWFkRml4ZWRQb2ludDMyLCByZWFkQ29sb3Jcbn0gZnJvbSAnLi9wc2RSZWFkZXInO1xuaW1wb3J0IHtcblx0UHNkV3JpdGVyLCB3cml0ZVNpZ25hdHVyZSwgd3JpdGVVaW50MTYsIHdyaXRlWmVyb3MsIHdyaXRlRml4ZWRQb2ludDMyLFxuXHR3cml0ZVVpbnQ4LCB3cml0ZVVpbnQzMiwgd3JpdGVDb2xvclxufSBmcm9tICcuL3BzZFdyaXRlcic7XG5cbmNvbnN0IGJldmVsU3R5bGVzOiBCZXZlbFN0eWxlW10gPSBbXG5cdHVuZGVmaW5lZCBhcyBhbnksICdvdXRlciBiZXZlbCcsICdpbm5lciBiZXZlbCcsICdlbWJvc3MnLCAncGlsbG93IGVtYm9zcycsICdzdHJva2UgZW1ib3NzJ1xuXTtcblxuZnVuY3Rpb24gcmVhZEJsZW5kTW9kZShyZWFkZXI6IFBzZFJlYWRlcikge1xuXHRjaGVja1NpZ25hdHVyZShyZWFkZXIsICc4QklNJyk7XG5cdHJldHVybiB0b0JsZW5kTW9kZVtyZWFkU2lnbmF0dXJlKHJlYWRlcildIHx8ICdub3JtYWwnO1xufVxuXG5mdW5jdGlvbiB3cml0ZUJsZW5kTW9kZSh3cml0ZXI6IFBzZFdyaXRlciwgbW9kZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG5cdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJzhCSU0nKTtcblx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCBmcm9tQmxlbmRNb2RlW21vZGUhXSB8fCAnbm9ybScpO1xufVxuXG5mdW5jdGlvbiByZWFkRml4ZWRQb2ludDgocmVhZGVyOiBQc2RSZWFkZXIpIHtcblx0cmV0dXJuIHJlYWRVaW50OChyZWFkZXIpIC8gMHhmZjtcbn1cblxuZnVuY3Rpb24gd3JpdGVGaXhlZFBvaW50OCh3cml0ZXI6IFBzZFdyaXRlciwgdmFsdWU6IG51bWJlcikge1xuXHR3cml0ZVVpbnQ4KHdyaXRlciwgTWF0aC5yb3VuZCh2YWx1ZSAqIDB4ZmYpIHwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkRWZmZWN0cyhyZWFkZXI6IFBzZFJlYWRlcikge1xuXHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQxNihyZWFkZXIpO1xuXHRpZiAodmVyc2lvbiAhPT0gMCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVmZmVjdHMgbGF5ZXIgdmVyc2lvbjogJHt2ZXJzaW9ufWApO1xuXG5cdGNvbnN0IGVmZmVjdHNDb3VudCA9IHJlYWRVaW50MTYocmVhZGVyKTtcblx0Y29uc3QgZWZmZWN0czogTGF5ZXJFZmZlY3RzSW5mbyA9IDxhbnk+e307XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBlZmZlY3RzQ291bnQ7IGkrKykge1xuXHRcdGNoZWNrU2lnbmF0dXJlKHJlYWRlciwgJzhCSU0nKTtcblx0XHRjb25zdCB0eXBlID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0c3dpdGNoICh0eXBlKSB7XG5cdFx0XHRjYXNlICdjbW5TJzogeyAvLyBjb21tb24gc3RhdGUgKHNlZSBTZWUgRWZmZWN0cyBsYXllciwgY29tbW9uIHN0YXRlIGluZm8pXG5cdFx0XHRcdGNvbnN0IHNpemUgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZpc2libGUgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHRcdFx0XHRza2lwQnl0ZXMocmVhZGVyLCAyKTtcblxuXHRcdFx0XHRpZiAoc2l6ZSAhPT0gNyB8fCB2ZXJzaW9uICE9PSAwIHx8ICF2aXNpYmxlKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWZmZWN0cyBjb21tb24gc3RhdGVgKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjYXNlICdkc2R3JzogLy8gZHJvcCBzaGFkb3cgKHNlZSBTZWUgRWZmZWN0cyBsYXllciwgZHJvcCBzaGFkb3cgYW5kIGlubmVyIHNoYWRvdyBpbmZvKVxuXHRcdFx0Y2FzZSAnaXNkdyc6IHsgLy8gaW5uZXIgc2hhZG93IChzZWUgU2VlIEVmZmVjdHMgbGF5ZXIsIGRyb3Agc2hhZG93IGFuZCBpbm5lciBzaGFkb3cgaW5mbylcblx0XHRcdFx0Y29uc3QgYmxvY2tTaXplID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXG5cdFx0XHRcdGlmIChibG9ja1NpemUgIT09IDQxICYmIGJsb2NrU2l6ZSAhPT0gNTEpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzaGFkb3cgc2l6ZTogJHtibG9ja1NpemV9YCk7XG5cdFx0XHRcdGlmICh2ZXJzaW9uICE9PSAwICYmIHZlcnNpb24gIT09IDIpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzaGFkb3cgdmVyc2lvbjogJHt2ZXJzaW9ufWApO1xuXG5cdFx0XHRcdGNvbnN0IHNpemUgPSByZWFkRml4ZWRQb2ludDMyKHJlYWRlcik7XG5cdFx0XHRcdHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTsgLy8gaW50ZW5zaXR5XG5cdFx0XHRcdGNvbnN0IGFuZ2xlID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBkaXN0YW5jZSA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgY29sb3IgPSByZWFkQ29sb3IocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgYmxlbmRNb2RlID0gcmVhZEJsZW5kTW9kZShyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBlbmFibGVkID0gISFyZWFkVWludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgdXNlR2xvYmFsTGlnaHQgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBvcGFjaXR5ID0gcmVhZEZpeGVkUG9pbnQ4KHJlYWRlcik7XG5cdFx0XHRcdGlmIChibG9ja1NpemUgPj0gNTEpIHJlYWRDb2xvcihyZWFkZXIpOyAvLyBuYXRpdmUgY29sb3Jcblx0XHRcdFx0Y29uc3Qgc2hhZG93SW5mbzogTGF5ZXJFZmZlY3RTaGFkb3cgPSB7XG5cdFx0XHRcdFx0c2l6ZTogeyB1bml0czogJ1BpeGVscycsIHZhbHVlOiBzaXplIH0sXG5cdFx0XHRcdFx0ZGlzdGFuY2U6IHsgdW5pdHM6ICdQaXhlbHMnLCB2YWx1ZTogZGlzdGFuY2UgfSxcblx0XHRcdFx0XHRhbmdsZSwgY29sb3IsIGJsZW5kTW9kZSwgZW5hYmxlZCwgdXNlR2xvYmFsTGlnaHQsIG9wYWNpdHlcblx0XHRcdFx0fTtcblxuXHRcdFx0XHRpZiAodHlwZSA9PT0gJ2RzZHcnKSB7XG5cdFx0XHRcdFx0ZWZmZWN0cy5kcm9wU2hhZG93ID0gW3NoYWRvd0luZm9dO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGVmZmVjdHMuaW5uZXJTaGFkb3cgPSBbc2hhZG93SW5mb107XG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjYXNlICdvZ2x3JzogeyAvLyBvdXRlciBnbG93IChzZWUgU2VlIEVmZmVjdHMgbGF5ZXIsIG91dGVyIGdsb3cgaW5mbylcblx0XHRcdFx0Y29uc3QgYmxvY2tTaXplID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXG5cdFx0XHRcdGlmIChibG9ja1NpemUgIT09IDMyICYmIGJsb2NrU2l6ZSAhPT0gNDIpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRlciBnbG93IHNpemU6ICR7YmxvY2tTaXplfWApO1xuXHRcdFx0XHRpZiAodmVyc2lvbiAhPT0gMCAmJiB2ZXJzaW9uICE9PSAyKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb3V0ZXIgZ2xvdyB2ZXJzaW9uOiAke3ZlcnNpb259YCk7XG5cblx0XHRcdFx0Y29uc3Qgc2l6ZSA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRcdFx0cmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpOyAvLyBpbnRlbnNpdHlcblx0XHRcdFx0Y29uc3QgY29sb3IgPSByZWFkQ29sb3IocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgYmxlbmRNb2RlID0gcmVhZEJsZW5kTW9kZShyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBlbmFibGVkID0gISFyZWFkVWludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3Qgb3BhY2l0eSA9IHJlYWRGaXhlZFBvaW50OChyZWFkZXIpO1xuXHRcdFx0XHRpZiAoYmxvY2tTaXplID49IDQyKSByZWFkQ29sb3IocmVhZGVyKTsgLy8gbmF0aXZlIGNvbG9yXG5cblx0XHRcdFx0ZWZmZWN0cy5vdXRlckdsb3cgPSB7XG5cdFx0XHRcdFx0c2l6ZTogeyB1bml0czogJ1BpeGVscycsIHZhbHVlOiBzaXplIH0sXG5cdFx0XHRcdFx0Y29sb3IsIGJsZW5kTW9kZSwgZW5hYmxlZCwgb3BhY2l0eVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHRcdGNhc2UgJ2lnbHcnOiB7IC8vIGlubmVyIGdsb3cgKHNlZSBTZWUgRWZmZWN0cyBsYXllciwgaW5uZXIgZ2xvdyBpbmZvKVxuXHRcdFx0XHRjb25zdCBibG9ja1NpemUgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cblx0XHRcdFx0aWYgKGJsb2NrU2l6ZSAhPT0gMzIgJiYgYmxvY2tTaXplICE9PSA0MykgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGlubmVyIGdsb3cgc2l6ZTogJHtibG9ja1NpemV9YCk7XG5cdFx0XHRcdGlmICh2ZXJzaW9uICE9PSAwICYmIHZlcnNpb24gIT09IDIpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbm5lciBnbG93IHZlcnNpb246ICR7dmVyc2lvbn1gKTtcblxuXHRcdFx0XHRjb25zdCBzaXplID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRyZWFkRml4ZWRQb2ludDMyKHJlYWRlcik7IC8vIGludGVuc2l0eVxuXHRcdFx0XHRjb25zdCBjb2xvciA9IHJlYWRDb2xvcihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBibGVuZE1vZGUgPSByZWFkQmxlbmRNb2RlKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IGVuYWJsZWQgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBvcGFjaXR5ID0gcmVhZEZpeGVkUG9pbnQ4KHJlYWRlcik7XG5cblx0XHRcdFx0aWYgKGJsb2NrU2l6ZSA+PSA0Mykge1xuXHRcdFx0XHRcdHJlYWRVaW50OChyZWFkZXIpOyAvLyBpbnZlcnRlZFxuXHRcdFx0XHRcdHJlYWRDb2xvcihyZWFkZXIpOyAvLyBuYXRpdmUgY29sb3Jcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGVmZmVjdHMuaW5uZXJHbG93ID0ge1xuXHRcdFx0XHRcdHNpemU6IHsgdW5pdHM6ICdQaXhlbHMnLCB2YWx1ZTogc2l6ZSB9LFxuXHRcdFx0XHRcdGNvbG9yLCBibGVuZE1vZGUsIGVuYWJsZWQsIG9wYWNpdHlcblx0XHRcdFx0fTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjYXNlICdiZXZsJzogeyAvLyBiZXZlbCAoc2VlIFNlZSBFZmZlY3RzIGxheWVyLCBiZXZlbCBpbmZvKVxuXHRcdFx0XHRjb25zdCBibG9ja1NpemUgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cblx0XHRcdFx0aWYgKGJsb2NrU2l6ZSAhPT0gNTggJiYgYmxvY2tTaXplICE9PSA3OCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJldmVsIHNpemU6ICR7YmxvY2tTaXplfWApO1xuXHRcdFx0XHRpZiAodmVyc2lvbiAhPT0gMCAmJiB2ZXJzaW9uICE9PSAyKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmV2ZWwgdmVyc2lvbjogJHt2ZXJzaW9ufWApO1xuXG5cdFx0XHRcdGNvbnN0IGFuZ2xlID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBzdHJlbmd0aCA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRcdFx0Y29uc3Qgc2l6ZSA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgaGlnaGxpZ2h0QmxlbmRNb2RlID0gcmVhZEJsZW5kTW9kZShyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBzaGFkb3dCbGVuZE1vZGUgPSByZWFkQmxlbmRNb2RlKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IGhpZ2hsaWdodENvbG9yID0gcmVhZENvbG9yKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHNoYWRvd0NvbG9yID0gcmVhZENvbG9yKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHN0eWxlID0gYmV2ZWxTdHlsZXNbcmVhZFVpbnQ4KHJlYWRlcildIHx8ICdpbm5lciBiZXZlbCc7XG5cdFx0XHRcdGNvbnN0IGhpZ2hsaWdodE9wYWNpdHkgPSByZWFkRml4ZWRQb2ludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3Qgc2hhZG93T3BhY2l0eSA9IHJlYWRGaXhlZFBvaW50OChyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBlbmFibGVkID0gISFyZWFkVWludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgdXNlR2xvYmFsTGlnaHQgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHRcdFx0XHRjb25zdCBkaXJlY3Rpb24gPSByZWFkVWludDgocmVhZGVyKSA/ICdkb3duJyA6ICd1cCc7XG5cblx0XHRcdFx0aWYgKGJsb2NrU2l6ZSA+PSA3OCkge1xuXHRcdFx0XHRcdHJlYWRDb2xvcihyZWFkZXIpOyAvLyByZWFsIGhpZ2hsaWdodCBjb2xvclxuXHRcdFx0XHRcdHJlYWRDb2xvcihyZWFkZXIpOyAvLyByZWFsIHNoYWRvdyBjb2xvclxuXHRcdFx0XHR9XG5cblx0XHRcdFx0ZWZmZWN0cy5iZXZlbCA9IHtcblx0XHRcdFx0XHRzaXplOiB7IHVuaXRzOiAnUGl4ZWxzJywgdmFsdWU6IHNpemUgfSxcblx0XHRcdFx0XHRhbmdsZSwgc3RyZW5ndGgsIGhpZ2hsaWdodEJsZW5kTW9kZSwgc2hhZG93QmxlbmRNb2RlLCBoaWdobGlnaHRDb2xvciwgc2hhZG93Q29sb3IsXG5cdFx0XHRcdFx0c3R5bGUsIGhpZ2hsaWdodE9wYWNpdHksIHNoYWRvd09wYWNpdHksIGVuYWJsZWQsIHVzZUdsb2JhbExpZ2h0LCBkaXJlY3Rpb24sXG5cdFx0XHRcdH07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0Y2FzZSAnc29maSc6IHsgLy8gc29saWQgZmlsbCAoUGhvdG9zaG9wIDcuMCkgKHNlZSBTZWUgRWZmZWN0cyBsYXllciwgc29saWQgZmlsbCAoYWRkZWQgaW4gUGhvdG9zaG9wIDcuMCkpXG5cdFx0XHRcdGNvbnN0IHNpemUgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cblx0XHRcdFx0aWYgKHNpemUgIT09IDM0KSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWZmZWN0cyBzb2xpZCBmaWxsIGluZm8gc2l6ZTogJHtzaXplfWApO1xuXHRcdFx0XHRpZiAodmVyc2lvbiAhPT0gMikgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVmZmVjdHMgc29saWQgZmlsbCBpbmZvIHZlcnNpb246ICR7dmVyc2lvbn1gKTtcblxuXHRcdFx0XHRjb25zdCBibGVuZE1vZGUgPSByZWFkQmxlbmRNb2RlKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IGNvbG9yID0gcmVhZENvbG9yKHJlYWRlcik7XG5cdFx0XHRcdGNvbnN0IG9wYWNpdHkgPSByZWFkRml4ZWRQb2ludDgocmVhZGVyKTtcblx0XHRcdFx0Y29uc3QgZW5hYmxlZCA9ICEhcmVhZFVpbnQ4KHJlYWRlcik7XG5cdFx0XHRcdHJlYWRDb2xvcihyZWFkZXIpOyAvLyBuYXRpdmUgY29sb3JcblxuXHRcdFx0XHRlZmZlY3RzLnNvbGlkRmlsbCA9IFt7IGJsZW5kTW9kZSwgY29sb3IsIG9wYWNpdHksIGVuYWJsZWQgfV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVmZmVjdCB0eXBlOiAnJHt0eXBlfSdgKTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gZWZmZWN0cztcbn1cblxuZnVuY3Rpb24gd3JpdGVTaGFkb3dJbmZvKHdyaXRlcjogUHNkV3JpdGVyLCBzaGFkb3c6IExheWVyRWZmZWN0U2hhZG93KSB7XG5cdHdyaXRlVWludDMyKHdyaXRlciwgNTEpO1xuXHR3cml0ZVVpbnQzMih3cml0ZXIsIDIpO1xuXHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIHNoYWRvdy5zaXplICYmIHNoYWRvdy5zaXplLnZhbHVlIHx8IDApO1xuXHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIDApOyAvLyBpbnRlbnNpdHlcblx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBzaGFkb3cuYW5nbGUgfHwgMCk7XG5cdHdyaXRlRml4ZWRQb2ludDMyKHdyaXRlciwgc2hhZG93LmRpc3RhbmNlICYmIHNoYWRvdy5kaXN0YW5jZS52YWx1ZSB8fCAwKTtcblx0d3JpdGVDb2xvcih3cml0ZXIsIHNoYWRvdy5jb2xvcik7XG5cdHdyaXRlQmxlbmRNb2RlKHdyaXRlciwgc2hhZG93LmJsZW5kTW9kZSk7XG5cdHdyaXRlVWludDgod3JpdGVyLCBzaGFkb3cuZW5hYmxlZCA/IDEgOiAwKTtcblx0d3JpdGVVaW50OCh3cml0ZXIsIHNoYWRvdy51c2VHbG9iYWxMaWdodCA/IDEgOiAwKTtcblx0d3JpdGVGaXhlZFBvaW50OCh3cml0ZXIsIHNoYWRvdy5vcGFjaXR5ID8/IDEpO1xuXHR3cml0ZUNvbG9yKHdyaXRlciwgc2hhZG93LmNvbG9yKTsgLy8gbmF0aXZlIGNvbG9yXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZUVmZmVjdHMod3JpdGVyOiBQc2RXcml0ZXIsIGVmZmVjdHM6IExheWVyRWZmZWN0c0luZm8pIHtcblx0Y29uc3QgZHJvcFNoYWRvdyA9IGVmZmVjdHMuZHJvcFNoYWRvdz8uWzBdO1xuXHRjb25zdCBpbm5lclNoYWRvdyA9IGVmZmVjdHMuaW5uZXJTaGFkb3c/LlswXTtcblx0Y29uc3Qgb3V0ZXJHbG93ID0gZWZmZWN0cy5vdXRlckdsb3c7XG5cdGNvbnN0IGlubmVyR2xvdyA9IGVmZmVjdHMuaW5uZXJHbG93O1xuXHRjb25zdCBiZXZlbCA9IGVmZmVjdHMuYmV2ZWw7XG5cdGNvbnN0IHNvbGlkRmlsbCA9IGVmZmVjdHMuc29saWRGaWxsPy5bMF07XG5cblx0bGV0IGNvdW50ID0gMTtcblx0aWYgKGRyb3BTaGFkb3cpIGNvdW50Kys7XG5cdGlmIChpbm5lclNoYWRvdykgY291bnQrKztcblx0aWYgKG91dGVyR2xvdykgY291bnQrKztcblx0aWYgKGlubmVyR2xvdykgY291bnQrKztcblx0aWYgKGJldmVsKSBjb3VudCsrO1xuXHRpZiAoc29saWRGaWxsKSBjb3VudCsrO1xuXG5cdHdyaXRlVWludDE2KHdyaXRlciwgMCk7XG5cdHdyaXRlVWludDE2KHdyaXRlciwgY291bnQpO1xuXG5cdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJzhCSU0nKTtcblx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnY21uUycpO1xuXHR3cml0ZVVpbnQzMih3cml0ZXIsIDcpOyAvLyBzaXplXG5cdHdyaXRlVWludDMyKHdyaXRlciwgMCk7IC8vIHZlcnNpb25cblx0d3JpdGVVaW50OCh3cml0ZXIsIDEpOyAvLyB2aXNpYmxlXG5cdHdyaXRlWmVyb3Mod3JpdGVyLCAyKTtcblxuXHRpZiAoZHJvcFNoYWRvdykge1xuXHRcdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJzhCSU0nKTtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICdkc2R3Jyk7XG5cdFx0d3JpdGVTaGFkb3dJbmZvKHdyaXRlciwgZHJvcFNoYWRvdyk7XG5cdH1cblxuXHRpZiAoaW5uZXJTaGFkb3cpIHtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICc4QklNJyk7XG5cdFx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnaXNkdycpO1xuXHRcdHdyaXRlU2hhZG93SW5mbyh3cml0ZXIsIGlubmVyU2hhZG93KTtcblx0fVxuXG5cdGlmIChvdXRlckdsb3cpIHtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICc4QklNJyk7XG5cdFx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnb2dsdycpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgNDIpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMik7XG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBvdXRlckdsb3cuc2l6ZT8udmFsdWUgfHwgMCk7XG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCAwKTsgLy8gaW50ZW5zaXR5XG5cdFx0d3JpdGVDb2xvcih3cml0ZXIsIG91dGVyR2xvdy5jb2xvcik7XG5cdFx0d3JpdGVCbGVuZE1vZGUod3JpdGVyLCBvdXRlckdsb3cuYmxlbmRNb2RlKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgb3V0ZXJHbG93LmVuYWJsZWQgPyAxIDogMCk7XG5cdFx0d3JpdGVGaXhlZFBvaW50OCh3cml0ZXIsIG91dGVyR2xvdy5vcGFjaXR5IHx8IDApO1xuXHRcdHdyaXRlQ29sb3Iod3JpdGVyLCBvdXRlckdsb3cuY29sb3IpO1xuXHR9XG5cblx0aWYgKGlubmVyR2xvdykge1xuXHRcdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJzhCSU0nKTtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICdpZ2x3Jyk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCA0Myk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCAyKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIGlubmVyR2xvdy5zaXplPy52YWx1ZSB8fCAwKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIDApOyAvLyBpbnRlbnNpdHlcblx0XHR3cml0ZUNvbG9yKHdyaXRlciwgaW5uZXJHbG93LmNvbG9yKTtcblx0XHR3cml0ZUJsZW5kTW9kZSh3cml0ZXIsIGlubmVyR2xvdy5ibGVuZE1vZGUpO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBpbm5lckdsb3cuZW5hYmxlZCA/IDEgOiAwKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQ4KHdyaXRlciwgaW5uZXJHbG93Lm9wYWNpdHkgfHwgMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIDApOyAvLyBpbnZlcnRlZFxuXHRcdHdyaXRlQ29sb3Iod3JpdGVyLCBpbm5lckdsb3cuY29sb3IpO1xuXHR9XG5cblx0aWYgKGJldmVsKSB7XG5cdFx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnOEJJTScpO1xuXHRcdHdyaXRlU2lnbmF0dXJlKHdyaXRlciwgJ2JldmwnKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDc4KTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDIpO1xuXHRcdHdyaXRlRml4ZWRQb2ludDMyKHdyaXRlciwgYmV2ZWwuYW5nbGUgfHwgMCk7XG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBiZXZlbC5zdHJlbmd0aCB8fCAwKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIGJldmVsLnNpemU/LnZhbHVlIHx8IDApO1xuXHRcdHdyaXRlQmxlbmRNb2RlKHdyaXRlciwgYmV2ZWwuaGlnaGxpZ2h0QmxlbmRNb2RlKTtcblx0XHR3cml0ZUJsZW5kTW9kZSh3cml0ZXIsIGJldmVsLnNoYWRvd0JsZW5kTW9kZSk7XG5cdFx0d3JpdGVDb2xvcih3cml0ZXIsIGJldmVsLmhpZ2hsaWdodENvbG9yKTtcblx0XHR3cml0ZUNvbG9yKHdyaXRlciwgYmV2ZWwuc2hhZG93Q29sb3IpO1xuXHRcdGNvbnN0IHN0eWxlID0gYmV2ZWxTdHlsZXMuaW5kZXhPZihiZXZlbC5zdHlsZSEpO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBzdHlsZSA8PSAwID8gMSA6IHN0eWxlKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQ4KHdyaXRlciwgYmV2ZWwuaGlnaGxpZ2h0T3BhY2l0eSB8fCAwKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQ4KHdyaXRlciwgYmV2ZWwuc2hhZG93T3BhY2l0eSB8fCAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgYmV2ZWwuZW5hYmxlZCA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgYmV2ZWwudXNlR2xvYmFsTGlnaHQgPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGJldmVsLmRpcmVjdGlvbiA9PT0gJ2Rvd24nID8gMSA6IDApO1xuXHRcdHdyaXRlQ29sb3Iod3JpdGVyLCBiZXZlbC5oaWdobGlnaHRDb2xvcik7XG5cdFx0d3JpdGVDb2xvcih3cml0ZXIsIGJldmVsLnNoYWRvd0NvbG9yKTtcblx0fVxuXG5cdGlmIChzb2xpZEZpbGwpIHtcblx0XHR3cml0ZVNpZ25hdHVyZSh3cml0ZXIsICc4QklNJyk7XG5cdFx0d3JpdGVTaWduYXR1cmUod3JpdGVyLCAnc29maScpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMzQpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMik7XG5cdFx0d3JpdGVCbGVuZE1vZGUod3JpdGVyLCBzb2xpZEZpbGwuYmxlbmRNb2RlKTtcblx0XHR3cml0ZUNvbG9yKHdyaXRlciwgc29saWRGaWxsLmNvbG9yKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQ4KHdyaXRlciwgc29saWRGaWxsLm9wYWNpdHkgfHwgMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIHNvbGlkRmlsbC5lbmFibGVkID8gMSA6IDApO1xuXHRcdHdyaXRlQ29sb3Iod3JpdGVyLCBzb2xpZEZpbGwuY29sb3IpO1xuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IkM6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
|
package/dist/engineData.js
CHANGED
|
@@ -335,4 +335,4 @@ function serializeEngineData(data, condensed) {
|
|
|
335
335
|
}
|
|
336
336
|
exports.serializeEngineData = serializeEngineData;
|
|
337
337
|
|
|
338
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,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Q0FBQyxTQUFTO2dCQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVsQyxNQUFNLEVBQUUsQ0FBQztZQUVULEtBQWtCLFVBQWMsRUFBZCxLQUFBLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBZCxjQUFjLEVBQWQsSUFBYyxFQUFFO2dCQUE3QixJQUFNLEtBQUcsU0FBQTtnQkFDYixhQUFhLENBQUMsS0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFDO2FBQy9CO1lBRUQsTUFBTSxFQUFFLENBQUM7WUFDVCxXQUFXLEVBQUUsQ0FBQztZQUNkLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFNBQVMsRUFBRTtRQUNkLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzdCLEtBQWtCLFVBQWEsRUFBYixLQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBYixjQUFhLEVBQWIsSUFBYSxFQUFFO2dCQUE1QixJQUFNLEdBQUcsU0FBQTtnQkFDYixhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQzlCO1NBQ0Q7S0FDRDtTQUFNO1FBQ04sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQjtJQUVELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQTNLRCxrREEyS0MiLCJmaWxlIjoiZW5naW5lRGF0YS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGlzV2hpdGVzcGFjZShjaGFyOiBudW1iZXIpIHtcclxuXHQvLyAnICcsICdcXG4nLCAnXFxyJywgJ1xcdCdcclxuXHRyZXR1cm4gY2hhciA9PT0gMzIgfHwgY2hhciA9PT0gMTAgfHwgY2hhciA9PT0gMTMgfHwgY2hhciA9PT0gOTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNOdW1iZXIoY2hhcjogbnVtYmVyKSB7XHJcblx0Ly8gMDEyMzQ1Njc4OS4tXHJcblx0cmV0dXJuIChjaGFyID49IDQ4ICYmIGNoYXIgPD0gNTcpIHx8IGNoYXIgPT09IDQ2IHx8IGNoYXIgPT09IDQ1O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFbmdpbmVEYXRhKGRhdGE6IG51bWJlcltdIHwgVWludDhBcnJheSkge1xyXG5cdGxldCBpbmRleCA9IDA7XHJcblxyXG5cdGZ1bmN0aW9uIHNraXBXaGl0ZXNwYWNlKCkge1xyXG5cdFx0d2hpbGUgKGluZGV4IDwgZGF0YS5sZW5ndGggJiYgaXNXaGl0ZXNwYWNlKGRhdGFbaW5kZXhdKSkge1xyXG5cdFx0XHRpbmRleCsrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gZ2V0VGV4dEJ5dGUoKSB7XHJcblx0XHRsZXQgYnl0ZSA9IGRhdGFbaW5kZXhdO1xyXG5cdFx0aW5kZXgrKztcclxuXHJcblx0XHRpZiAoYnl0ZSA9PT0gOTIpIHsgLy8gXFxcclxuXHRcdFx0Ynl0ZSA9IGRhdGFbaW5kZXhdO1xyXG5cdFx0XHRpbmRleCsrO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBieXRlO1xyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gZ2V0VGV4dCgpIHtcclxuXHRcdGxldCByZXN1bHQgPSAnJztcclxuXHJcblx0XHRpZiAoZGF0YVtpbmRleF0gPT09IDQxKSB7IC8vIClcclxuXHRcdFx0aW5kZXgrKztcclxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBTdHJpbmdzIHN0YXJ0IHdpdGggdXRmLTE2IEJPTVxyXG5cdFx0aWYgKGRhdGFbaW5kZXhdICE9PSAweEZFIHx8IGRhdGFbaW5kZXggKyAxXSAhPT0gMHhGRikge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXRmLTE2IEJPTScpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGluZGV4ICs9IDI7XHJcblxyXG5cdFx0Ly8gKSwgKCBhbmQgXFwgY2hhcmFjdGVycyBhcmUgZXNjYXBlZCBpbiBhc2NpaSBtYW5uZXIsIHJlbW92ZSB0aGUgZXNjYXBlcyBiZWZvcmUgaW50ZXJwcmV0aW5nXHJcblx0XHQvLyB0aGUgYnl0ZXMgYXMgdXRmLTE2XHJcblx0XHR3aGlsZSAoaW5kZXggPCBkYXRhLmxlbmd0aCAmJiBkYXRhW2luZGV4XSAhPT0gNDEpIHsgLy8gKVxyXG5cdFx0XHRjb25zdCBoaWdoID0gZ2V0VGV4dEJ5dGUoKTtcclxuXHRcdFx0Y29uc3QgbG93ID0gZ2V0VGV4dEJ5dGUoKTtcclxuXHRcdFx0Y29uc3QgY2hhciA9IChoaWdoIDw8IDgpIHwgbG93O1xyXG5cdFx0XHRyZXN1bHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyKTtcclxuXHRcdH1cclxuXHJcblx0XHRpbmRleCsrO1xyXG5cdFx0cmV0dXJuIHJlc3VsdDtcclxuXHR9XHJcblxyXG5cdGxldCByb290OiBhbnkgPSBudWxsO1xyXG5cdGNvbnN0IHN0YWNrOiBhbnlbXSA9IFtdO1xyXG5cclxuXHRmdW5jdGlvbiBwdXNoQ29udGFpbmVyKHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICghc3RhY2subGVuZ3RoKSB7XHJcblx0XHRcdHN0YWNrLnB1c2godmFsdWUpO1xyXG5cdFx0XHRyb290ID0gdmFsdWU7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRwdXNoVmFsdWUodmFsdWUpO1xyXG5cdFx0XHRzdGFjay5wdXNoKHZhbHVlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHB1c2hWYWx1ZSh2YWx1ZTogYW55KSB7XHJcblx0XHRpZiAoIXN0YWNrLmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKTtcclxuXHJcblx0XHRjb25zdCB0b3AgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcclxuXHJcblx0XHRpZiAodHlwZW9mIHRvcCA9PT0gJ3N0cmluZycpIHtcclxuXHRcdFx0c3RhY2tbc3RhY2subGVuZ3RoIC0gMl1bdG9wXSA9IHZhbHVlO1xyXG5cdFx0XHRwb3AoKTtcclxuXHRcdH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0b3ApKSB7XHJcblx0XHRcdHRvcC5wdXNoKHZhbHVlKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkYXRhJyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRmdW5jdGlvbiBwdXNoUHJvcGVydHkobmFtZTogc3RyaW5nKSB7XHJcblx0XHRpZiAoIXN0YWNrLmxlbmd0aCkgcHVzaENvbnRhaW5lcih7fSk7XHJcblxyXG5cdFx0Y29uc3QgdG9wID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV07XHJcblxyXG5cdFx0aWYgKHRvcCAmJiB0eXBlb2YgdG9wID09PSAnc3RyaW5nJykge1xyXG5cdFx0XHRpZiAobmFtZSA9PT0gJ25pbCcpIHtcclxuXHRcdFx0XHRwdXNoVmFsdWUobnVsbCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0cHVzaFZhbHVlKGAvJHtuYW1lfWApO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKHRvcCAmJiB0eXBlb2YgdG9wID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRzdGFjay5wdXNoKG5hbWUpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHBvcCgpIHtcclxuXHRcdGlmICghc3RhY2subGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0YScpO1xyXG5cdFx0c3RhY2sucG9wKCk7XHJcblx0fVxyXG5cclxuXHRza2lwV2hpdGVzcGFjZSgpO1xyXG5cclxuXHR3aGlsZSAoaW5kZXggPCBkYXRhLmxlbmd0aCkge1xyXG5cdFx0Y29uc3QgaSA9IGluZGV4O1xyXG5cdFx0Y29uc3QgY2hhciA9IGRhdGFbaV07XHJcblxyXG5cdFx0aWYgKGNoYXIgPT09IDYwICYmIGRhdGFbaSArIDFdID09PSA2MCkgeyAvLyA8PFxyXG5cdFx0XHRpbmRleCArPSAyO1xyXG5cdFx0XHRwdXNoQ29udGFpbmVyKHt9KTtcclxuXHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gNjIgJiYgZGF0YVtpICsgMV0gPT09IDYyKSB7IC8vID4+XHJcblx0XHRcdGluZGV4ICs9IDI7XHJcblx0XHRcdHBvcCgpO1xyXG5cdFx0fSBlbHNlIGlmIChjaGFyID09PSA0NykgeyAvLyAvXHJcblx0XHRcdGluZGV4ICs9IDE7XHJcblx0XHRcdGNvbnN0IHN0YXJ0ID0gaW5kZXg7XHJcblxyXG5cdFx0XHR3aGlsZSAoaW5kZXggPCBkYXRhLmxlbmd0aCAmJiAhaXNXaGl0ZXNwYWNlKGRhdGFbaW5kZXhdKSkge1xyXG5cdFx0XHRcdGluZGV4Kys7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxldCBuYW1lID0gJyc7XHJcblxyXG5cdFx0XHRmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBpbmRleDsgaSsrKSB7XHJcblx0XHRcdFx0bmFtZSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaV0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwdXNoUHJvcGVydHkobmFtZSk7XHJcblx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDQwKSB7IC8vIChcclxuXHRcdFx0aW5kZXggKz0gMTtcclxuXHRcdFx0cHVzaFZhbHVlKGdldFRleHQoKSk7XHJcblx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDkxKSB7IC8vIFtcclxuXHRcdFx0aW5kZXggKz0gMTtcclxuXHRcdFx0cHVzaENvbnRhaW5lcihbXSk7XHJcblx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDkzKSB7IC8vIF1cclxuXHRcdFx0aW5kZXggKz0gMTtcclxuXHRcdFx0cG9wKCk7XHJcblx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDExMCAmJiBkYXRhW2kgKyAxXSA9PT0gMTE3ICYmIGRhdGFbaSArIDJdID09PSAxMDggJiYgZGF0YVtpICsgM10gPT09IDEwOCkgeyAvLyBudWxsXHJcblx0XHRcdGluZGV4ICs9IDQ7XHJcblx0XHRcdHB1c2hWYWx1ZShudWxsKTtcclxuXHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gMTE2ICYmIGRhdGFbaSArIDFdID09PSAxMTQgJiYgZGF0YVtpICsgMl0gPT09IDExNyAmJiBkYXRhW2kgKyAzXSA9PT0gMTAxKSB7IC8vIHRydWVcclxuXHRcdFx0aW5kZXggKz0gNDtcclxuXHRcdFx0cHVzaFZhbHVlKHRydWUpO1xyXG5cdFx0fSBlbHNlIGlmIChjaGFyID09PSAxMDIgJiYgZGF0YVtpICsgMV0gPT09IDk3ICYmIGRhdGFbaSArIDJdID09PSAxMDggJiYgZGF0YVtpICsgM10gPT09IDExNSAmJiBkYXRhW2kgKyA0XSA9PT0gMTAxKSB7IC8vIGZhbHNlXHJcblx0XHRcdGluZGV4ICs9IDU7XHJcblx0XHRcdHB1c2hWYWx1ZShmYWxzZSk7XHJcblx0XHR9IGVsc2UgaWYgKGlzTnVtYmVyKGNoYXIpKSB7XHJcblx0XHRcdGxldCB2YWx1ZSA9ICcnO1xyXG5cclxuXHRcdFx0d2hpbGUgKGluZGV4IDwgZGF0YS5sZW5ndGggJiYgaXNOdW1iZXIoZGF0YVtpbmRleF0pKSB7XHJcblx0XHRcdFx0dmFsdWUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShkYXRhW2luZGV4XSk7XHJcblx0XHRcdFx0aW5kZXgrKztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cHVzaFZhbHVlKHBhcnNlRmxvYXQodmFsdWUpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGluZGV4ICs9IDE7XHJcblx0XHRcdGNvbnNvbGUubG9nKGBJbnZhbGlkIHRva2VuICR7U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyKX0gYXQgJHtpbmRleH1gKTtcclxuXHRcdFx0Ly8gYCBuZWFyICR7U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBkYXRhLnNsaWNlKGluZGV4IC0gMTAsIGluZGV4ICsgMjApIGFzIGFueSl9YCArXHJcblx0XHRcdC8vIGBkYXRhIFske0FycmF5LmZyb20oZGF0YS5zbGljZShpbmRleCAtIDEwLCBpbmRleCArIDIwKSkuam9pbignLCAnKX1dYFxyXG5cdFx0fVxyXG5cclxuXHRcdHNraXBXaGl0ZXNwYWNlKCk7XHJcblx0fVxyXG5cclxuXHRyZXR1cm4gcm9vdDtcclxufVxyXG5cclxuY29uc3QgZmxvYXRLZXlzID0gW1xyXG5cdCdBeGlzJywgJ1hZJywgJ1pvbmUnLCAnV29yZFNwYWNpbmcnLCAnRmlyc3RMaW5lSW5kZW50JywgJ0dseXBoU3BhY2luZycsICdTdGFydEluZGVudCcsICdFbmRJbmRlbnQnLCAnU3BhY2VCZWZvcmUnLFxyXG5cdCdTcGFjZUFmdGVyJywgJ0xldHRlclNwYWNpbmcnLCAnVmFsdWVzJywgJ0dyaWRTaXplJywgJ0dyaWRMZWFkaW5nJywgJ1BvaW50QmFzZScsICdCb3hCb3VuZHMnLCAnVHJhbnNmb3JtUG9pbnQwJywgJ1RyYW5zZm9ybVBvaW50MScsXHJcblx0J1RyYW5zZm9ybVBvaW50MicsICdGb250U2l6ZScsICdMZWFkaW5nJywgJ0hvcml6b250YWxTY2FsZScsICdWZXJ0aWNhbFNjYWxlJywgJ0Jhc2VsaW5lU2hpZnQnLCAnVHN1bWUnLFxyXG5cdCdPdXRsaW5lV2lkdGgnLCAnQXV0b0xlYWRpbmcnLFxyXG5dO1xyXG5cclxuY29uc3QgaW50QXJyYXlzID0gWydSdW5MZW5ndGhBcnJheSddO1xyXG5cclxuLy8gVE9ETzogaGFuZGxlIC9uaWxcclxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZUVuZ2luZURhdGEoZGF0YTogYW55LCBjb25kZW5zZWQgPSBmYWxzZSkge1xyXG5cdGxldCBidWZmZXIgPSBuZXcgVWludDhBcnJheSgxMDI0KTtcclxuXHRsZXQgb2Zmc2V0ID0gMDtcclxuXHRsZXQgaW5kZW50ID0gMDtcclxuXHJcblx0ZnVuY3Rpb24gd3JpdGUodmFsdWU6IG51bWJlcikge1xyXG5cdFx0aWYgKG9mZnNldCA+PSBidWZmZXIubGVuZ3RoKSB7XHJcblx0XHRcdGNvbnN0IG5ld0J1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlci5sZW5ndGggKiAyKTtcclxuXHRcdFx0bmV3QnVmZmVyLnNldChidWZmZXIpO1xyXG5cdFx0XHRidWZmZXIgPSBuZXdCdWZmZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0YnVmZmVyW29mZnNldF0gPSB2YWx1ZTtcclxuXHRcdG9mZnNldCsrO1xyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gd3JpdGVTdHJpbmcodmFsdWU6IHN0cmluZykge1xyXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHR3cml0ZSh2YWx1ZS5jaGFyQ29kZUF0KGkpKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHdyaXRlSW5kZW50KCkge1xyXG5cdFx0aWYgKGNvbmRlbnNlZCkge1xyXG5cdFx0XHR3cml0ZVN0cmluZygnICcpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBpbmRlbnQ7IGkrKykge1xyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCdcXHQnKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gd3JpdGVQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG5cdFx0d3JpdGVJbmRlbnQoKTtcclxuXHRcdHdyaXRlU3RyaW5nKGAvJHtrZXl9YCk7XHJcblx0XHR3cml0ZVZhbHVlKHZhbHVlLCBrZXksIHRydWUpO1xyXG5cdFx0aWYgKCFjb25kZW5zZWQpIHdyaXRlU3RyaW5nKCdcXG4nKTtcclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHNlcmlhbGl6ZUludCh2YWx1ZTogbnVtYmVyKSB7XHJcblx0XHRyZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHNlcmlhbGl6ZUZsb2F0KHZhbHVlOiBudW1iZXIpIHtcclxuXHRcdHJldHVybiB2YWx1ZS50b0ZpeGVkKDUpXHJcblx0XHRcdC5yZXBsYWNlKC8oXFxkKTArJC9nLCAnJDEnKVxyXG5cdFx0XHQucmVwbGFjZSgvXjArXFwuKFsxLTldKS9nLCAnLiQxJylcclxuXHRcdFx0LnJlcGxhY2UoL14tMCtcXC4wKFxcZCkvZywgJy0uMCQxJyk7XHJcblx0fVxyXG5cclxuXHRmdW5jdGlvbiBzZXJpYWxpemVOdW1iZXIodmFsdWU6IG51bWJlciwga2V5Pzogc3RyaW5nKSB7XHJcblx0XHRjb25zdCBpc0Zsb2F0ID0gKGtleSAmJiBmbG9hdEtleXMuaW5kZXhPZihrZXkpICE9PSAtMSkgfHwgKHZhbHVlIHwgMCkgIT09IHZhbHVlO1xyXG5cdFx0cmV0dXJuIGlzRmxvYXQgPyBzZXJpYWxpemVGbG9hdCh2YWx1ZSkgOiBzZXJpYWxpemVJbnQodmFsdWUpO1xyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gZ2V0S2V5cyh2YWx1ZTogYW55KSB7XHJcblx0XHRjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG5cclxuXHRcdGlmIChrZXlzLmluZGV4T2YoJzk4JykgIT09IC0xKVxyXG5cdFx0XHRrZXlzLnVuc2hpZnQoLi4ua2V5cy5zcGxpY2Uoa2V5cy5pbmRleE9mKCc5OScpLCAxKSk7XHJcblxyXG5cdFx0aWYgKGtleXMuaW5kZXhPZignOTknKSAhPT0gLTEpXHJcblx0XHRcdGtleXMudW5zaGlmdCguLi5rZXlzLnNwbGljZShrZXlzLmluZGV4T2YoJzk5JyksIDEpKTtcclxuXHJcblx0XHRyZXR1cm4ga2V5cztcclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHdyaXRlU3RyaW5nQnl0ZSh2YWx1ZTogbnVtYmVyKSB7XHJcblx0XHRpZiAodmFsdWUgPT09IDQwIHx8IHZhbHVlID09PSA0MSB8fCB2YWx1ZSA9PT0gOTIpIHsgLy8gKCApIFxcXHJcblx0XHRcdHdyaXRlKDkyKTsgLy8gXFxcclxuXHRcdH1cclxuXHJcblx0XHR3cml0ZSh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHRmdW5jdGlvbiB3cml0ZVZhbHVlKHZhbHVlOiBhbnksIGtleT86IHN0cmluZywgaW5Qcm9wZXJ0eSA9IGZhbHNlKSB7XHJcblx0XHRmdW5jdGlvbiB3cml0ZVByZWZpeCgpIHtcclxuXHRcdFx0aWYgKGluUHJvcGVydHkpIHtcclxuXHRcdFx0XHR3cml0ZVN0cmluZygnICcpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHdyaXRlSW5kZW50KCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpZiAodmFsdWUgPT09IG51bGwpIHtcclxuXHRcdFx0d3JpdGVQcmVmaXgoKTtcclxuXHRcdFx0d3JpdGVTdHJpbmcoY29uZGVuc2VkID8gJy9uaWwnIDogJ251bGwnKTtcclxuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xyXG5cdFx0XHR3cml0ZVByZWZpeCgpO1xyXG5cdFx0XHR3cml0ZVN0cmluZyhzZXJpYWxpemVOdW1iZXIodmFsdWUsIGtleSkpO1xyXG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xyXG5cdFx0XHR3cml0ZVByZWZpeCgpO1xyXG5cdFx0XHR3cml0ZVN0cmluZyh2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZScpO1xyXG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdHdyaXRlUHJlZml4KCk7XHJcblxyXG5cdFx0XHRpZiAoKGtleSA9PT0gJzk5JyB8fCBrZXkgPT09ICc5OCcpICYmIHZhbHVlLmNoYXJBdCgwKSA9PT0gJy8nKSB7XHJcblx0XHRcdFx0d3JpdGVTdHJpbmcodmFsdWUpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCcoJyk7XHJcblx0XHRcdFx0d3JpdGUoMHhmZSk7XHJcblx0XHRcdFx0d3JpdGUoMHhmZik7XHJcblxyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdGNvbnN0IGNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KGkpO1xyXG5cdFx0XHRcdFx0d3JpdGVTdHJpbmdCeXRlKChjb2RlID4+IDgpICYgMHhmZik7XHJcblx0XHRcdFx0XHR3cml0ZVN0cmluZ0J5dGUoY29kZSAmIDB4ZmYpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0d3JpdGVTdHJpbmcoJyknKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG5cdFx0XHR3cml0ZVByZWZpeCgpO1xyXG5cclxuXHRcdFx0aWYgKHZhbHVlLmV2ZXJ5KHggPT4gdHlwZW9mIHggPT09ICdudW1iZXInKSkge1xyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCdbJyk7XHJcblxyXG5cdFx0XHRcdGNvbnN0IGludEFycmF5ID0gaW50QXJyYXlzLmluZGV4T2Yoa2V5ISkgIT09IC0xO1xyXG5cclxuXHRcdFx0XHRmb3IgKGNvbnN0IHggb2YgdmFsdWUpIHtcclxuXHRcdFx0XHRcdHdyaXRlU3RyaW5nKCcgJyk7XHJcblx0XHRcdFx0XHR3cml0ZVN0cmluZyhpbnRBcnJheSA/IHNlcmlhbGl6ZU51bWJlcih4KSA6IHNlcmlhbGl6ZUZsb2F0KHgpKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCcgXScpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCdbJyk7XHJcblx0XHRcdFx0aWYgKCFjb25kZW5zZWQpIHdyaXRlU3RyaW5nKCdcXG4nKTtcclxuXHJcblx0XHRcdFx0Zm9yIChjb25zdCB4IG9mIHZhbHVlKSB7XHJcblx0XHRcdFx0XHR3cml0ZVZhbHVlKHgsIGtleSk7XHJcblx0XHRcdFx0XHRpZiAoIWNvbmRlbnNlZCkgd3JpdGVTdHJpbmcoJ1xcbicpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0d3JpdGVJbmRlbnQoKTtcclxuXHRcdFx0XHR3cml0ZVN0cmluZygnXScpO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuXHRcdFx0aWYgKGluUHJvcGVydHkgJiYgIWNvbmRlbnNlZCkgd3JpdGVTdHJpbmcoJ1xcbicpO1xyXG5cclxuXHRcdFx0d3JpdGVJbmRlbnQoKTtcclxuXHRcdFx0d3JpdGVTdHJpbmcoJzw8Jyk7XHJcblxyXG5cdFx0XHRpZiAoIWNvbmRlbnNlZCkgd3JpdGVTdHJpbmcoJ1xcbicpO1xyXG5cclxuXHRcdFx0aW5kZW50Kys7XHJcblxyXG5cdFx0XHRmb3IgKGNvbnN0IGtleSBvZiBnZXRLZXlzKHZhbHVlKSkge1xyXG5cdFx0XHRcdHdyaXRlUHJvcGVydHkoa2V5LCB2YWx1ZVtrZXldKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5kZW50LS07XHJcblx0XHRcdHdyaXRlSW5kZW50KCk7XHJcblx0XHRcdHdyaXRlU3RyaW5nKCc+PicpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHRpZiAoY29uZGVuc2VkKSB7XHJcblx0XHRpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdGZvciAoY29uc3Qga2V5IG9mIGdldEtleXMoZGF0YSkpIHtcclxuXHRcdFx0XHR3cml0ZVByb3BlcnR5KGtleSwgZGF0YVtrZXldKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gZWxzZSB7XHJcblx0XHR3cml0ZVN0cmluZygnXFxuXFxuJyk7XHJcblx0XHR3cml0ZVZhbHVlKGRhdGEpO1xyXG5cdH1cclxuXHJcblx0cmV0dXJuIGJ1ZmZlci5zbGljZSgwLCBvZmZzZXQpO1xyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiRDpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
|
|
338
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,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Q0FBQyxTQUFTO2dCQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVsQyxNQUFNLEVBQUUsQ0FBQztZQUVULEtBQWtCLFVBQWMsRUFBZCxLQUFBLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBZCxjQUFjLEVBQWQsSUFBYyxFQUFFO2dCQUE3QixJQUFNLEtBQUcsU0FBQTtnQkFDYixhQUFhLENBQUMsS0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFDO2FBQy9CO1lBRUQsTUFBTSxFQUFFLENBQUM7WUFDVCxXQUFXLEVBQUUsQ0FBQztZQUNkLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFNBQVMsRUFBRTtRQUNkLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzdCLEtBQWtCLFVBQWEsRUFBYixLQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBYixjQUFhLEVBQWIsSUFBYSxFQUFFO2dCQUE1QixJQUFNLEdBQUcsU0FBQTtnQkFDYixhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQzlCO1NBQ0Q7S0FDRDtTQUFNO1FBQ04sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQjtJQUVELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQTNLRCxrREEyS0MiLCJmaWxlIjoiZW5naW5lRGF0YS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGlzV2hpdGVzcGFjZShjaGFyOiBudW1iZXIpIHtcclxuXHQvLyAnICcsICdcXG4nLCAnXFxyJywgJ1xcdCdcclxuXHRyZXR1cm4gY2hhciA9PT0gMzIgfHwgY2hhciA9PT0gMTAgfHwgY2hhciA9PT0gMTMgfHwgY2hhciA9PT0gOTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNOdW1iZXIoY2hhcjogbnVtYmVyKSB7XHJcblx0Ly8gMDEyMzQ1Njc4OS4tXHJcblx0cmV0dXJuIChjaGFyID49IDQ4ICYmIGNoYXIgPD0gNTcpIHx8IGNoYXIgPT09IDQ2IHx8IGNoYXIgPT09IDQ1O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFbmdpbmVEYXRhKGRhdGE6IG51bWJlcltdIHwgVWludDhBcnJheSkge1xyXG5cdGxldCBpbmRleCA9IDA7XHJcblxyXG5cdGZ1bmN0aW9uIHNraXBXaGl0ZXNwYWNlKCkge1xyXG5cdFx0d2hpbGUgKGluZGV4IDwgZGF0YS5sZW5ndGggJiYgaXNXaGl0ZXNwYWNlKGRhdGFbaW5kZXhdKSkge1xyXG5cdFx0XHRpbmRleCsrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gZ2V0VGV4dEJ5dGUoKSB7XHJcblx0XHRsZXQgYnl0ZSA9IGRhdGFbaW5kZXhdO1xyXG5cdFx0aW5kZXgrKztcclxuXHJcblx0XHRpZiAoYnl0ZSA9PT0gOTIpIHsgLy8gXFxcclxuXHRcdFx0Ynl0ZSA9IGRhdGFbaW5kZXhdO1xyXG5cdFx0XHRpbmRleCsrO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBieXRlO1xyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gZ2V0VGV4dCgpIHtcclxuXHRcdGxldCByZXN1bHQgPSAnJztcclxuXHJcblx0XHRpZiAoZGF0YVtpbmRleF0gPT09IDQxKSB7IC8vIClcclxuXHRcdFx0aW5kZXgrKztcclxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBTdHJpbmdzIHN0YXJ0IHdpdGggdXRmLTE2IEJPTVxyXG5cdFx0aWYgKGRhdGFbaW5kZXhdICE9PSAweEZFIHx8IGRhdGFbaW5kZXggKyAxXSAhPT0gMHhGRikge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXRmLTE2IEJPTScpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGluZGV4ICs9IDI7XHJcblxyXG5cdFx0Ly8gKSwgKCBhbmQgXFwgY2hhcmFjdGVycyBhcmUgZXNjYXBlZCBpbiBhc2NpaSBtYW5uZXIsIHJlbW92ZSB0aGUgZXNjYXBlcyBiZWZvcmUgaW50ZXJwcmV0aW5nXHJcblx0XHQvLyB0aGUgYnl0ZXMgYXMgdXRmLTE2XHJcblx0XHR3aGlsZSAoaW5kZXggPCBkYXRhLmxlbmd0aCAmJiBkYXRhW2luZGV4XSAhPT0gNDEpIHsgLy8gKVxyXG5cdFx0XHRjb25zdCBoaWdoID0gZ2V0VGV4dEJ5dGUoKTtcclxuXHRcdFx0Y29uc3QgbG93ID0gZ2V0VGV4dEJ5dGUoKTtcclxuXHRcdFx0Y29uc3QgY2hhciA9IChoaWdoIDw8IDgpIHwgbG93O1xyXG5cdFx0XHRyZXN1bHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyKTtcclxuXHRcdH1cclxuXHJcblx0XHRpbmRleCsrO1xyXG5cdFx0cmV0dXJuIHJlc3VsdDtcclxuXHR9XHJcblxyXG5cdGxldCByb290OiBhbnkgPSBudWxsO1xyXG5cdGNvbnN0IHN0YWNrOiBhbnlbXSA9IFtdO1xyXG5cclxuXHRmdW5jdGlvbiBwdXNoQ29udGFpbmVyKHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICghc3RhY2subGVuZ3RoKSB7XHJcblx0XHRcdHN0YWNrLnB1c2godmFsdWUpO1xyXG5cdFx0XHRyb290ID0gdmFsdWU7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRwdXNoVmFsdWUodmFsdWUpO1xyXG5cdFx0XHRzdGFjay5wdXNoKHZhbHVlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHB1c2hWYWx1ZSh2YWx1ZTogYW55KSB7XHJcblx0XHRpZiAoIXN0YWNrLmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKTtcclxuXHJcblx0XHRjb25zdCB0b3AgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcclxuXHJcblx0XHRpZiAodHlwZW9mIHRvcCA9PT0gJ3N0cmluZycpIHtcclxuXHRcdFx0c3RhY2tbc3RhY2subGVuZ3RoIC0gMl1bdG9wXSA9IHZhbHVlO1xyXG5cdFx0XHRwb3AoKTtcclxuXHRcdH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0b3ApKSB7XHJcblx0XHRcdHRvcC5wdXNoKHZhbHVlKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkYXRhJyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRmdW5jdGlvbiBwdXNoUHJvcGVydHkobmFtZTogc3RyaW5nKSB7XHJcblx0XHRpZiAoIXN0YWNrLmxlbmd0aCkgcHVzaENvbnRhaW5lcih7fSk7XHJcblxyXG5cdFx0Y29uc3QgdG9wID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV07XHJcblxyXG5cdFx0aWYgKHRvcCAmJiB0eXBlb2YgdG9wID09PSAnc3RyaW5nJykge1xyXG5cdFx0XHRpZiAobmFtZSA9PT0gJ25pbCcpIHtcclxuXHRcdFx0XHRwdXNoVmFsdWUobnVsbCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0cHVzaFZhbHVlKGAvJHtuYW1lfWApO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKHRvcCAmJiB0eXBlb2YgdG9wID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRzdGFjay5wdXNoKG5hbWUpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHBvcCgpIHtcclxuXHRcdGlmICghc3RhY2subGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0YScpO1xyXG5cdFx0c3RhY2sucG9wKCk7XHJcblx0fVxyXG5cclxuXHRza2lwV2hpdGVzcGFjZSgpO1xyXG5cclxuXHR3aGlsZSAoaW5kZXggPCBkYXRhLmxlbmd0aCkge1xyXG5cdFx0Y29uc3QgaSA9IGluZGV4O1xyXG5cdFx0Y29uc3QgY2hhciA9IGRhdGFbaV07XHJcblxyXG5cdFx0aWYgKGNoYXIgPT09IDYwICYmIGRhdGFbaSArIDFdID09PSA2MCkgeyAvLyA8PFxyXG5cdFx0XHRpbmRleCArPSAyO1xyXG5cdFx0XHRwdXNoQ29udGFpbmVyKHt9KTtcclxuXHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gNjIgJiYgZGF0YVtpICsgMV0gPT09IDYyKSB7IC8vID4+XHJcblx0XHRcdGluZGV4ICs9IDI7XHJcblx0XHRcdHBvcCgpO1xyXG5cdFx0fSBlbHNlIGlmIChjaGFyID09PSA0NykgeyAvLyAvXHJcblx0XHRcdGluZGV4ICs9IDE7XHJcblx0XHRcdGNvbnN0IHN0YXJ0ID0gaW5kZXg7XHJcblxyXG5cdFx0XHR3aGlsZSAoaW5kZXggPCBkYXRhLmxlbmd0aCAmJiAhaXNXaGl0ZXNwYWNlKGRhdGFbaW5kZXhdKSkge1xyXG5cdFx0XHRcdGluZGV4Kys7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxldCBuYW1lID0gJyc7XHJcblxyXG5cdFx0XHRmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBpbmRleDsgaSsrKSB7XHJcblx0XHRcdFx0bmFtZSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaV0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwdXNoUHJvcGVydHkobmFtZSk7XHJcblx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDQwKSB7IC8vIChcclxuXHRcdFx0aW5kZXggKz0gMTtcclxuXHRcdFx0cHVzaFZhbHVlKGdldFRleHQoKSk7XHJcblx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDkxKSB7IC8vIFtcclxuXHRcdFx0aW5kZXggKz0gMTtcclxuXHRcdFx0cHVzaENvbnRhaW5lcihbXSk7XHJcblx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDkzKSB7IC8vIF1cclxuXHRcdFx0aW5kZXggKz0gMTtcclxuXHRcdFx0cG9wKCk7XHJcblx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDExMCAmJiBkYXRhW2kgKyAxXSA9PT0gMTE3ICYmIGRhdGFbaSArIDJdID09PSAxMDggJiYgZGF0YVtpICsgM10gPT09IDEwOCkgeyAvLyBudWxsXHJcblx0XHRcdGluZGV4ICs9IDQ7XHJcblx0XHRcdHB1c2hWYWx1ZShudWxsKTtcclxuXHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gMTE2ICYmIGRhdGFbaSArIDFdID09PSAxMTQgJiYgZGF0YVtpICsgMl0gPT09IDExNyAmJiBkYXRhW2kgKyAzXSA9PT0gMTAxKSB7IC8vIHRydWVcclxuXHRcdFx0aW5kZXggKz0gNDtcclxuXHRcdFx0cHVzaFZhbHVlKHRydWUpO1xyXG5cdFx0fSBlbHNlIGlmIChjaGFyID09PSAxMDIgJiYgZGF0YVtpICsgMV0gPT09IDk3ICYmIGRhdGFbaSArIDJdID09PSAxMDggJiYgZGF0YVtpICsgM10gPT09IDExNSAmJiBkYXRhW2kgKyA0XSA9PT0gMTAxKSB7IC8vIGZhbHNlXHJcblx0XHRcdGluZGV4ICs9IDU7XHJcblx0XHRcdHB1c2hWYWx1ZShmYWxzZSk7XHJcblx0XHR9IGVsc2UgaWYgKGlzTnVtYmVyKGNoYXIpKSB7XHJcblx0XHRcdGxldCB2YWx1ZSA9ICcnO1xyXG5cclxuXHRcdFx0d2hpbGUgKGluZGV4IDwgZGF0YS5sZW5ndGggJiYgaXNOdW1iZXIoZGF0YVtpbmRleF0pKSB7XHJcblx0XHRcdFx0dmFsdWUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShkYXRhW2luZGV4XSk7XHJcblx0XHRcdFx0aW5kZXgrKztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cHVzaFZhbHVlKHBhcnNlRmxvYXQodmFsdWUpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGluZGV4ICs9IDE7XHJcblx0XHRcdGNvbnNvbGUubG9nKGBJbnZhbGlkIHRva2VuICR7U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyKX0gYXQgJHtpbmRleH1gKTtcclxuXHRcdFx0Ly8gYCBuZWFyICR7U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBkYXRhLnNsaWNlKGluZGV4IC0gMTAsIGluZGV4ICsgMjApIGFzIGFueSl9YCArXHJcblx0XHRcdC8vIGBkYXRhIFske0FycmF5LmZyb20oZGF0YS5zbGljZShpbmRleCAtIDEwLCBpbmRleCArIDIwKSkuam9pbignLCAnKX1dYFxyXG5cdFx0fVxyXG5cclxuXHRcdHNraXBXaGl0ZXNwYWNlKCk7XHJcblx0fVxyXG5cclxuXHRyZXR1cm4gcm9vdDtcclxufVxyXG5cclxuY29uc3QgZmxvYXRLZXlzID0gW1xyXG5cdCdBeGlzJywgJ1hZJywgJ1pvbmUnLCAnV29yZFNwYWNpbmcnLCAnRmlyc3RMaW5lSW5kZW50JywgJ0dseXBoU3BhY2luZycsICdTdGFydEluZGVudCcsICdFbmRJbmRlbnQnLCAnU3BhY2VCZWZvcmUnLFxyXG5cdCdTcGFjZUFmdGVyJywgJ0xldHRlclNwYWNpbmcnLCAnVmFsdWVzJywgJ0dyaWRTaXplJywgJ0dyaWRMZWFkaW5nJywgJ1BvaW50QmFzZScsICdCb3hCb3VuZHMnLCAnVHJhbnNmb3JtUG9pbnQwJywgJ1RyYW5zZm9ybVBvaW50MScsXHJcblx0J1RyYW5zZm9ybVBvaW50MicsICdGb250U2l6ZScsICdMZWFkaW5nJywgJ0hvcml6b250YWxTY2FsZScsICdWZXJ0aWNhbFNjYWxlJywgJ0Jhc2VsaW5lU2hpZnQnLCAnVHN1bWUnLFxyXG5cdCdPdXRsaW5lV2lkdGgnLCAnQXV0b0xlYWRpbmcnLFxyXG5dO1xyXG5cclxuY29uc3QgaW50QXJyYXlzID0gWydSdW5MZW5ndGhBcnJheSddO1xyXG5cclxuLy8gVE9ETzogaGFuZGxlIC9uaWxcclxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZUVuZ2luZURhdGEoZGF0YTogYW55LCBjb25kZW5zZWQgPSBmYWxzZSkge1xyXG5cdGxldCBidWZmZXIgPSBuZXcgVWludDhBcnJheSgxMDI0KTtcclxuXHRsZXQgb2Zmc2V0ID0gMDtcclxuXHRsZXQgaW5kZW50ID0gMDtcclxuXHJcblx0ZnVuY3Rpb24gd3JpdGUodmFsdWU6IG51bWJlcikge1xyXG5cdFx0aWYgKG9mZnNldCA+PSBidWZmZXIubGVuZ3RoKSB7XHJcblx0XHRcdGNvbnN0IG5ld0J1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlci5sZW5ndGggKiAyKTtcclxuXHRcdFx0bmV3QnVmZmVyLnNldChidWZmZXIpO1xyXG5cdFx0XHRidWZmZXIgPSBuZXdCdWZmZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0YnVmZmVyW29mZnNldF0gPSB2YWx1ZTtcclxuXHRcdG9mZnNldCsrO1xyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gd3JpdGVTdHJpbmcodmFsdWU6IHN0cmluZykge1xyXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHR3cml0ZSh2YWx1ZS5jaGFyQ29kZUF0KGkpKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHdyaXRlSW5kZW50KCkge1xyXG5cdFx0aWYgKGNvbmRlbnNlZCkge1xyXG5cdFx0XHR3cml0ZVN0cmluZygnICcpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBpbmRlbnQ7IGkrKykge1xyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCdcXHQnKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gd3JpdGVQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG5cdFx0d3JpdGVJbmRlbnQoKTtcclxuXHRcdHdyaXRlU3RyaW5nKGAvJHtrZXl9YCk7XHJcblx0XHR3cml0ZVZhbHVlKHZhbHVlLCBrZXksIHRydWUpO1xyXG5cdFx0aWYgKCFjb25kZW5zZWQpIHdyaXRlU3RyaW5nKCdcXG4nKTtcclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHNlcmlhbGl6ZUludCh2YWx1ZTogbnVtYmVyKSB7XHJcblx0XHRyZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHNlcmlhbGl6ZUZsb2F0KHZhbHVlOiBudW1iZXIpIHtcclxuXHRcdHJldHVybiB2YWx1ZS50b0ZpeGVkKDUpXHJcblx0XHRcdC5yZXBsYWNlKC8oXFxkKTArJC9nLCAnJDEnKVxyXG5cdFx0XHQucmVwbGFjZSgvXjArXFwuKFsxLTldKS9nLCAnLiQxJylcclxuXHRcdFx0LnJlcGxhY2UoL14tMCtcXC4wKFxcZCkvZywgJy0uMCQxJyk7XHJcblx0fVxyXG5cclxuXHRmdW5jdGlvbiBzZXJpYWxpemVOdW1iZXIodmFsdWU6IG51bWJlciwga2V5Pzogc3RyaW5nKSB7XHJcblx0XHRjb25zdCBpc0Zsb2F0ID0gKGtleSAmJiBmbG9hdEtleXMuaW5kZXhPZihrZXkpICE9PSAtMSkgfHwgKHZhbHVlIHwgMCkgIT09IHZhbHVlO1xyXG5cdFx0cmV0dXJuIGlzRmxvYXQgPyBzZXJpYWxpemVGbG9hdCh2YWx1ZSkgOiBzZXJpYWxpemVJbnQodmFsdWUpO1xyXG5cdH1cclxuXHJcblx0ZnVuY3Rpb24gZ2V0S2V5cyh2YWx1ZTogYW55KSB7XHJcblx0XHRjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG5cclxuXHRcdGlmIChrZXlzLmluZGV4T2YoJzk4JykgIT09IC0xKVxyXG5cdFx0XHRrZXlzLnVuc2hpZnQoLi4ua2V5cy5zcGxpY2Uoa2V5cy5pbmRleE9mKCc5OScpLCAxKSk7XHJcblxyXG5cdFx0aWYgKGtleXMuaW5kZXhPZignOTknKSAhPT0gLTEpXHJcblx0XHRcdGtleXMudW5zaGlmdCguLi5rZXlzLnNwbGljZShrZXlzLmluZGV4T2YoJzk5JyksIDEpKTtcclxuXHJcblx0XHRyZXR1cm4ga2V5cztcclxuXHR9XHJcblxyXG5cdGZ1bmN0aW9uIHdyaXRlU3RyaW5nQnl0ZSh2YWx1ZTogbnVtYmVyKSB7XHJcblx0XHRpZiAodmFsdWUgPT09IDQwIHx8IHZhbHVlID09PSA0MSB8fCB2YWx1ZSA9PT0gOTIpIHsgLy8gKCApIFxcXHJcblx0XHRcdHdyaXRlKDkyKTsgLy8gXFxcclxuXHRcdH1cclxuXHJcblx0XHR3cml0ZSh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHRmdW5jdGlvbiB3cml0ZVZhbHVlKHZhbHVlOiBhbnksIGtleT86IHN0cmluZywgaW5Qcm9wZXJ0eSA9IGZhbHNlKSB7XHJcblx0XHRmdW5jdGlvbiB3cml0ZVByZWZpeCgpIHtcclxuXHRcdFx0aWYgKGluUHJvcGVydHkpIHtcclxuXHRcdFx0XHR3cml0ZVN0cmluZygnICcpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHdyaXRlSW5kZW50KCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpZiAodmFsdWUgPT09IG51bGwpIHtcclxuXHRcdFx0d3JpdGVQcmVmaXgoKTtcclxuXHRcdFx0d3JpdGVTdHJpbmcoY29uZGVuc2VkID8gJy9uaWwnIDogJ251bGwnKTtcclxuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xyXG5cdFx0XHR3cml0ZVByZWZpeCgpO1xyXG5cdFx0XHR3cml0ZVN0cmluZyhzZXJpYWxpemVOdW1iZXIodmFsdWUsIGtleSkpO1xyXG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xyXG5cdFx0XHR3cml0ZVByZWZpeCgpO1xyXG5cdFx0XHR3cml0ZVN0cmluZyh2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZScpO1xyXG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdHdyaXRlUHJlZml4KCk7XHJcblxyXG5cdFx0XHRpZiAoKGtleSA9PT0gJzk5JyB8fCBrZXkgPT09ICc5OCcpICYmIHZhbHVlLmNoYXJBdCgwKSA9PT0gJy8nKSB7XHJcblx0XHRcdFx0d3JpdGVTdHJpbmcodmFsdWUpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCcoJyk7XHJcblx0XHRcdFx0d3JpdGUoMHhmZSk7XHJcblx0XHRcdFx0d3JpdGUoMHhmZik7XHJcblxyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdGNvbnN0IGNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KGkpO1xyXG5cdFx0XHRcdFx0d3JpdGVTdHJpbmdCeXRlKChjb2RlID4+IDgpICYgMHhmZik7XHJcblx0XHRcdFx0XHR3cml0ZVN0cmluZ0J5dGUoY29kZSAmIDB4ZmYpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0d3JpdGVTdHJpbmcoJyknKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG5cdFx0XHR3cml0ZVByZWZpeCgpO1xyXG5cclxuXHRcdFx0aWYgKHZhbHVlLmV2ZXJ5KHggPT4gdHlwZW9mIHggPT09ICdudW1iZXInKSkge1xyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCdbJyk7XHJcblxyXG5cdFx0XHRcdGNvbnN0IGludEFycmF5ID0gaW50QXJyYXlzLmluZGV4T2Yoa2V5ISkgIT09IC0xO1xyXG5cclxuXHRcdFx0XHRmb3IgKGNvbnN0IHggb2YgdmFsdWUpIHtcclxuXHRcdFx0XHRcdHdyaXRlU3RyaW5nKCcgJyk7XHJcblx0XHRcdFx0XHR3cml0ZVN0cmluZyhpbnRBcnJheSA/IHNlcmlhbGl6ZU51bWJlcih4KSA6IHNlcmlhbGl6ZUZsb2F0KHgpKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCcgXScpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHdyaXRlU3RyaW5nKCdbJyk7XHJcblx0XHRcdFx0aWYgKCFjb25kZW5zZWQpIHdyaXRlU3RyaW5nKCdcXG4nKTtcclxuXHJcblx0XHRcdFx0Zm9yIChjb25zdCB4IG9mIHZhbHVlKSB7XHJcblx0XHRcdFx0XHR3cml0ZVZhbHVlKHgsIGtleSk7XHJcblx0XHRcdFx0XHRpZiAoIWNvbmRlbnNlZCkgd3JpdGVTdHJpbmcoJ1xcbicpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0d3JpdGVJbmRlbnQoKTtcclxuXHRcdFx0XHR3cml0ZVN0cmluZygnXScpO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuXHRcdFx0aWYgKGluUHJvcGVydHkgJiYgIWNvbmRlbnNlZCkgd3JpdGVTdHJpbmcoJ1xcbicpO1xyXG5cclxuXHRcdFx0d3JpdGVJbmRlbnQoKTtcclxuXHRcdFx0d3JpdGVTdHJpbmcoJzw8Jyk7XHJcblxyXG5cdFx0XHRpZiAoIWNvbmRlbnNlZCkgd3JpdGVTdHJpbmcoJ1xcbicpO1xyXG5cclxuXHRcdFx0aW5kZW50Kys7XHJcblxyXG5cdFx0XHRmb3IgKGNvbnN0IGtleSBvZiBnZXRLZXlzKHZhbHVlKSkge1xyXG5cdFx0XHRcdHdyaXRlUHJvcGVydHkoa2V5LCB2YWx1ZVtrZXldKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5kZW50LS07XHJcblx0XHRcdHdyaXRlSW5kZW50KCk7XHJcblx0XHRcdHdyaXRlU3RyaW5nKCc+PicpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHRpZiAoY29uZGVuc2VkKSB7XHJcblx0XHRpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdGZvciAoY29uc3Qga2V5IG9mIGdldEtleXMoZGF0YSkpIHtcclxuXHRcdFx0XHR3cml0ZVByb3BlcnR5KGtleSwgZGF0YVtrZXldKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gZWxzZSB7XHJcblx0XHR3cml0ZVN0cmluZygnXFxuXFxuJyk7XHJcblx0XHR3cml0ZVZhbHVlKGRhdGEpO1xyXG5cdH1cclxuXHJcblx0cmV0dXJuIGJ1ZmZlci5zbGljZSgwLCBvZmZzZXQpO1xyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiQzpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
|
package/dist/helpers.js
CHANGED
|
@@ -299,4 +299,4 @@ function initializeCanvas(createCanvasMethod, createCanvasFromDataMethod, create
|
|
|
299
299
|
}
|
|
300
300
|
exports.initializeCanvas = initializeCanvas;
|
|
301
301
|
|
|
302
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM3QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0NBQ0Y7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDL0Isa0JBQXdFLEVBQ3hFLDBCQUFvRSxFQUNwRSxxQkFBb0U7SUFFcEUsb0JBQVksR0FBRyxrQkFBa0IsQ0FBQztJQUNsQyw0QkFBb0IsR0FBRywwQkFBMEIsSUFBSSw0QkFBb0IsQ0FBQztJQUMxRSx1QkFBZSxHQUFHLHFCQUFxQixJQUFJLHVCQUFlLENBQUM7QUFDNUQsQ0FBQztBQVJELDRDQVFDIiwiZmlsZSI6ImhlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tQnl0ZUFycmF5IH0gZnJvbSAnYmFzZTY0LWpzJztcbmltcG9ydCB7IExheWVyLCBCbGVuZE1vZGUsIExheWVyQ29sb3IgfSBmcm9tICcuL3BzZCc7XG5cbmV4cG9ydCBjb25zdCBNT0NLX0hBTkRMRVJTID0gZmFsc2U7XG5leHBvcnQgY29uc3QgUkFXX0lNQUdFX0RBVEEgPSBmYWxzZTtcblxuZXhwb3J0IGNvbnN0IGZyb21CbGVuZE1vZGU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbmV4cG9ydCBjb25zdCB0b0JsZW5kTW9kZTogeyBba2V5OiBzdHJpbmddOiBCbGVuZE1vZGUgfSA9IHtcblx0J3Bhc3MnOiAncGFzcyB0aHJvdWdoJyxcblx0J25vcm0nOiAnbm9ybWFsJyxcblx0J2Rpc3MnOiAnZGlzc29sdmUnLFxuXHQnZGFyayc6ICdkYXJrZW4nLFxuXHQnbXVsICc6ICdtdWx0aXBseScsXG5cdCdpZGl2JzogJ2NvbG9yIGJ1cm4nLFxuXHQnbGJybic6ICdsaW5lYXIgYnVybicsXG5cdCdka0NsJzogJ2RhcmtlciBjb2xvcicsXG5cdCdsaXRlJzogJ2xpZ2h0ZW4nLFxuXHQnc2Nybic6ICdzY3JlZW4nLFxuXHQnZGl2ICc6ICdjb2xvciBkb2RnZScsXG5cdCdsZGRnJzogJ2xpbmVhciBkb2RnZScsXG5cdCdsZ0NsJzogJ2xpZ2h0ZXIgY29sb3InLFxuXHQnb3Zlcic6ICdvdmVybGF5Jyxcblx0J3NMaXQnOiAnc29mdCBsaWdodCcsXG5cdCdoTGl0JzogJ2hhcmQgbGlnaHQnLFxuXHQndkxpdCc6ICd2aXZpZCBsaWdodCcsXG5cdCdsTGl0JzogJ2xpbmVhciBsaWdodCcsXG5cdCdwTGl0JzogJ3BpbiBsaWdodCcsXG5cdCdoTWl4JzogJ2hhcmQgbWl4Jyxcblx0J2RpZmYnOiAnZGlmZmVyZW5jZScsXG5cdCdzbXVkJzogJ2V4Y2x1c2lvbicsXG5cdCdmc3ViJzogJ3N1YnRyYWN0Jyxcblx0J2ZkaXYnOiAnZGl2aWRlJyxcblx0J2h1ZSAnOiAnaHVlJyxcblx0J3NhdCAnOiAnc2F0dXJhdGlvbicsXG5cdCdjb2xyJzogJ2NvbG9yJyxcblx0J2x1bSAnOiAnbHVtaW5vc2l0eScsXG59O1xuXG5PYmplY3Qua2V5cyh0b0JsZW5kTW9kZSkuZm9yRWFjaChrZXkgPT4gZnJvbUJsZW5kTW9kZVt0b0JsZW5kTW9kZVtrZXldXSA9IGtleSk7XG5cbmV4cG9ydCBjb25zdCBsYXllckNvbG9yczogTGF5ZXJDb2xvcltdID0gW1xuXHQnbm9uZScsICdyZWQnLCAnb3JhbmdlJywgJ3llbGxvdycsICdncmVlbicsICdibHVlJywgJ3Zpb2xldCcsICdncmF5J1xuXTtcblxuZXhwb3J0IGNvbnN0IGxhcmdlQWRkaXRpb25hbEluZm9LZXlzID0gW1xuXHQvLyBmcm9tIGRvY3VtZW50YXRpb25cblx0J0xNc2snLCAnTHIxNicsICdMcjMyJywgJ0xheXInLCAnTXQxNicsICdNdDMyJywgJ010cm4nLCAnQWxwaCcsICdGTXNrJywgJ2xuazInLCAnRkVpZCcsICdGWGlkJywgJ1B4U0QnLFxuXHQvLyBmcm9tIGd1ZXNzaW5nXG5cdCdjaW5mJyxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGljdCB7XG5cdFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldk1hcChtYXA6IERpY3QpIHtcblx0Y29uc3QgcmVzdWx0OiBEaWN0ID0ge307XG5cdE9iamVjdC5rZXlzKG1hcCkuZm9yRWFjaChrZXkgPT4gcmVzdWx0W21hcFtrZXldXSA9IGtleSk7XG5cdHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbnVtPFQ+KHByZWZpeDogc3RyaW5nLCBkZWY6IHN0cmluZywgbWFwOiBEaWN0KSB7XG5cdGNvbnN0IHJldiA9IHJldk1hcChtYXApO1xuXHRjb25zdCBkZWNvZGUgPSAodmFsOiBzdHJpbmcpOiBUID0+IHtcblx0XHRjb25zdCB2YWx1ZSA9IHZhbC5zcGxpdCgnLicpWzFdO1xuXHRcdGlmICh2YWx1ZSAmJiAhcmV2W3ZhbHVlXSkgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgdmFsdWUgZm9yIGVudW06ICcke3ZhbH0nYCk7XG5cdFx0cmV0dXJuIChyZXZbdmFsdWVdIGFzIGFueSkgfHwgZGVmO1xuXHR9O1xuXHRjb25zdCBlbmNvZGUgPSAodmFsOiBUIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcblx0XHRpZiAodmFsICYmICFtYXBbdmFsIGFzIGFueV0pIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3IgZW51bTogJyR7dmFsfSdgKTtcblx0XHRyZXR1cm4gYCR7cHJlZml4fS4ke21hcFt2YWwgYXMgYW55XSB8fCBtYXBbZGVmXX1gO1xuXHR9O1xuXHRyZXR1cm4geyBkZWNvZGUsIGVuY29kZSB9O1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBDb2xvclNwYWNlIHtcblx0UkdCID0gMCxcblx0SFNCID0gMSxcblx0Q01ZSyA9IDIsXG5cdExhYiA9IDcsXG5cdEdyYXlzY2FsZSA9IDgsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIExheWVyTWFza0ZsYWdzIHtcblx0UG9zaXRpb25SZWxhdGl2ZVRvTGF5ZXIgPSAxLFxuXHRMYXllck1hc2tEaXNhYmxlZCA9IDIsXG5cdEludmVydExheWVyTWFza1doZW5CbGVuZGluZyA9IDQsIC8vIG9ic29sZXRlXG5cdExheWVyTWFza0Zyb21SZW5kZXJpbmdPdGhlckRhdGEgPSA4LFxuXHRNYXNrSGFzUGFyYW1ldGVyc0FwcGxpZWRUb0l0ID0gMTYsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIE1hc2tQYXJhbXMge1xuXHRVc2VyTWFza0RlbnNpdHkgPSAxLFxuXHRVc2VyTWFza0ZlYXRoZXIgPSAyLFxuXHRWZWN0b3JNYXNrRGVuc2l0eSA9IDQsXG5cdFZlY3Rvck1hc2tGZWF0aGVyID0gOCxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQ2hhbm5lbElEIHtcblx0Q29sb3IwID0gMCwgLy8gcmVkIChyZ2IpIC8gY3lhbiAoY215aylcblx0Q29sb3IxID0gMSwgLy8gZ3JlZW4gKHJnYikgLyBtYWdlbnRhIChjbXlrKVxuXHRDb2xvcjIgPSAyLCAvLyBibHVlIChyZ2IpIC8geWVsbG93IChjbXlrKVxuXHRDb2xvcjMgPSAzLCAvLyAtIChyZ2IpIC8gYmxhY2sgKGNteWspXG5cdFRyYW5zcGFyZW5jeSA9IC0xLFxuXHRVc2VyTWFzayA9IC0yLFxuXHRSZWFsVXNlck1hc2sgPSAtMyxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQ29tcHJlc3Npb24ge1xuXHRSYXdEYXRhID0gMCxcblx0UmxlQ29tcHJlc3NlZCA9IDEsXG5cdFppcFdpdGhvdXRQcmVkaWN0aW9uID0gMixcblx0WmlwV2l0aFByZWRpY3Rpb24gPSAzLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxEYXRhIHtcblx0Y2hhbm5lbElkOiBDaGFubmVsSUQ7XG5cdGNvbXByZXNzaW9uOiBDb21wcmVzc2lvbjtcblx0YnVmZmVyOiBVaW50OEFycmF5IHwgdW5kZWZpbmVkO1xuXHRsZW5ndGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3VuZHMge1xuXHR0b3A6IG51bWJlcjtcblx0bGVmdDogbnVtYmVyO1xuXHRyaWdodDogbnVtYmVyO1xuXHRib3R0b206IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckNoYW5uZWxEYXRhIHtcblx0bGF5ZXI6IExheWVyO1xuXHRjaGFubmVsczogQ2hhbm5lbERhdGFbXTtcblx0dG9wOiBudW1iZXI7XG5cdGxlZnQ6IG51bWJlcjtcblx0cmlnaHQ6IG51bWJlcjtcblx0Ym90dG9tOiBudW1iZXI7XG5cdG1hc2s/OiBCb3VuZHM7XG59XG5cbmV4cG9ydCB0eXBlIFBpeGVsQXJyYXkgPSBVaW50OENsYW1wZWRBcnJheSB8IFVpbnQ4QXJyYXk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGl4ZWxEYXRhIHtcblx0ZGF0YTogUGl4ZWxBcnJheTtcblx0d2lkdGg6IG51bWJlcjtcblx0aGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZmZzZXRGb3JDaGFubmVsKGNoYW5uZWxJZDogQ2hhbm5lbElELCBjbXlrOiBib29sZWFuKSB7XG5cdHN3aXRjaCAoY2hhbm5lbElkKSB7XG5cdFx0Y2FzZSBDaGFubmVsSUQuQ29sb3IwOiByZXR1cm4gMDtcblx0XHRjYXNlIENoYW5uZWxJRC5Db2xvcjE6IHJldHVybiAxO1xuXHRcdGNhc2UgQ2hhbm5lbElELkNvbG9yMjogcmV0dXJuIDI7XG5cdFx0Y2FzZSBDaGFubmVsSUQuQ29sb3IzOiByZXR1cm4gY215ayA/IDMgOiBjaGFubmVsSWQgKyAxO1xuXHRcdGNhc2UgQ2hhbm5lbElELlRyYW5zcGFyZW5jeTogcmV0dXJuIGNteWsgPyA0IDogMztcblx0XHRkZWZhdWx0OiByZXR1cm4gY2hhbm5lbElkICsgMTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xhbXAodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG5cdHJldHVybiB2YWx1ZSA8IG1pbiA/IG1pbiA6ICh2YWx1ZSA+IG1heCA/IG1heCA6IHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FscGhhKGRhdGE6IFBpeGVsRGF0YSkge1xuXHRjb25zdCBzaXplID0gZGF0YS53aWR0aCAqIGRhdGEuaGVpZ2h0ICogNDtcblxuXHRmb3IgKGxldCBpID0gMzsgaSA8IHNpemU7IGkgKz0gNCkge1xuXHRcdGlmIChkYXRhLmRhdGFbaV0gIT09IDI1NSkge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRJbWFnZURhdGEoeyBkYXRhIH06IFBpeGVsRGF0YSkge1xuXHRjb25zdCBidWZmZXIgPSBuZXcgVWludDMyQXJyYXkoZGF0YS5idWZmZXIpO1xuXHRjb25zdCBzaXplID0gYnVmZmVyLmxlbmd0aCB8IDA7XG5cblx0Zm9yIChsZXQgcCA9IDA7IHAgPCBzaXplOyBwID0gKHAgKyAxKSB8IDApIHtcblx0XHRidWZmZXJbcF0gPSAweGZmMDAwMDAwO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVCaXRtYXAoaW5wdXQ6IFBpeGVsQXJyYXksIG91dHB1dDogUGl4ZWxBcnJheSwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcblx0Zm9yIChsZXQgeSA9IDAsIHAgPSAwLCBvID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7XG5cdFx0Zm9yIChsZXQgeCA9IDA7IHggPCB3aWR0aDspIHtcblx0XHRcdGxldCBiID0gaW5wdXRbbysrXTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCA4ICYmIHggPCB3aWR0aDsgaSsrLCB4KyspIHtcblx0XHRcdFx0Y29uc3QgdiA9IGIgJiAweDgwID8gMCA6IDI1NTtcblx0XHRcdFx0YiA9IGIgPDwgMTtcblx0XHRcdFx0b3V0cHV0W3ArK10gPSB2O1xuXHRcdFx0XHRvdXRwdXRbcCsrXSA9IHY7XG5cdFx0XHRcdG91dHB1dFtwKytdID0gdjtcblx0XHRcdFx0b3V0cHV0W3ArK10gPSAyNTU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZURhdGFSYXcoZGF0YTogUGl4ZWxEYXRhLCBvZmZzZXQ6IG51bWJlciwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcblx0aWYgKCF3aWR0aCB8fCAhaGVpZ2h0KVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cblx0Y29uc3QgYXJyYXkgPSBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCk7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuXHRcdGFycmF5W2ldID0gZGF0YS5kYXRhW2kgKiA0ICsgb2Zmc2V0XTtcblx0fVxuXG5cdHJldHVybiBhcnJheTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlRGF0YVJMRShcblx0YnVmZmVyOiBVaW50OEFycmF5LCB7IGRhdGEgfTogUGl4ZWxEYXRhLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgb2Zmc2V0czogbnVtYmVyW10sXG5cdGxhcmdlOiBib29sZWFuXG4pIHtcblx0aWYgKCF3aWR0aCB8fCAhaGVpZ2h0KSByZXR1cm4gdW5kZWZpbmVkO1xuXG5cdGNvbnN0IHN0cmlkZSA9ICg0ICogd2lkdGgpIHwgMDtcblxuXHRsZXQgb2wgPSAwO1xuXHRsZXQgbyA9IChvZmZzZXRzLmxlbmd0aCAqIChsYXJnZSA/IDQgOiAyKSAqIGhlaWdodCkgfCAwO1xuXG5cdGZvciAoY29uc3Qgb2Zmc2V0IG9mIG9mZnNldHMpIHtcblx0XHRmb3IgKGxldCB5ID0gMCwgcCA9IG9mZnNldCB8IDA7IHkgPCBoZWlnaHQ7IHkrKykge1xuXHRcdFx0Y29uc3Qgc3RyaWRlU3RhcnQgPSAoeSAqIHN0cmlkZSkgfCAwO1xuXHRcdFx0Y29uc3Qgc3RyaWRlRW5kID0gKHN0cmlkZVN0YXJ0ICsgc3RyaWRlKSB8IDA7XG5cdFx0XHRjb25zdCBsYXN0SW5kZXggPSAoc3RyaWRlRW5kICsgb2Zmc2V0IC0gNCkgfCAwO1xuXHRcdFx0Y29uc3QgbGFzdEluZGV4MiA9IChsYXN0SW5kZXggLSA0KSB8IDA7XG5cdFx0XHRjb25zdCBzdGFydE9mZnNldCA9IG87XG5cblx0XHRcdGZvciAocCA9IChzdHJpZGVTdGFydCArIG9mZnNldCkgfCAwOyBwIDwgc3RyaWRlRW5kOyBwID0gKHAgKyA0KSB8IDApIHtcblx0XHRcdFx0aWYgKHAgPCBsYXN0SW5kZXgyKSB7XG5cdFx0XHRcdFx0bGV0IHZhbHVlMSA9IGRhdGFbcF07XG5cdFx0XHRcdFx0cCA9IChwICsgNCkgfCAwO1xuXHRcdFx0XHRcdGxldCB2YWx1ZTIgPSBkYXRhW3BdO1xuXHRcdFx0XHRcdHAgPSAocCArIDQpIHwgMDtcblx0XHRcdFx0XHRsZXQgdmFsdWUzID0gZGF0YVtwXTtcblxuXHRcdFx0XHRcdGlmICh2YWx1ZTEgPT09IHZhbHVlMiAmJiB2YWx1ZTEgPT09IHZhbHVlMykge1xuXHRcdFx0XHRcdFx0bGV0IGNvdW50ID0gMztcblxuXHRcdFx0XHRcdFx0d2hpbGUgKGNvdW50IDwgMTI4ICYmIHAgPCBsYXN0SW5kZXggJiYgZGF0YVsocCArIDQpIHwgMF0gPT09IHZhbHVlMSkge1xuXHRcdFx0XHRcdFx0XHRjb3VudCA9IChjb3VudCArIDEpIHwgMDtcblx0XHRcdFx0XHRcdFx0cCA9IChwICsgNCkgfCAwO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IDEgLSBjb3VudDtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUxO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zdCBjb3VudEluZGV4ID0gbztcblx0XHRcdFx0XHRcdGxldCB3cml0ZUxhc3QgPSB0cnVlO1xuXHRcdFx0XHRcdFx0bGV0IGNvdW50ID0gMTtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gMDtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUxO1xuXG5cdFx0XHRcdFx0XHR3aGlsZSAocCA8IGxhc3RJbmRleCAmJiBjb3VudCA8IDEyOCkge1xuXHRcdFx0XHRcdFx0XHRwID0gKHAgKyA0KSB8IDA7XG5cdFx0XHRcdFx0XHRcdHZhbHVlMSA9IHZhbHVlMjtcblx0XHRcdFx0XHRcdFx0dmFsdWUyID0gdmFsdWUzO1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTMgPSBkYXRhW3BdO1xuXG5cdFx0XHRcdFx0XHRcdGlmICh2YWx1ZTEgPT09IHZhbHVlMiAmJiB2YWx1ZTEgPT09IHZhbHVlMykge1xuXHRcdFx0XHRcdFx0XHRcdHAgPSAocCAtIDEyKSB8IDA7XG5cdFx0XHRcdFx0XHRcdFx0d3JpdGVMYXN0ID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0Y291bnQrKztcblx0XHRcdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRpZiAod3JpdGVMYXN0KSB7XG5cdFx0XHRcdFx0XHRcdGlmIChjb3VudCA8IDEyNykge1xuXHRcdFx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUyO1xuXHRcdFx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUzO1xuXHRcdFx0XHRcdFx0XHRcdGNvdW50ICs9IDI7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoY291bnQgPCAxMjgpIHtcblx0XHRcdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMjtcblx0XHRcdFx0XHRcdFx0XHRjb3VudCsrO1xuXHRcdFx0XHRcdFx0XHRcdHAgPSAocCAtIDQpIHwgMDtcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRwID0gKHAgLSA4KSB8IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0YnVmZmVyW2NvdW50SW5kZXhdID0gY291bnQgLSAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmIChwID09PSBsYXN0SW5kZXgpIHtcblx0XHRcdFx0XHRidWZmZXJbbysrXSA9IDA7XG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSBkYXRhW3BdO1xuXHRcdFx0XHR9IGVsc2UgeyAvLyBwID09PSBsYXN0SW5kZXgyXG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSAxO1xuXHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gZGF0YVtwXTtcblx0XHRcdFx0XHRwID0gKHAgKyA0KSB8IDA7XG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSBkYXRhW3BdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGxlbmd0aCA9IG8gLSBzdGFydE9mZnNldDtcblxuXHRcdFx0aWYgKGxhcmdlKSB7XG5cdFx0XHRcdGJ1ZmZlcltvbCsrXSA9IChsZW5ndGggPj4gMjQpICYgMHhmZjtcblx0XHRcdFx0YnVmZmVyW29sKytdID0gKGxlbmd0aCA+PiAxNikgJiAweGZmO1xuXHRcdFx0fVxuXG5cdFx0XHRidWZmZXJbb2wrK10gPSAobGVuZ3RoID4+IDgpICYgMHhmZjtcblx0XHRcdGJ1ZmZlcltvbCsrXSA9IGxlbmd0aCAmIDB4ZmY7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGJ1ZmZlci5zbGljZSgwLCBvKTtcbn1cblxuZXhwb3J0IGxldCBjcmVhdGVDYW52YXM6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSFRNTENhbnZhc0VsZW1lbnQgPSAoKSA9PiB7XG5cdHRocm93IG5ldyBFcnJvcignQ2FudmFzIG5vdCBpbml0aWFsaXplZCwgdXNlIGluaXRpYWxpemVDYW52YXMgbWV0aG9kIHRvIHNldCB1cCBjcmVhdGVDYW52YXMgbWV0aG9kJyk7XG59O1xuXG5leHBvcnQgbGV0IGNyZWF0ZUNhbnZhc0Zyb21EYXRhOiAoZGF0YTogVWludDhBcnJheSkgPT4gSFRNTENhbnZhc0VsZW1lbnQgPSAoKSA9PiB7XG5cdHRocm93IG5ldyBFcnJvcignQ2FudmFzIG5vdCBpbml0aWFsaXplZCwgdXNlIGluaXRpYWxpemVDYW52YXMgbWV0aG9kIHRvIHNldCB1cCBjcmVhdGVDYW52YXNGcm9tRGF0YSBtZXRob2QnKTtcbn07XG5cbmxldCB0ZW1wQ2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuZXhwb3J0IGxldCBjcmVhdGVJbWFnZURhdGE6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSW1hZ2VEYXRhID0gKHdpZHRoLCBoZWlnaHQpID0+IHtcblx0aWYgKCF0ZW1wQ2FudmFzKSB0ZW1wQ2FudmFzID0gY3JlYXRlQ2FudmFzKDEsIDEpO1xuXHRyZXR1cm4gdGVtcENhbnZhcy5nZXRDb250ZXh0KCcyZCcpIS5jcmVhdGVJbWFnZURhdGEod2lkdGgsIGhlaWdodCk7XG59O1xuXG5pZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuXHRjcmVhdGVDYW52YXMgPSAod2lkdGgsIGhlaWdodCkgPT4ge1xuXHRcdGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuXHRcdGNhbnZhcy53aWR0aCA9IHdpZHRoO1xuXHRcdGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XG5cdFx0cmV0dXJuIGNhbnZhcztcblx0fTtcblxuXHRjcmVhdGVDYW52YXNGcm9tRGF0YSA9IChkYXRhKSA9PiB7XG5cdFx0Y29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcblx0XHRpbWFnZS5zcmMgPSAnZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwnICsgZnJvbUJ5dGVBcnJheShkYXRhKTtcblx0XHRjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcblx0XHRjYW52YXMud2lkdGggPSBpbWFnZS53aWR0aDtcblx0XHRjYW52YXMuaGVpZ2h0ID0gaW1hZ2UuaGVpZ2h0O1xuXHRcdGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpIS5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDApO1xuXHRcdHJldHVybiBjYW52YXM7XG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplQ2FudmFzKFxuXHRjcmVhdGVDYW52YXNNZXRob2Q6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSFRNTENhbnZhc0VsZW1lbnQsXG5cdGNyZWF0ZUNhbnZhc0Zyb21EYXRhTWV0aG9kPzogKGRhdGE6IFVpbnQ4QXJyYXkpID0+IEhUTUxDYW52YXNFbGVtZW50LFxuXHRjcmVhdGVJbWFnZURhdGFNZXRob2Q/OiAod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IEltYWdlRGF0YVxuKSB7XG5cdGNyZWF0ZUNhbnZhcyA9IGNyZWF0ZUNhbnZhc01ldGhvZDtcblx0Y3JlYXRlQ2FudmFzRnJvbURhdGEgPSBjcmVhdGVDYW52YXNGcm9tRGF0YU1ldGhvZCB8fCBjcmVhdGVDYW52YXNGcm9tRGF0YTtcblx0Y3JlYXRlSW1hZ2VEYXRhID0gY3JlYXRlSW1hZ2VEYXRhTWV0aG9kIHx8IGNyZWF0ZUltYWdlRGF0YTtcbn1cbiJdLCJzb3VyY2VSb290IjoiRDpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
|
|
302
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM3QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0NBQ0Y7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDL0Isa0JBQXdFLEVBQ3hFLDBCQUFvRSxFQUNwRSxxQkFBb0U7SUFFcEUsb0JBQVksR0FBRyxrQkFBa0IsQ0FBQztJQUNsQyw0QkFBb0IsR0FBRywwQkFBMEIsSUFBSSw0QkFBb0IsQ0FBQztJQUMxRSx1QkFBZSxHQUFHLHFCQUFxQixJQUFJLHVCQUFlLENBQUM7QUFDNUQsQ0FBQztBQVJELDRDQVFDIiwiZmlsZSI6ImhlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tQnl0ZUFycmF5IH0gZnJvbSAnYmFzZTY0LWpzJztcbmltcG9ydCB7IExheWVyLCBCbGVuZE1vZGUsIExheWVyQ29sb3IgfSBmcm9tICcuL3BzZCc7XG5cbmV4cG9ydCBjb25zdCBNT0NLX0hBTkRMRVJTID0gZmFsc2U7XG5leHBvcnQgY29uc3QgUkFXX0lNQUdFX0RBVEEgPSBmYWxzZTtcblxuZXhwb3J0IGNvbnN0IGZyb21CbGVuZE1vZGU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbmV4cG9ydCBjb25zdCB0b0JsZW5kTW9kZTogeyBba2V5OiBzdHJpbmddOiBCbGVuZE1vZGUgfSA9IHtcblx0J3Bhc3MnOiAncGFzcyB0aHJvdWdoJyxcblx0J25vcm0nOiAnbm9ybWFsJyxcblx0J2Rpc3MnOiAnZGlzc29sdmUnLFxuXHQnZGFyayc6ICdkYXJrZW4nLFxuXHQnbXVsICc6ICdtdWx0aXBseScsXG5cdCdpZGl2JzogJ2NvbG9yIGJ1cm4nLFxuXHQnbGJybic6ICdsaW5lYXIgYnVybicsXG5cdCdka0NsJzogJ2RhcmtlciBjb2xvcicsXG5cdCdsaXRlJzogJ2xpZ2h0ZW4nLFxuXHQnc2Nybic6ICdzY3JlZW4nLFxuXHQnZGl2ICc6ICdjb2xvciBkb2RnZScsXG5cdCdsZGRnJzogJ2xpbmVhciBkb2RnZScsXG5cdCdsZ0NsJzogJ2xpZ2h0ZXIgY29sb3InLFxuXHQnb3Zlcic6ICdvdmVybGF5Jyxcblx0J3NMaXQnOiAnc29mdCBsaWdodCcsXG5cdCdoTGl0JzogJ2hhcmQgbGlnaHQnLFxuXHQndkxpdCc6ICd2aXZpZCBsaWdodCcsXG5cdCdsTGl0JzogJ2xpbmVhciBsaWdodCcsXG5cdCdwTGl0JzogJ3BpbiBsaWdodCcsXG5cdCdoTWl4JzogJ2hhcmQgbWl4Jyxcblx0J2RpZmYnOiAnZGlmZmVyZW5jZScsXG5cdCdzbXVkJzogJ2V4Y2x1c2lvbicsXG5cdCdmc3ViJzogJ3N1YnRyYWN0Jyxcblx0J2ZkaXYnOiAnZGl2aWRlJyxcblx0J2h1ZSAnOiAnaHVlJyxcblx0J3NhdCAnOiAnc2F0dXJhdGlvbicsXG5cdCdjb2xyJzogJ2NvbG9yJyxcblx0J2x1bSAnOiAnbHVtaW5vc2l0eScsXG59O1xuXG5PYmplY3Qua2V5cyh0b0JsZW5kTW9kZSkuZm9yRWFjaChrZXkgPT4gZnJvbUJsZW5kTW9kZVt0b0JsZW5kTW9kZVtrZXldXSA9IGtleSk7XG5cbmV4cG9ydCBjb25zdCBsYXllckNvbG9yczogTGF5ZXJDb2xvcltdID0gW1xuXHQnbm9uZScsICdyZWQnLCAnb3JhbmdlJywgJ3llbGxvdycsICdncmVlbicsICdibHVlJywgJ3Zpb2xldCcsICdncmF5J1xuXTtcblxuZXhwb3J0IGNvbnN0IGxhcmdlQWRkaXRpb25hbEluZm9LZXlzID0gW1xuXHQvLyBmcm9tIGRvY3VtZW50YXRpb25cblx0J0xNc2snLCAnTHIxNicsICdMcjMyJywgJ0xheXInLCAnTXQxNicsICdNdDMyJywgJ010cm4nLCAnQWxwaCcsICdGTXNrJywgJ2xuazInLCAnRkVpZCcsICdGWGlkJywgJ1B4U0QnLFxuXHQvLyBmcm9tIGd1ZXNzaW5nXG5cdCdjaW5mJyxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGljdCB7XG5cdFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldk1hcChtYXA6IERpY3QpIHtcblx0Y29uc3QgcmVzdWx0OiBEaWN0ID0ge307XG5cdE9iamVjdC5rZXlzKG1hcCkuZm9yRWFjaChrZXkgPT4gcmVzdWx0W21hcFtrZXldXSA9IGtleSk7XG5cdHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbnVtPFQ+KHByZWZpeDogc3RyaW5nLCBkZWY6IHN0cmluZywgbWFwOiBEaWN0KSB7XG5cdGNvbnN0IHJldiA9IHJldk1hcChtYXApO1xuXHRjb25zdCBkZWNvZGUgPSAodmFsOiBzdHJpbmcpOiBUID0+IHtcblx0XHRjb25zdCB2YWx1ZSA9IHZhbC5zcGxpdCgnLicpWzFdO1xuXHRcdGlmICh2YWx1ZSAmJiAhcmV2W3ZhbHVlXSkgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgdmFsdWUgZm9yIGVudW06ICcke3ZhbH0nYCk7XG5cdFx0cmV0dXJuIChyZXZbdmFsdWVdIGFzIGFueSkgfHwgZGVmO1xuXHR9O1xuXHRjb25zdCBlbmNvZGUgPSAodmFsOiBUIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcblx0XHRpZiAodmFsICYmICFtYXBbdmFsIGFzIGFueV0pIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3IgZW51bTogJyR7dmFsfSdgKTtcblx0XHRyZXR1cm4gYCR7cHJlZml4fS4ke21hcFt2YWwgYXMgYW55XSB8fCBtYXBbZGVmXX1gO1xuXHR9O1xuXHRyZXR1cm4geyBkZWNvZGUsIGVuY29kZSB9O1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBDb2xvclNwYWNlIHtcblx0UkdCID0gMCxcblx0SFNCID0gMSxcblx0Q01ZSyA9IDIsXG5cdExhYiA9IDcsXG5cdEdyYXlzY2FsZSA9IDgsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIExheWVyTWFza0ZsYWdzIHtcblx0UG9zaXRpb25SZWxhdGl2ZVRvTGF5ZXIgPSAxLFxuXHRMYXllck1hc2tEaXNhYmxlZCA9IDIsXG5cdEludmVydExheWVyTWFza1doZW5CbGVuZGluZyA9IDQsIC8vIG9ic29sZXRlXG5cdExheWVyTWFza0Zyb21SZW5kZXJpbmdPdGhlckRhdGEgPSA4LFxuXHRNYXNrSGFzUGFyYW1ldGVyc0FwcGxpZWRUb0l0ID0gMTYsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIE1hc2tQYXJhbXMge1xuXHRVc2VyTWFza0RlbnNpdHkgPSAxLFxuXHRVc2VyTWFza0ZlYXRoZXIgPSAyLFxuXHRWZWN0b3JNYXNrRGVuc2l0eSA9IDQsXG5cdFZlY3Rvck1hc2tGZWF0aGVyID0gOCxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQ2hhbm5lbElEIHtcblx0Q29sb3IwID0gMCwgLy8gcmVkIChyZ2IpIC8gY3lhbiAoY215aylcblx0Q29sb3IxID0gMSwgLy8gZ3JlZW4gKHJnYikgLyBtYWdlbnRhIChjbXlrKVxuXHRDb2xvcjIgPSAyLCAvLyBibHVlIChyZ2IpIC8geWVsbG93IChjbXlrKVxuXHRDb2xvcjMgPSAzLCAvLyAtIChyZ2IpIC8gYmxhY2sgKGNteWspXG5cdFRyYW5zcGFyZW5jeSA9IC0xLFxuXHRVc2VyTWFzayA9IC0yLFxuXHRSZWFsVXNlck1hc2sgPSAtMyxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQ29tcHJlc3Npb24ge1xuXHRSYXdEYXRhID0gMCxcblx0UmxlQ29tcHJlc3NlZCA9IDEsXG5cdFppcFdpdGhvdXRQcmVkaWN0aW9uID0gMixcblx0WmlwV2l0aFByZWRpY3Rpb24gPSAzLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxEYXRhIHtcblx0Y2hhbm5lbElkOiBDaGFubmVsSUQ7XG5cdGNvbXByZXNzaW9uOiBDb21wcmVzc2lvbjtcblx0YnVmZmVyOiBVaW50OEFycmF5IHwgdW5kZWZpbmVkO1xuXHRsZW5ndGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3VuZHMge1xuXHR0b3A6IG51bWJlcjtcblx0bGVmdDogbnVtYmVyO1xuXHRyaWdodDogbnVtYmVyO1xuXHRib3R0b206IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckNoYW5uZWxEYXRhIHtcblx0bGF5ZXI6IExheWVyO1xuXHRjaGFubmVsczogQ2hhbm5lbERhdGFbXTtcblx0dG9wOiBudW1iZXI7XG5cdGxlZnQ6IG51bWJlcjtcblx0cmlnaHQ6IG51bWJlcjtcblx0Ym90dG9tOiBudW1iZXI7XG5cdG1hc2s/OiBCb3VuZHM7XG59XG5cbmV4cG9ydCB0eXBlIFBpeGVsQXJyYXkgPSBVaW50OENsYW1wZWRBcnJheSB8IFVpbnQ4QXJyYXk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGl4ZWxEYXRhIHtcblx0ZGF0YTogUGl4ZWxBcnJheTtcblx0d2lkdGg6IG51bWJlcjtcblx0aGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZmZzZXRGb3JDaGFubmVsKGNoYW5uZWxJZDogQ2hhbm5lbElELCBjbXlrOiBib29sZWFuKSB7XG5cdHN3aXRjaCAoY2hhbm5lbElkKSB7XG5cdFx0Y2FzZSBDaGFubmVsSUQuQ29sb3IwOiByZXR1cm4gMDtcblx0XHRjYXNlIENoYW5uZWxJRC5Db2xvcjE6IHJldHVybiAxO1xuXHRcdGNhc2UgQ2hhbm5lbElELkNvbG9yMjogcmV0dXJuIDI7XG5cdFx0Y2FzZSBDaGFubmVsSUQuQ29sb3IzOiByZXR1cm4gY215ayA/IDMgOiBjaGFubmVsSWQgKyAxO1xuXHRcdGNhc2UgQ2hhbm5lbElELlRyYW5zcGFyZW5jeTogcmV0dXJuIGNteWsgPyA0IDogMztcblx0XHRkZWZhdWx0OiByZXR1cm4gY2hhbm5lbElkICsgMTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xhbXAodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG5cdHJldHVybiB2YWx1ZSA8IG1pbiA/IG1pbiA6ICh2YWx1ZSA+IG1heCA/IG1heCA6IHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FscGhhKGRhdGE6IFBpeGVsRGF0YSkge1xuXHRjb25zdCBzaXplID0gZGF0YS53aWR0aCAqIGRhdGEuaGVpZ2h0ICogNDtcblxuXHRmb3IgKGxldCBpID0gMzsgaSA8IHNpemU7IGkgKz0gNCkge1xuXHRcdGlmIChkYXRhLmRhdGFbaV0gIT09IDI1NSkge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRJbWFnZURhdGEoeyBkYXRhIH06IFBpeGVsRGF0YSkge1xuXHRjb25zdCBidWZmZXIgPSBuZXcgVWludDMyQXJyYXkoZGF0YS5idWZmZXIpO1xuXHRjb25zdCBzaXplID0gYnVmZmVyLmxlbmd0aCB8IDA7XG5cblx0Zm9yIChsZXQgcCA9IDA7IHAgPCBzaXplOyBwID0gKHAgKyAxKSB8IDApIHtcblx0XHRidWZmZXJbcF0gPSAweGZmMDAwMDAwO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVCaXRtYXAoaW5wdXQ6IFBpeGVsQXJyYXksIG91dHB1dDogUGl4ZWxBcnJheSwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcblx0Zm9yIChsZXQgeSA9IDAsIHAgPSAwLCBvID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7XG5cdFx0Zm9yIChsZXQgeCA9IDA7IHggPCB3aWR0aDspIHtcblx0XHRcdGxldCBiID0gaW5wdXRbbysrXTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCA4ICYmIHggPCB3aWR0aDsgaSsrLCB4KyspIHtcblx0XHRcdFx0Y29uc3QgdiA9IGIgJiAweDgwID8gMCA6IDI1NTtcblx0XHRcdFx0YiA9IGIgPDwgMTtcblx0XHRcdFx0b3V0cHV0W3ArK10gPSB2O1xuXHRcdFx0XHRvdXRwdXRbcCsrXSA9IHY7XG5cdFx0XHRcdG91dHB1dFtwKytdID0gdjtcblx0XHRcdFx0b3V0cHV0W3ArK10gPSAyNTU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZURhdGFSYXcoZGF0YTogUGl4ZWxEYXRhLCBvZmZzZXQ6IG51bWJlciwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcblx0aWYgKCF3aWR0aCB8fCAhaGVpZ2h0KVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cblx0Y29uc3QgYXJyYXkgPSBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCk7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuXHRcdGFycmF5W2ldID0gZGF0YS5kYXRhW2kgKiA0ICsgb2Zmc2V0XTtcblx0fVxuXG5cdHJldHVybiBhcnJheTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlRGF0YVJMRShcblx0YnVmZmVyOiBVaW50OEFycmF5LCB7IGRhdGEgfTogUGl4ZWxEYXRhLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgb2Zmc2V0czogbnVtYmVyW10sXG5cdGxhcmdlOiBib29sZWFuXG4pIHtcblx0aWYgKCF3aWR0aCB8fCAhaGVpZ2h0KSByZXR1cm4gdW5kZWZpbmVkO1xuXG5cdGNvbnN0IHN0cmlkZSA9ICg0ICogd2lkdGgpIHwgMDtcblxuXHRsZXQgb2wgPSAwO1xuXHRsZXQgbyA9IChvZmZzZXRzLmxlbmd0aCAqIChsYXJnZSA/IDQgOiAyKSAqIGhlaWdodCkgfCAwO1xuXG5cdGZvciAoY29uc3Qgb2Zmc2V0IG9mIG9mZnNldHMpIHtcblx0XHRmb3IgKGxldCB5ID0gMCwgcCA9IG9mZnNldCB8IDA7IHkgPCBoZWlnaHQ7IHkrKykge1xuXHRcdFx0Y29uc3Qgc3RyaWRlU3RhcnQgPSAoeSAqIHN0cmlkZSkgfCAwO1xuXHRcdFx0Y29uc3Qgc3RyaWRlRW5kID0gKHN0cmlkZVN0YXJ0ICsgc3RyaWRlKSB8IDA7XG5cdFx0XHRjb25zdCBsYXN0SW5kZXggPSAoc3RyaWRlRW5kICsgb2Zmc2V0IC0gNCkgfCAwO1xuXHRcdFx0Y29uc3QgbGFzdEluZGV4MiA9IChsYXN0SW5kZXggLSA0KSB8IDA7XG5cdFx0XHRjb25zdCBzdGFydE9mZnNldCA9IG87XG5cblx0XHRcdGZvciAocCA9IChzdHJpZGVTdGFydCArIG9mZnNldCkgfCAwOyBwIDwgc3RyaWRlRW5kOyBwID0gKHAgKyA0KSB8IDApIHtcblx0XHRcdFx0aWYgKHAgPCBsYXN0SW5kZXgyKSB7XG5cdFx0XHRcdFx0bGV0IHZhbHVlMSA9IGRhdGFbcF07XG5cdFx0XHRcdFx0cCA9IChwICsgNCkgfCAwO1xuXHRcdFx0XHRcdGxldCB2YWx1ZTIgPSBkYXRhW3BdO1xuXHRcdFx0XHRcdHAgPSAocCArIDQpIHwgMDtcblx0XHRcdFx0XHRsZXQgdmFsdWUzID0gZGF0YVtwXTtcblxuXHRcdFx0XHRcdGlmICh2YWx1ZTEgPT09IHZhbHVlMiAmJiB2YWx1ZTEgPT09IHZhbHVlMykge1xuXHRcdFx0XHRcdFx0bGV0IGNvdW50ID0gMztcblxuXHRcdFx0XHRcdFx0d2hpbGUgKGNvdW50IDwgMTI4ICYmIHAgPCBsYXN0SW5kZXggJiYgZGF0YVsocCArIDQpIHwgMF0gPT09IHZhbHVlMSkge1xuXHRcdFx0XHRcdFx0XHRjb3VudCA9IChjb3VudCArIDEpIHwgMDtcblx0XHRcdFx0XHRcdFx0cCA9IChwICsgNCkgfCAwO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IDEgLSBjb3VudDtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUxO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zdCBjb3VudEluZGV4ID0gbztcblx0XHRcdFx0XHRcdGxldCB3cml0ZUxhc3QgPSB0cnVlO1xuXHRcdFx0XHRcdFx0bGV0IGNvdW50ID0gMTtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gMDtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUxO1xuXG5cdFx0XHRcdFx0XHR3aGlsZSAocCA8IGxhc3RJbmRleCAmJiBjb3VudCA8IDEyOCkge1xuXHRcdFx0XHRcdFx0XHRwID0gKHAgKyA0KSB8IDA7XG5cdFx0XHRcdFx0XHRcdHZhbHVlMSA9IHZhbHVlMjtcblx0XHRcdFx0XHRcdFx0dmFsdWUyID0gdmFsdWUzO1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTMgPSBkYXRhW3BdO1xuXG5cdFx0XHRcdFx0XHRcdGlmICh2YWx1ZTEgPT09IHZhbHVlMiAmJiB2YWx1ZTEgPT09IHZhbHVlMykge1xuXHRcdFx0XHRcdFx0XHRcdHAgPSAocCAtIDEyKSB8IDA7XG5cdFx0XHRcdFx0XHRcdFx0d3JpdGVMYXN0ID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0Y291bnQrKztcblx0XHRcdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRpZiAod3JpdGVMYXN0KSB7XG5cdFx0XHRcdFx0XHRcdGlmIChjb3VudCA8IDEyNykge1xuXHRcdFx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUyO1xuXHRcdFx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUzO1xuXHRcdFx0XHRcdFx0XHRcdGNvdW50ICs9IDI7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoY291bnQgPCAxMjgpIHtcblx0XHRcdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMjtcblx0XHRcdFx0XHRcdFx0XHRjb3VudCsrO1xuXHRcdFx0XHRcdFx0XHRcdHAgPSAocCAtIDQpIHwgMDtcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRwID0gKHAgLSA4KSB8IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0YnVmZmVyW2NvdW50SW5kZXhdID0gY291bnQgLSAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmIChwID09PSBsYXN0SW5kZXgpIHtcblx0XHRcdFx0XHRidWZmZXJbbysrXSA9IDA7XG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSBkYXRhW3BdO1xuXHRcdFx0XHR9IGVsc2UgeyAvLyBwID09PSBsYXN0SW5kZXgyXG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSAxO1xuXHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gZGF0YVtwXTtcblx0XHRcdFx0XHRwID0gKHAgKyA0KSB8IDA7XG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSBkYXRhW3BdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGxlbmd0aCA9IG8gLSBzdGFydE9mZnNldDtcblxuXHRcdFx0aWYgKGxhcmdlKSB7XG5cdFx0XHRcdGJ1ZmZlcltvbCsrXSA9IChsZW5ndGggPj4gMjQpICYgMHhmZjtcblx0XHRcdFx0YnVmZmVyW29sKytdID0gKGxlbmd0aCA+PiAxNikgJiAweGZmO1xuXHRcdFx0fVxuXG5cdFx0XHRidWZmZXJbb2wrK10gPSAobGVuZ3RoID4+IDgpICYgMHhmZjtcblx0XHRcdGJ1ZmZlcltvbCsrXSA9IGxlbmd0aCAmIDB4ZmY7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGJ1ZmZlci5zbGljZSgwLCBvKTtcbn1cblxuZXhwb3J0IGxldCBjcmVhdGVDYW52YXM6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSFRNTENhbnZhc0VsZW1lbnQgPSAoKSA9PiB7XG5cdHRocm93IG5ldyBFcnJvcignQ2FudmFzIG5vdCBpbml0aWFsaXplZCwgdXNlIGluaXRpYWxpemVDYW52YXMgbWV0aG9kIHRvIHNldCB1cCBjcmVhdGVDYW52YXMgbWV0aG9kJyk7XG59O1xuXG5leHBvcnQgbGV0IGNyZWF0ZUNhbnZhc0Zyb21EYXRhOiAoZGF0YTogVWludDhBcnJheSkgPT4gSFRNTENhbnZhc0VsZW1lbnQgPSAoKSA9PiB7XG5cdHRocm93IG5ldyBFcnJvcignQ2FudmFzIG5vdCBpbml0aWFsaXplZCwgdXNlIGluaXRpYWxpemVDYW52YXMgbWV0aG9kIHRvIHNldCB1cCBjcmVhdGVDYW52YXNGcm9tRGF0YSBtZXRob2QnKTtcbn07XG5cbmxldCB0ZW1wQ2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuZXhwb3J0IGxldCBjcmVhdGVJbWFnZURhdGE6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSW1hZ2VEYXRhID0gKHdpZHRoLCBoZWlnaHQpID0+IHtcblx0aWYgKCF0ZW1wQ2FudmFzKSB0ZW1wQ2FudmFzID0gY3JlYXRlQ2FudmFzKDEsIDEpO1xuXHRyZXR1cm4gdGVtcENhbnZhcy5nZXRDb250ZXh0KCcyZCcpIS5jcmVhdGVJbWFnZURhdGEod2lkdGgsIGhlaWdodCk7XG59O1xuXG5pZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuXHRjcmVhdGVDYW52YXMgPSAod2lkdGgsIGhlaWdodCkgPT4ge1xuXHRcdGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuXHRcdGNhbnZhcy53aWR0aCA9IHdpZHRoO1xuXHRcdGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XG5cdFx0cmV0dXJuIGNhbnZhcztcblx0fTtcblxuXHRjcmVhdGVDYW52YXNGcm9tRGF0YSA9IChkYXRhKSA9PiB7XG5cdFx0Y29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcblx0XHRpbWFnZS5zcmMgPSAnZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwnICsgZnJvbUJ5dGVBcnJheShkYXRhKTtcblx0XHRjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcblx0XHRjYW52YXMud2lkdGggPSBpbWFnZS53aWR0aDtcblx0XHRjYW52YXMuaGVpZ2h0ID0gaW1hZ2UuaGVpZ2h0O1xuXHRcdGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpIS5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDApO1xuXHRcdHJldHVybiBjYW52YXM7XG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplQ2FudmFzKFxuXHRjcmVhdGVDYW52YXNNZXRob2Q6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSFRNTENhbnZhc0VsZW1lbnQsXG5cdGNyZWF0ZUNhbnZhc0Zyb21EYXRhTWV0aG9kPzogKGRhdGE6IFVpbnQ4QXJyYXkpID0+IEhUTUxDYW52YXNFbGVtZW50LFxuXHRjcmVhdGVJbWFnZURhdGFNZXRob2Q/OiAod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IEltYWdlRGF0YVxuKSB7XG5cdGNyZWF0ZUNhbnZhcyA9IGNyZWF0ZUNhbnZhc01ldGhvZDtcblx0Y3JlYXRlQ2FudmFzRnJvbURhdGEgPSBjcmVhdGVDYW52YXNGcm9tRGF0YU1ldGhvZCB8fCBjcmVhdGVDYW52YXNGcm9tRGF0YTtcblx0Y3JlYXRlSW1hZ2VEYXRhID0gY3JlYXRlSW1hZ2VEYXRhTWV0aG9kIHx8IGNyZWF0ZUltYWdlRGF0YTtcbn1cbiJdLCJzb3VyY2VSb290IjoiQzpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
|