obsidian-dev-utils 87.3.1 → 88.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/dev/main.js +37609 -0
- package/dist/dev/manifest.json +9 -0
- package/dist/lib/cjs/__merged.cjs +3 -1
- package/dist/lib/cjs/__merged.d.cts +1 -1
- package/dist/lib/cjs/generated-during-build.cjs +1 -1
- package/dist/lib/cjs/obsidian/async-with-notice.cjs +11 -7
- package/dist/lib/cjs/obsidian/async-with-notice.d.cts +6 -4
- package/dist/lib/cjs/obsidian/components/component-ex.cjs +28 -1
- package/dist/lib/cjs/obsidian/components/component-ex.d.cts +23 -0
- package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +16 -3
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +13 -39
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.d.cts +2 -18
- package/dist/lib/cjs/obsidian/file-manager.cjs +3 -1
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +4 -1
- package/dist/lib/cjs/obsidian/metadata-cache.cjs +2 -3
- package/dist/lib/cjs/obsidian/queue.cjs +2 -3
- package/dist/lib/cjs/obsidian/vault-transaction.cjs +3 -1
- package/dist/lib/cjs/obsidian/vault.cjs +34 -3
- package/dist/lib/cjs/obsidian/vault.d.cts +47 -0
- package/dist/lib/esm/__merged.d.mts +1 -1
- package/dist/lib/esm/__merged.mjs +3 -1
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/obsidian/async-with-notice.d.mts +6 -4
- package/dist/lib/esm/obsidian/async-with-notice.mjs +11 -7
- package/dist/lib/esm/obsidian/components/component-ex.d.mts +23 -0
- package/dist/lib/esm/obsidian/components/component-ex.mjs +28 -1
- package/dist/lib/esm/obsidian/components/layout-ready-component.mjs +16 -3
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.d.mts +2 -18
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +14 -40
- package/dist/lib/esm/obsidian/file-manager.mjs +3 -1
- package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +4 -1
- package/dist/lib/esm/obsidian/metadata-cache.mjs +2 -3
- package/dist/lib/esm/obsidian/queue.mjs +2 -3
- package/dist/lib/esm/obsidian/vault-transaction.mjs +3 -1
- package/dist/lib/esm/obsidian/vault.d.mts +47 -0
- package/dist/lib/esm/obsidian/vault.mjs +32 -3
- package/package.json +1 -1
|
@@ -543,6 +543,7 @@ import {
|
|
|
543
543
|
import { deleteIfNotUsed } from "./obsidian/vault-delete.mjs";
|
|
544
544
|
import { VaultTransaction } from "./obsidian/vault-transaction.mjs";
|
|
545
545
|
import {
|
|
546
|
+
cleanupEmptyFolders,
|
|
546
547
|
copySafe,
|
|
547
548
|
createFolderSafe,
|
|
548
549
|
createTempFile,
|
|
@@ -834,6 +835,7 @@ export {
|
|
|
834
835
|
castTo,
|
|
835
836
|
chain,
|
|
836
837
|
checkExtension,
|
|
838
|
+
cleanupEmptyFolders,
|
|
837
839
|
cloneFunction,
|
|
838
840
|
cloneWithNonEnumerableProperties,
|
|
839
841
|
configureCommunityPlugin,
|
|
@@ -1177,4 +1179,4 @@ export {
|
|
|
1177
1179
|
waitUntilConnected,
|
|
1178
1180
|
wrapForCallout
|
|
1179
1181
|
};
|
|
1180
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL19fbWVyZ2VkLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0IHtcbiAgYWJvcnRTaWduYWxBbnksXG4gIGFib3J0U2lnbmFsTmV2ZXIsXG4gIGFib3J0U2lnbmFsVGltZW91dCxcbiAgSU5GSU5JVEVfVElNRU9VVCxcbiAgb25BYm9ydCxcbiAgd2FpdEZvckFib3J0XG59IGZyb20gJy4vYWJvcnQtY29udHJvbGxlci50cyc7XG5leHBvcnQge1xuICBmaWx0ZXJJblBsYWNlLFxuICB1bmlxdWUsXG4gIHVuaXF1ZUluUGxhY2Vcbn0gZnJvbSAnLi9hcnJheS50cyc7XG5leHBvcnQge1xuICBBc3luY0V2ZW50UmVmRGlzcG9zYWJsZSxcbiAgQXN5bmNFdmVudHMsXG4gIEFzeW5jRXZlbnRzQmFzZSxcbiAgbWl4aW5Bc3luY0V2ZW50cyxcbiAgc3Vic2NyaWJlQXN5bmNEaXNwb3NhYmxlRXZlbnRcbn0gZnJvbSAnLi9hc3luYy1ldmVudHMudHMnO1xuZXhwb3J0IHtcbiAgYWRkRXJyb3JIYW5kbGVyLFxuICBhc3luY0ZpbHRlcixcbiAgYXN5bmNGaWx0ZXJJblBsYWNlLFxuICBhc3luY0ZsYXRNYXAsXG4gIGFzeW5jTWFwLFxuICBjaGFpbixcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBjb252ZXJ0U3luY1RvQXN5bmMsXG4gIGRpc2FibGVBc3luY09wZXJhdGlvblRyYWNraW5nLFxuICBlbmFibGVBc3luY09wZXJhdGlvblRyYWNraW5nLFxuICBoYW5kbGVTaWxlbnRFcnJvcixcbiAgaWdub3JlRXJyb3IsXG4gIGludm9rZUFzeW5jU2FmZWx5LFxuICBpbnZva2VBc3luY1NhZmVseUFmdGVyRGVsYXksXG4gIGlzQXN5bmNPcGVyYXRpb25UcmFja2luZ0VuYWJsZWQsXG4gIG1hcmtzQXNUZXJtaW5hdGVSZXRyeSxcbiAgbmV2ZXJFbmRzLFxuICBuZXh0VGlja0FzeW5jLFxuICBub3JtYWxpemVQcm9taXNhYmxlLFxuICBwcm9taXNlQWxsQXN5bmNGbnNTZXF1ZW50aWFsbHksXG4gIHByb21pc2VBbGxTZXF1ZW50aWFsbHksXG4gIHF1ZXVlTWljcm90YXNrQXN5bmMsXG4gIHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jLFxuICByZXRyeVdpdGhUaW1lb3V0LFxuICBydW5XaXRoVGltZW91dCxcbiAgc2V0SW1tZWRpYXRlQXN5bmMsXG4gIHNldFRpbWVvdXRBc3luYyxcbiAgc2xlZXAsXG4gIHRpbWVvdXQsXG4gIHRvQXJyYXksXG4gIHdhaXRGb3JBbGxBc3luY09wZXJhdGlvbnNcbn0gZnJvbSAnLi9hc3luYy50cyc7XG5leHBvcnQgeyBCZWVwZXIgfSBmcm9tICcuL2JlZXBlci50cyc7XG5leHBvcnQge1xuICBibG9iVG9BcnJheUJ1ZmZlcixcbiAgYmxvYlRvRGF0YVVybCxcbiAgYmxvYlRvSnBlZ0FycmF5QnVmZmVyLFxuICBkYXRhVXJsVG9BcnJheUJ1ZmZlcixcbiAgaXNJbWFnZUZpbGVcbn0gZnJvbSAnLi9ibG9iLnRzJztcbmV4cG9ydCB7XG4gIGVuYWJsZUxpYnJhcnlEZWJ1Z2dlcnMsXG4gIGdldERlYnVnQ29udHJvbGxlcixcbiAgZ2V0RGVidWdnZXIsXG4gIGdldExpYkRlYnVnZ2VyLFxuICBwcmludFdpdGhTdGFja1RyYWNlLFxuICBzaG93SW5pdGlhbERlYnVnTWVzc2FnZVxufSBmcm9tICcuL2RlYnVnLnRzJztcbmV4cG9ydCB7XG4gIEFzeW5jQ2FsbGJhY2tEaXNwb3NhYmxlLFxuICBBc3luY0Rpc3Bvc2FibGVCYXNlLFxuICBDYWxsYmFja0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVBc3luY0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVEaXNwb3NhYmxlLFxuICBEaXNwb3NhYmxlQmFzZSxcbiAgRGlzcG9zZUVycm9yQmVoYXZpb3IsXG4gIERpc3Bvc2VPcmRlcixcbiAgaXNBc3luY0Rpc3Bvc2FibGUsXG4gIGlzQXN5bmNEaXNwb3NhYmxlRXgsXG4gIGlzRGlzcG9zYWJsZSxcbiAgaXNEaXNwb3NhYmxlRXgsXG4gIE11bHRpcGxlRGlzcG9zZUJlaGF2aW9yLFxuICB0b0FzeW5jRGlzcG9zYWJsZUV4LFxuICB0b0Rpc3Bvc2FibGVFeFxufSBmcm9tICcuL2Rpc3Bvc2FibGUudHMnO1xuZXhwb3J0IHtcbiAgZ2V0RW51bUtleSxcbiAgZ2V0RW51bVZhbHVlXG59IGZyb20gJy4vZW51bS50cyc7XG5leHBvcnQge1xuICBBU1lOQ19XUkFQUEVSX0VSUk9SX01FU1NBR0UsXG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZW1pdEFzeW5jRXJyb3JFdmVudCxcbiAgZXJyb3JUb1N0cmluZyxcbiAgRXJyb3JXcmFwcGVyLFxuICBnZXRTdGFja1RyYWNlLFxuICBpc0FzeW5jRXJyb3JJZ25vcmVDb250ZXh0QWN0aXZlLFxuICBwcmludEVycm9yLFxuICByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIsXG4gIFNpbGVudEVycm9yLFxuICBzdGFydEFzeW5jRXJyb3JJZ25vcmVDb250ZXh0LFxuICBzdGFydENvbGxlY3RpbmdVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgc3RvcENvbGxlY3RpbmdVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgdGhyb3dFeHByZXNzaW9uXG59IGZyb20gJy4vZXJyb3IudHMnO1xuZXhwb3J0IHtcbiAgY2xvbmVGdW5jdGlvbixcbiAgY3JlYXRlRnVuY3Rpb24sXG4gIGdldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyxcbiAgbm9vcCxcbiAgbm9vcEFzeW5jLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlLFxuICBvbWl0QXN5bmNSZXR1cm5UeXBlLFxuICBvbWl0UmV0dXJuVHlwZVxufSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmV4cG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi9nZW5lcmF0ZWQtZHVyaW5nLWJ1aWxkLnRzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZURpdkFzeW5jLFxuICBjcmVhdGVFbEFzeW5jLFxuICBjcmVhdGVGcmFnbWVudEFzeW5jLFxuICBjcmVhdGVTcGFuQXN5bmMsXG4gIGNyZWF0ZVN2Z0FzeW5jLFxuICBlbnN1cmVMb2FkZWQsXG4gIGdldFpJbmRleCxcbiAgaXNFbGVtZW50VmlzaWJsZUluT2Zmc2V0UGFyZW50LFxuICBpc0xvYWRlZCxcbiAgb25BbmNlc3RvclNjcm9sbE9yUmVzaXplLFxuICB0b1B4LFxuICB3YWl0VW50aWxDb25uZWN0ZWRcbn0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0IHtcbiAgTGlicmFyeSxcbiAgTElCUkFSWV9OQU1FXG59IGZyb20gJy4vbGlicmFyeS50cyc7XG5leHBvcnQge1xuICBhc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsXG4gIGNhc3RUbyxcbiAgY2xvbmVXaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsXG4gIGRlZXBFcXVhbCxcbiAgZGVsZXRlUHJvcGVydGllcyxcbiAgZGVsZXRlUHJvcGVydHksXG4gIGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCxcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIGdldEFsbEVudHJpZXMsXG4gIGdldEFsbEtleXMsXG4gIGdldE5lc3RlZFByb3BlcnR5VmFsdWUsXG4gIGdldFByb3RvdHlwZU9mLFxuICBuYW1lb2YsXG4gIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyxcbiAgcmVtb3ZlVW5kZWZpbmVkUHJvcGVydGllcyxcbiAgc2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgdG9Kc29uXG59IGZyb20gJy4vb2JqZWN0LXV0aWxzLnRzJztcbmV4cG9ydCB7XG4gIGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSxcbiAgcmVzZXRPYnNpZGlhbkRldlV0aWxzU3RhdGVcbn0gZnJvbSAnLi9vYnNpZGlhbi1kZXYtdXRpbHMtc3RhdGUudHMnO1xuZXhwb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgeyBnZXRBcHAgfSBmcm9tICcuL29ic2lkaWFuL2FwcC50cyc7XG5leHBvcnQge1xuICByZXRyeVdpdGhUaW1lb3V0Tm90aWNlLFxuICBydW5XaXRoVGltZW91dE5vdGljZVxufSBmcm9tICcuL29ic2lkaWFuL2FzeW5jLXdpdGgtbm90aWNlLnRzJztcbmV4cG9ydCB7XG4gIEF0dGFjaG1lbnRQYXRoQ29udGV4dCxcbiAgRFVNTVlfUEFUSCxcbiAgZ2V0QXR0YWNobWVudEZpbGVQYXRoLFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aCxcbiAgZ2V0QXZhaWxhYmxlUGF0aEZvckF0dGFjaG1lbnRzLFxuICBoYXNPd25BdHRhY2htZW50Rm9sZGVyXG59IGZyb20gJy4vb2JzaWRpYW4vYXR0YWNobWVudC1wYXRoLnRzJztcbmV4cG9ydCB7XG4gIHJlbmRlckJhY2tsaW5rc1RhYmxlLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyXG59IGZyb20gJy4vb2JzaWRpYW4vYmFja2xpbmsudHMnO1xuZXhwb3J0IHsgUGx1Z2luQmFzZXNWaWV3UmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9iYXNlcy12aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBDYWxsb3V0TW9kZSxcbiAgcmVuZGVyQ2FsbG91dCxcbiAgd3JhcEZvckNhbGxvdXRcbn0gZnJvbSAnLi9vYnNpZGlhbi9jYWxsb3V0LnRzJztcbmV4cG9ydCB7XG4gIENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleCxcbiAgZ2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LFxuICBzZXRDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgsXG4gIHVuc2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4XG59IGZyb20gJy4vb2JzaWRpYW4vY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LnRzJztcbmV4cG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vb2JzaWRpYW4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmV4cG9ydCB7IEFic3RyYWN0RmlsZUNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2Fic3RyYWN0LWZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IENvbW1hbmRIYW5kbGVyQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2NvbW1hbmQtaGFuZGxlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEVkaXRvckNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2VkaXRvci1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgRmlsZUNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2ZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEZvbGRlckNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2ZvbGRlci1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgR2xvYmFsQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvZ2xvYmFsLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuRGVtb1ZhdWx0Q29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1kZW1vLXZhdWx0LWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuU2V0dGluZ3NDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vb2JzaWRpYW4vY29tbWFuZC1oYW5kbGVycy9vcGVuLXNldHRpbmdzLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvdW5sb2NrLWFjdGl2ZS1ub3RlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBQbHVnaW5Db21tYW5kUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4sXG4gIGRpc2FibGVDb21tdW5pdHlQbHVnaW4sXG4gIGVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZ2V0Q29tbXVuaXR5UGx1Z2luUmVwbyxcbiAgZ2V0TGF0ZXN0UmVsZWFzZVZlcnNpb24sXG4gIGluc3RhbGxDb21tdW5pdHlQbHVnaW4sXG4gIGluc3RhbGxDb25maWd1cmVFbmFibGVDb21tdW5pdHlQbHVnaW4sXG4gIHNlYXJjaENvbW11bml0eVBsdWdpbnMsXG4gIHRvZ2dsZUVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgdG9nZ2xlSW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgdW5pbnN0YWxsQ29tbXVuaXR5UGx1Z2luXG59IGZyb20gJy4vb2JzaWRpYW4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuZXhwb3J0IHsgQWJvcnRTaWduYWxDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvYWJvcnQtc2lnbmFsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBBbGxXaW5kb3dzRXZlbnRDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEFzeW5jRXJyb3JIYW5kbGVyQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IHJlZ2lzdGVyQXN5bmNFdmVudCB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9jYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvbXBvbmVudEV4IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL2NvbXBvbmVudC1leC50cyc7XG5leHBvcnQgeyBDb25zb2xlRGVidWdDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvY29uc29sZS1kZWJ1Zy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgYXNEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYmVkRXh0ZW5zaW9uc0NvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9lbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBHZW5lcmF0ZU1hcmtkb3duTGlua0RlZmF1bHRQYXJhbXNDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvZ2VuZXJhdGUtbWFya2Rvd24tbGluay1kZWZhdWx0LXBhcmFtcy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgQ2FsbGJhY2tMYXlvdXRSZWFkeUNvbXBvbmVudCxcbiAgTGF5b3V0UmVhZHlDb21wb25lbnRcbn0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL21lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBhcm91bmQsXG4gIGhhc1BhdGNoVG9rZW4sXG4gIE1vbmtleUFyb3VuZENvbXBvbmVudFxufSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvbW9ua2V5LWFyb3VuZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9wbHVnaW4tY29udGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpblNldHRpbmdzVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy10YWItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFJlZ2lzdHJ5Q29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL3JlZ2lzdHJ5LWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBFbXB0eUZvbGRlckJlaGF2aW9yLFxuICBSZW5hbWVEZWxldGVIYW5kbGVyQ29tcG9uZW50XG59IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9yZW5hbWUtZGVsZXRlLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfSBmcm9tICcuL29ic2lkaWFuL2NvbnN0cnVjdG9ycy9nZXQtZG9tLWV2ZW50cy1oYW5kbGVycy1jb25zdHJ1Y3Rvci50cyc7XG5leHBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4vb2JzaWRpYW4vY3NzLWNsYXNzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkRhdGFIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0IHtcbiAgZml4VGl0bGUsXG4gIG1ha2VMaW5rV2l0aFBhdGhcbn0gZnJvbSAnLi9vYnNpZGlhbi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCB7XG4gIGdldFJlbmRlcmVkQ29udGFpbmVyLFxuICBpbnNlcnRDb2RlQmxvY2ssXG4gIHJlbG9hZEN1cnJlbnRGaWxlQ2FjaGUsXG4gIHJlbmRlcklmcmFtZSxcbiAgcmVuZGVyUGFnaW5hdGVkTGlzdCxcbiAgcmVuZGVyUGFnaW5hdGVkVGFibGVcbn0gZnJvbSAnLi9vYnNpZGlhbi9kYXRhdmlldy50cyc7XG5leHBvcnQgeyBib290c3RyYXBEZW1vVmF1bHQgfSBmcm9tICcuL29ic2lkaWFuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCB7IG9wZW5EZW1vVmF1bHQgfSBmcm9tICcuL29ic2lkaWFuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMnO1xuZXhwb3J0IHtcbiAgaG92ZXJFbGVtZW50LFxuICBtb3ZlTW91c2UsXG4gIHByZXNzS2V5LFxuICB0eXBlSW50b0VkaXRvcixcbiAgdW5ob3ZlckVsZW1lbnRcbn0gZnJvbSAnLi9vYnNpZGlhbi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnO1xuZXhwb3J0IHsgUGx1Z2luRWRpdG9yRXh0ZW5zaW9uUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9lZGl0b3ItZXh0ZW5zaW9uLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgeyBQbHVnaW5FZGl0b3JTdWdnZXN0UmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9lZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgc3luY09wZW5FZGl0b3JCdWZmZXJzRm9yUGF0aCxcbiAgdG9nZ2xlRWRpdG9yUmVhZE9ubHlcbn0gZnJvbSAnLi9vYnNpZGlhbi9lZGl0b3IudHMnO1xuZXhwb3J0IHtcbiAgRXZlbnRSZWZEaXNwb3NhYmxlLFxuICBzdWJzY3JpYmVEaXNwb3NhYmxlRXZlbnQsXG4gIHN1YnNjcmliZUV2ZW50XG59IGZyb20gJy4vb2JzaWRpYW4vZXZlbnRzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkV4dGVuc2lvbnNSZWdpc3RyYXIgfSBmcm9tICcuL29ic2lkaWFuL2V4dGVuc2lvbnMtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGFwcGx5Q29udGVudENoYW5nZXMsXG4gIGFwcGx5RmlsZUNoYW5nZXMsXG4gIGlzQ2FudmFzQ2hhbmdlLFxuICBpc0NhbnZhc0ZpbGVOb2RlQ2hhbmdlLFxuICBpc0NhbnZhc1RleHROb2RlQ2hhbmdlLFxuICBpc0NvbnRlbnRDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyxcbiAgdG9Gcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzXG59IGZyb20gJy4vb2JzaWRpYW4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0IHtcbiAgYWRkQWxpYXMsXG4gIGRlbGV0ZUFsaWFzLFxuICBwcm9jZXNzRnJvbnRtYXR0ZXJcbn0gZnJvbSAnLi9vYnNpZGlhbi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0IHtcbiAgYXNBcnJheU9mRmlsZXMsXG4gIGFzQXJyYXlPZkZvbGRlcnMsXG4gIGFzRmlsZSxcbiAgYXNGaWxlT3JOdWxsLFxuICBhc0ZvbGRlcixcbiAgYXNGb2xkZXJPck51bGwsXG4gIEJBU0VfRklMRV9FWFRFTlNJT04sXG4gIENBTlZBU19GSUxFX0VYVEVOU0lPTixcbiAgY2hlY2tFeHRlbnNpb24sXG4gIGV4aXN0cyxcbiAgRmlsZVN5c3RlbVR5cGUsXG4gIGdldEFic3RyYWN0RmlsZSxcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICBnZXRGaWxlU3lzdGVtVHlwZSxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRGb2xkZXJPck51bGwsXG4gIGdldE1hcmtkb3duRmlsZXMsXG4gIGdldE9yQ3JlYXRlRmlsZSxcbiAgZ2V0T3JDcmVhdGVGb2xkZXIsXG4gIGdldFBhdGgsXG4gIGlzQWJzdHJhY3RGaWxlLFxuICBpc0Jhc2VGaWxlLFxuICBpc0NhbnZhc0ZpbGUsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXIsXG4gIGlzTWFya2Rvd25GaWxlLFxuICBpc05vdGUsXG4gIE1BUktET1dOX0ZJTEVfRVhURU5TSU9OLFxuICB0cmltTWFya2Rvd25FeHRlbnNpb25cbn0gZnJvbSAnLi9vYnNpZGlhbi9maWxlLXN5c3RlbS50cyc7XG5leHBvcnQge1xuICBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMsXG4gIHRvRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0c1xufSBmcm9tICcuL29ic2lkaWFuL2Zyb250bWF0dGVyLWxpbmstY2FjaGUtd2l0aC1vZmZzZXRzLnRzJztcbmV4cG9ydCB7XG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHNldEZyb250bWF0dGVyXG59IGZyb20gJy4vb2JzaWRpYW4vZnJvbnRtYXR0ZXIudHMnO1xuZXhwb3J0IHsgUGx1Z2luSG92ZXJMaW5rU291cmNlUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9ob3Zlci1saW5rLXNvdXJjZS1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgYXBwZW5kQ29kZUJsb2NrIH0gZnJvbSAnLi9vYnNpZGlhbi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9OUyxcbiAgaW5pdEkxOE4sXG4gIHRcbn0gZnJvbSAnLi9vYnNpZGlhbi9pMThuL2kxOG4udHMnO1xuZXhwb3J0IHsgZW4gfSBmcm9tICcuL29ic2lkaWFuL2kxOG4vbG9jYWxlcy9lbi50cyc7XG5leHBvcnQge1xuICBERUZBVUxUX0xBTkdVQUdFLFxuICBkZWZhdWx0VHJhbnNsYXRpb25zTWFwXG59IGZyb20gJy4vb2JzaWRpYW4vaTE4bi9sb2NhbGVzL3RyYW5zbGF0aW9ucy1tYXAudHMnO1xuZXhwb3J0IHsgaXNJbk9ic2lkaWFuIH0gZnJvbSAnLi9vYnNpZGlhbi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQge1xuICBjb252ZXJ0TGluayxcbiAgZWRpdEJhY2tsaW5rcyxcbiAgZWRpdExpbmtzLFxuICBlZGl0TGlua3NJbkNvbnRlbnQsXG4gIGV4dHJhY3RMaW5rRmlsZSxcbiAgZml4RnJvbnRtYXR0ZXJNYXJrZG93bkxpbmtzLFxuICBnZW5lcmF0ZU1hcmtkb3duTGluayxcbiAgZ2VuZXJhdGVSYXdNYXJrZG93bkxpbmssXG4gIGdldEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdFBhcmFtc0ZucyxcbiAgTGlua1BhdGhTdHlsZSxcbiAgTGlua1N0eWxlLFxuICBzaG91bGRSZXNldEFsaWFzLFxuICBzcGxpdFN1YnBhdGgsXG4gIHRlc3RBbmdsZUJyYWNrZXRzLFxuICB0ZXN0RW1iZWQsXG4gIHRlc3RMZWFkaW5nRG90LFxuICB0ZXN0TGVhZGluZ1NsYXNoLFxuICB0ZXN0V2lraWxpbmssXG4gIHVwZGF0ZUZpbGVVcmxMaW5rc0luQ29udGVudCxcbiAgdXBkYXRlRmlsZVVybExpbmtzSW5GaWxlLFxuICB1cGRhdGVMaW5rLFxuICB1cGRhdGVMaW5rc0luQ29udGVudCxcbiAgdXBkYXRlTGlua3NJbkZpbGVcbn0gZnJvbSAnLi9vYnNpZGlhbi9saW5rLnRzJztcbmV4cG9ydCB7IGludm9rZUFzeW5jQW5kTG9nIH0gZnJvbSAnLi9vYnNpZGlhbi9sb2dnZXIudHMnO1xuZXhwb3J0IHsgbG9vcCB9IGZyb20gJy4vb2JzaWRpYW4vbG9vcC50cyc7XG5leHBvcnQgeyBQbHVnaW5NYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3NvclJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4vbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGdldENvZGVCbG9ja01hcmtkb3duSW5mbyxcbiAgaW5zZXJ0QWZ0ZXJDb2RlQmxvY2ssXG4gIGluc2VydEJlZm9yZUNvZGVCbG9jayxcbiAgcmVtb3ZlQ29kZUJsb2NrLFxuICByZXBsYWNlQ29kZUJsb2NrXG59IGZyb20gJy4vb2JzaWRpYW4vbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3IudHMnO1xuZXhwb3J0IHsgUGx1Z2luTWFya2Rvd25Qb3N0UHJvY2Vzc29yUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9tYXJrZG93bi1wb3N0LXByb2Nlc3Nvci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgZ2V0RnVsbENvbnRlbnRIdG1sIH0gZnJvbSAnLi9vYnNpZGlhbi9tYXJrZG93bi12aWV3LnRzJztcbmV4cG9ydCB7XG4gIGZ1bGxSZW5kZXIsXG4gIG1hcmtkb3duVG9IdG1sLFxuICByZWdpc3RlckxpbmtIYW5kbGVycyxcbiAgcmVuZGVyRXh0ZXJuYWxMaW5rLFxuICByZW5kZXJJbnRlcm5hbExpbmtcbn0gZnJvbSAnLi9vYnNpZGlhbi9tYXJrZG93bi50cyc7XG5leHBvcnQge1xuICBDYWNoZWRNZXRhZGF0YUV4RmVhdHVyZSxcbiAgZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5LFxuICBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSxcbiAgZ2V0Q2FjaGVTYWZlLFxuICBnZXRGcm9udG1hdHRlclNhZmUsXG4gIGdldExpbmtzLFxuICBpc0NhY2hlZE1ldGFkYXRhRXgsXG4gIHBhcnNlTWV0YWRhdGEsXG4gIHJlZ2lzdGVyRmlsZUNhY2hlRm9yTm9uRXhpc3RpbmdGaWxlLFxuICByZWdpc3RlckZpbGVzLFxuICB1bnJlZ2lzdGVyRmlsZUNhY2hlRm9yTm9uRXhpc3RpbmdGaWxlLFxuICB1bnJlZ2lzdGVyRmlsZXNcbn0gZnJvbSAnLi9vYnNpZGlhbi9tZXRhZGF0YS1jYWNoZS50cyc7XG5leHBvcnQgeyBhbGVydCB9IGZyb20gJy4vb2JzaWRpYW4vbW9kYWxzL2FsZXJ0LnRzJztcbmV4cG9ydCB7IGNvbmZpcm0gfSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9jb25maXJtLnRzJztcbmV4cG9ydCB7IE1pbmltaXphYmxlTW9kYWwgfSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9taW5pbWl6YWJsZS1tb2RhbC50cyc7XG5leHBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9tb2RhbC50cyc7XG5leHBvcnQgeyBwcm9tcHQgfSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMnO1xuZXhwb3J0IHsgc2VsZWN0SXRlbSB9IGZyb20gJy4vb2JzaWRpYW4vbW9kYWxzL3NlbGVjdC1pdGVtLnRzJztcbmV4cG9ydCB7IHNlbGVjdE9wdGlvbiB9IGZyb20gJy4vb2JzaWRpYW4vbW9kYWxzL3NlbGVjdC1vcHRpb24udHMnO1xuZXhwb3J0IHsgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIgfSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9zdWdnZXN0LW1vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5leHBvcnQgeyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4vb2JzaWRpYW4tcHJvdG9jb2wtaGFuZGxlci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0TmV3TGlua0Zvcm1hdCxcbiAgc2hvdWxkVXNlV2lraWxpbmtzXG59IGZyb20gJy4vb2JzaWRpYW4vb2JzaWRpYW4tc2V0dGluZ3MudHMnO1xuZXhwb3J0IHtcbiAgZW5jb2RlVXJsLFxuICBlc2NhcGVBbGlhcyxcbiAgaXNQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZSxcbiAgaXNQYXJzZUxpbmtSZWZlcmVuY2UsXG4gIHBhcnNlRnJvbnRtYXR0ZXJMaW5rcyxcbiAgcGFyc2VMaW5rLFxuICBwYXJzZUxpbmtzLFxuICB0b1BhcnNlTGlua1JlZmVyZW5jZSxcbiAgdW5lc2NhcGVBbGlhc1xufSBmcm9tICcuL29ic2lkaWFuL3BhcnNlLWxpbmsudHMnO1xuZXhwb3J0IHsgUGF0aFNldHRpbmdzIH0gZnJvbSAnLi9vYnNpZGlhbi9wYXRoLXNldHRpbmdzLnRzJztcbmV4cG9ydCB7IHByaW50VG9QZGYgfSBmcm9tICcuL29ic2lkaWFuL3BkZi50cyc7XG5leHBvcnQgeyBQbHVnaW5DbGlIYW5kbGVyUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9wbHVnaW4tY2xpLWhhbmRsZXItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi9vYnNpZGlhbi9wbHVnaW4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuZXhwb3J0IHtcbiAgYWRkUGx1Z2luQ3NzQ2xhc3NlcyxcbiAgaW5pdERlYnVnQ29udHJvbGxlcixcbiAgaW5pdFBsdWdpbkNvbnRleHRcbn0gZnJvbSAnLi9vYnNpZGlhbi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luRXZlbnRTb3VyY2VJbXBsIH0gZnJvbSAnLi9vYnNpZGlhbi9wbHVnaW4vcGx1Z2luLWV2ZW50LXNvdXJjZS50cyc7XG5leHBvcnQge1xuICBQbHVnaW5TZXR0aW5nc1RhYkJhc2UsXG4gIFNBVkVfVE9fRklMRV9DT05URVhUXG59IGZyb20gJy4vb2JzaWRpYW4vcGx1Z2luL3BsdWdpbi1zZXR0aW5ncy10YWIudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luQmFzZSxcbiAgcmVsb2FkUGx1Z2luLFxuICBzaG93RXJyb3JBbmREaXNhYmxlUGx1Z2luXG59IGZyb20gJy4vb2JzaWRpYW4vcGx1Z2luL3BsdWdpbi50cyc7XG5leHBvcnQge1xuICBhZGRUb1F1ZXVlLFxuICBhZGRUb1F1ZXVlQW5kV2FpdCxcbiAgZmx1c2hRdWV1ZVxufSBmcm9tICcuL29ic2lkaWFuL3F1ZXVlLnRzJztcbmV4cG9ydCB7XG4gIEFwcENvbnRleHQsXG4gIHVzZUFwcFxufSBmcm9tICcuL29ic2lkaWFuL3JlYWN0L2FwcC1jb250ZXh0LnRzJztcbmV4cG9ydCB7XG4gIGlzQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UsXG4gIGlzQ2FudmFzUmVmZXJlbmNlLFxuICBpc0NhbnZhc1RleHROb2RlUmVmZXJlbmNlLFxuICByZWZlcmVuY2VUb0ZpbGVDaGFuZ2UsXG4gIHNvcnRSZWZlcmVuY2VzXG59IGZyb20gJy4vb2JzaWRpYW4vcmVmZXJlbmNlLnRzJztcbmV4cG9ydCB7XG4gIGlzUmVzb3VyY2VMb2NrZWRGb3JQYXRoLFxuICBsb2NrUmVzb3VyY2VGb3JQYXRoLFxuICByZXF1ZXN0UmVzb3VyY2VVbmxvY2tGb3JQYXRoLFxuICBSZXNvdXJjZUxvY2tDb21wb25lbnQsXG4gIFJlc291cmNlTG9ja2VkRXJyb3IsXG4gIHVubG9ja1Jlc291cmNlRm9yUGF0aFxufSBmcm9tICcuL29ic2lkaWFuL3Jlc291cmNlLWxvY2sudHMnO1xuZXhwb3J0IHsgcmVsYXRpdmVQYXRoVG9SZXNvdXJjZVVybCB9IGZyb20gJy4vb2JzaWRpYW4vcmVzb3VyY2UtdXJsLnRzJztcbmV4cG9ydCB7IFBsdWdpblJpYmJvbkljb25SZWdpc3RyYXIgfSBmcm9tICcuL29ic2lkaWFuL3JpYmJvbi1pY29uLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vc2V0dGluZy1jb21wb25lbnRzL2NoZWNrYm94LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb2RlSGlnaGxpZ2h0ZXJDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9jb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvZGF0ZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLXRpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvZW1haWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEZpbGVDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9maWxlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNb250aENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vc2V0dGluZy1jb21wb25lbnRzL21vbnRoLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlRW1haWxDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9tdWx0aXBsZS1lbWFpbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvbnVtYmVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vc2V0dGluZy1jb21wb25lbnRzL3Bhc3N3b3JkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBlbnN1cmVXcmFwcGVkIH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnQtd3JhcHBlci50cyc7XG5leHBvcnQgeyBUZWxlcGhvbmVDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy90ZWxlcGhvbmUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldFRleHRCYXNlZENvbXBvbmVudFZhbHVlIH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVGltZUNvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vc2V0dGluZy1jb21wb25lbnRzL3RpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRyaVN0YXRlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy90cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtcmFuZ2UtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVXJsQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdXJsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBnZXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy92YWxpZGF0b3ItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFdlZWtDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy93ZWVrLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBTZXR0aW5nRXggfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctZXgudHMnO1xuZXhwb3J0IHsgU2V0dGluZ0dyb3VwRXggfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctZ3JvdXAtZXgudHMnO1xuZXhwb3J0IHsgUGx1Z2luU3RhdHVzQmFySXRlbVJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4vc3RhdHVzLWJhci1pdGVtLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwLFxuICBnZXRPc1Vuc2FmZVBhdGhDaGFyc1JlZ0V4cCxcbiAgaXNWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcixcbiAgT0JTSURJQU5fVU5TQUZFX0ZJTEVOQU1FX0NIQVJTLFxuICBVTklYX1VOU0FGRV9QQVRIX0NIQVJTLFxuICBXSU5ET1dTX1VOU0FGRV9QQVRIX0NIQVJTXG59IGZyb20gJy4vb2JzaWRpYW4vdmFsaWRhdGlvbi50cyc7XG5leHBvcnQgeyBkZWxldGVJZk5vdFVzZWQgfSBmcm9tICcuL29ic2lkaWFuL3ZhdWx0LWRlbGV0ZS50cyc7XG5leHBvcnQgeyBWYXVsdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9vYnNpZGlhbi92YXVsdC10cmFuc2FjdGlvbi50cyc7XG5leHBvcnQge1xuICBjb3B5U2FmZSxcbiAgY3JlYXRlRm9sZGVyU2FmZSxcbiAgY3JlYXRlVGVtcEZpbGUsXG4gIGNyZWF0ZVRlbXBGb2xkZXIsXG4gIGRlbGV0ZUVtcHR5Rm9sZGVyLFxuICBkZWxldGVFbXB0eUZvbGRlckhpZXJhcmNoeSxcbiAgZ2V0QWJzdHJhY3RGaWxlUGF0aFNhZmUsXG4gIGdldEF2YWlsYWJsZVBhdGgsXG4gIGdldEZpbGVQYXRoU2FmZSxcbiAgZ2V0Rm9sZGVyUGF0aFNhZmUsXG4gIGdldE1hcmtkb3duRmlsZXNTb3J0ZWQsXG4gIGdldE5vdGVGaWxlc1NvcnRlZCxcbiAgZ2V0T3JDcmVhdGVBYnN0cmFjdEZpbGVTYWZlLFxuICBnZXRPckNyZWF0ZUZpbGVTYWZlLFxuICBnZXRPckNyZWF0ZUZvbGRlclNhZmUsXG4gIGdldFNhZmVSZW5hbWVQYXRoLFxuICBpbnZva2VXaXRoRmlsZVN5c3RlbUxvY2ssXG4gIGlzQ2hpbGQsXG4gIGlzQ2hpbGRPclNlbGYsXG4gIGlzRW1wdHlGb2xkZXIsXG4gIGxpc3RTYWZlLFxuICBwcm9jZXNzLFxuICByZWFkU2FmZSxcbiAgcmVuYW1lU2FmZSxcbiAgc2F2ZU5vdGUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL29ic2lkaWFuL3ZhdWx0LnRzJztcbmV4cG9ydCB7IFBsdWdpblZpZXdSZWdpc3RyYXIgfSBmcm9tICcuL29ic2lkaWFuL3ZpZXctcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGVuc3VyZUxheW91dFJlYWR5LFxuICBnZXRBbGxDb250YWluZXJzLFxuICBnZXRBbGxEb21XaW5kb3dzXG59IGZyb20gJy4vb2JzaWRpYW4vd29ya3NwYWNlLnRzJztcbmV4cG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkZWxpbWl0ZXIsXG4gIGRpcm5hbWUsXG4gIGV4dG5hbWUsXG4gIGZvcm1hdCxcbiAgZ2V0RmlsZU5hbWUsXG4gIGdldEZvbGRlck5hbWUsXG4gIGlzQWJzb2x1dGUsXG4gIGpvaW4sXG4gIG1ha2VGaWxlTmFtZSxcbiAgbm9ybWFsaXplSWZSZWxhdGl2ZSxcbiAgbm9ybWFsaXplUGF0aCxcbiAgcGFyc2UsXG4gIHBvc2l4LFxuICByZWxhdGl2ZSxcbiAgcmVzb2x2ZSxcbiAgc2VwLFxuICB0b1Bvc2l4QnVmZmVyLFxuICB0b1Bvc2l4UGF0aFxufSBmcm9tICcuL3BhdGgudHMnO1xuZXhwb3J0IHtcbiAgQUxXQVlTX01BVENIX1JFR19FWFAsXG4gIGVzY2FwZVJlZ0V4cCxcbiAgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCxcbiAgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwLFxuICBpc1ZhbGlkUmVnRXhwLFxuICBORVZFUl9NQVRDSF9SRUdfRVhQLFxuICBvbmVPZixcbiAgUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3lcbn0gZnJvbSAnLi9yZWctZXhwLnRzJztcbmV4cG9ydCB7XG4gIGJ5cGFzc1N0cmljdFByb3h5LFxuICBzdHJpY3RQcm94eVxufSBmcm9tICcuL3N0cmljdC1wcm94eS50cyc7XG5leHBvcnQge1xuICBFTVBUWSxcbiAgZW5zdXJlRW5kc1dpdGgsXG4gIGVuc3VyZUxmRW5kaW5ncyxcbiAgZW5zdXJlU3RhcnRzV2l0aCxcbiAgZXNjYXBlLFxuICBnZXRMZk5vcm1hbGl6ZWRPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwcGVyLFxuICBoYXNTaW5nbGVPY2N1cnJlbmNlLFxuICBpbmRlbnQsXG4gIGluc2VydEF0LFxuICBtYWtlVmFsaWRWYXJpYWJsZU5hbWUsXG4gIG5vcm1hbGl6ZVN0cmluZyxcbiAgcmVwbGFjZSxcbiAgcmVwbGFjZUFsbCxcbiAgcmVwbGFjZUFsbEFzeW5jLFxuICB0cmltRW5kLFxuICB0cmltU3RhcnQsXG4gIHVuZXNjYXBlLFxuICB1bmluZGVudFxufSBmcm9tICcuL3N0cmluZy50cyc7XG5leHBvcnQgeyBEYXRlVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9kYXRlLXRyYW5zZm9ybWVyLnRzJztcbmV4cG9ydCB7IER1cmF0aW9uVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyc7XG5leHBvcnQgeyBHcm91cFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZ3JvdXAtdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgTWFwVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9tYXAtdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgU2V0VHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zZXQtdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgU2tpcFByaXZhdGVQcm9wZXJ0eVRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc2tpcC1wcml2YXRlLXByb3BlcnR5LXRyYW5zZm9ybWVyLnRzJztcbmV4cG9ydCB7IFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgVHdvV2F5TWFwVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy90d28td2F5LW1hcC10cmFuc2Zvcm1lci50cyc7XG5leHBvcnQgeyBUeXBlZFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdHlwZWQtdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgVHdvV2F5TWFwIH0gZnJvbSAnLi90d28td2F5LW1hcC50cyc7XG5leHBvcnQge1xuICBhc3NlcnQsXG4gIGFzc2VydEdlbmVyaWNPYmplY3QsXG4gIGFzc2VydE5ldmVyLFxuICBhc3NlcnROb25OdWxsYWJsZSxcbiAgZW5zdXJlR2VuZXJpY09iamVjdCxcbiAgZW5zdXJlTm9uTnVsbGFibGVcbn0gZnJvbSAnLi90eXBlLWd1YXJkcy50cyc7XG5leHBvcnQgeyBUeXBlQXNzZXJ0ZXIgfSBmcm9tICcuL3R5cGUudHMnO1xuZXhwb3J0IHtcbiAgaXNGaWxlVXJsLFxuICBpc1VybCxcbiAgbm9ybWFsaXplRmlsZVVybFxufSBmcm9tICcuL3VybC50cyc7XG5leHBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuL3ZhbHVlLXByb3ZpZGVyLnRzJztcbmV4cG9ydCB7IFZhbHVlV3JhcHBlciB9IGZyb20gJy4vdmFsdWUtd3JhcHBlci50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsY0FBYztBQUN2QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyxjQUFjO0FBQ3ZCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxnQ0FBZ0M7QUFDekM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsNkJBQTZCO0FBQ3RDLFNBQVMsa0NBQWtDO0FBQzNDLFNBQVMsK0JBQStCO0FBQ3hDLFNBQVMsc0JBQXNCO0FBQy9CLFNBQVMsNEJBQTRCO0FBQ3JDLFNBQVMsMEJBQTBCO0FBQ25DLFNBQVMsNEJBQTRCO0FBQ3JDLFNBQVMsNEJBQTRCO0FBQ3JDLFNBQVMsbUNBQW1DO0FBQzVDLFNBQVMsa0NBQWtDO0FBQzNDLFNBQVMsc0NBQXNDO0FBQy9DLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyw0QkFBNEI7QUFDckMsU0FBUyxnQ0FBZ0M7QUFDekMsU0FBUyxrQ0FBa0M7QUFDM0MsU0FBUywwQkFBMEI7QUFDbkMsU0FBUyx5Q0FBeUM7QUFDbEQsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyxnQ0FBZ0M7QUFDekMsU0FBUyxrREFBa0Q7QUFDM0Q7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG1DQUFtQztBQUM1QztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLDhCQUE4QjtBQUN2QyxTQUFTLDZCQUE2QjtBQUN0QyxTQUFTLG1DQUFtQztBQUM1QyxTQUFTLGtDQUFrQztBQUMzQyxTQUFTLHlCQUF5QjtBQUNsQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsdUNBQXVDO0FBQ2hELFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMseUJBQXlCO0FBQ2xDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUywwQkFBMEI7QUFDbkMsU0FBUyxxQkFBcUI7QUFDOUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHNDQUFzQztBQUMvQyxTQUFTLG9DQUFvQztBQUM3QztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsaUNBQWlDO0FBQzFDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxzQ0FBc0M7QUFDL0MsU0FBUyx1QkFBdUI7QUFDaEM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxVQUFVO0FBQ25CO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxvQkFBb0I7QUFDN0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHlCQUF5QjtBQUNsQyxTQUFTLFlBQVk7QUFDckIsU0FBUyxpREFBaUQ7QUFDMUQ7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLDRDQUE0QztBQUNyRCxTQUFTLDBCQUEwQjtBQUNuQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGFBQWE7QUFDdEIsU0FBUyxlQUFlO0FBQ3hCLFNBQVMsd0JBQXdCO0FBQ2pDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxjQUFjO0FBQ3ZCLFNBQVMsa0JBQWtCO0FBQzNCLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsa0NBQWtDO0FBQzNDLFNBQVMsOENBQThDO0FBQ3ZEO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyxrQkFBa0I7QUFDM0IsU0FBUyxpQ0FBaUM7QUFDMUMsU0FBUywrQkFBK0I7QUFDeEM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyw2QkFBNkI7QUFDdEM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQ0FBaUM7QUFDMUMsU0FBUyxpQ0FBaUM7QUFDMUMsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyxnQ0FBZ0M7QUFDekMsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxpQ0FBaUM7QUFDMUMsU0FBUyw4QkFBOEI7QUFDdkMsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUywwQkFBMEI7QUFDbkMsU0FBUyxrQ0FBa0M7QUFDM0MsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxpQ0FBaUM7QUFDMUMsU0FBUyw4QkFBOEI7QUFDdkMsU0FBUyxzQ0FBc0M7QUFDL0MsU0FBUywrQkFBK0I7QUFDeEMsU0FBUywwQkFBMEI7QUFDbkMsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxvQ0FBb0M7QUFDN0M7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUyx3QkFBd0I7QUFDakM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLDJCQUEyQjtBQUNwQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsdUJBQXVCO0FBQ2hDLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMsd0JBQXdCO0FBQ2pDLFNBQVMsc0JBQXNCO0FBQy9CLFNBQVMsc0JBQXNCO0FBQy9CLFNBQVMsc0NBQXNDO0FBQy9DLFNBQVMsbUJBQW1CO0FBQzVCLFNBQVMsNEJBQTRCO0FBQ3JDLFNBQVMsd0JBQXdCO0FBQ2pDLFNBQVMsaUJBQWlCO0FBQzFCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsb0JBQW9CO0FBQzdCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsb0JBQW9COyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
1182
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL19fbWVyZ2VkLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0IHtcbiAgYWJvcnRTaWduYWxBbnksXG4gIGFib3J0U2lnbmFsTmV2ZXIsXG4gIGFib3J0U2lnbmFsVGltZW91dCxcbiAgSU5GSU5JVEVfVElNRU9VVCxcbiAgb25BYm9ydCxcbiAgd2FpdEZvckFib3J0XG59IGZyb20gJy4vYWJvcnQtY29udHJvbGxlci50cyc7XG5leHBvcnQge1xuICBmaWx0ZXJJblBsYWNlLFxuICB1bmlxdWUsXG4gIHVuaXF1ZUluUGxhY2Vcbn0gZnJvbSAnLi9hcnJheS50cyc7XG5leHBvcnQge1xuICBBc3luY0V2ZW50UmVmRGlzcG9zYWJsZSxcbiAgQXN5bmNFdmVudHMsXG4gIEFzeW5jRXZlbnRzQmFzZSxcbiAgbWl4aW5Bc3luY0V2ZW50cyxcbiAgc3Vic2NyaWJlQXN5bmNEaXNwb3NhYmxlRXZlbnRcbn0gZnJvbSAnLi9hc3luYy1ldmVudHMudHMnO1xuZXhwb3J0IHtcbiAgYWRkRXJyb3JIYW5kbGVyLFxuICBhc3luY0ZpbHRlcixcbiAgYXN5bmNGaWx0ZXJJblBsYWNlLFxuICBhc3luY0ZsYXRNYXAsXG4gIGFzeW5jTWFwLFxuICBjaGFpbixcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBjb252ZXJ0U3luY1RvQXN5bmMsXG4gIGRpc2FibGVBc3luY09wZXJhdGlvblRyYWNraW5nLFxuICBlbmFibGVBc3luY09wZXJhdGlvblRyYWNraW5nLFxuICBoYW5kbGVTaWxlbnRFcnJvcixcbiAgaWdub3JlRXJyb3IsXG4gIGludm9rZUFzeW5jU2FmZWx5LFxuICBpbnZva2VBc3luY1NhZmVseUFmdGVyRGVsYXksXG4gIGlzQXN5bmNPcGVyYXRpb25UcmFja2luZ0VuYWJsZWQsXG4gIG1hcmtzQXNUZXJtaW5hdGVSZXRyeSxcbiAgbmV2ZXJFbmRzLFxuICBuZXh0VGlja0FzeW5jLFxuICBub3JtYWxpemVQcm9taXNhYmxlLFxuICBwcm9taXNlQWxsQXN5bmNGbnNTZXF1ZW50aWFsbHksXG4gIHByb21pc2VBbGxTZXF1ZW50aWFsbHksXG4gIHF1ZXVlTWljcm90YXNrQXN5bmMsXG4gIHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jLFxuICByZXRyeVdpdGhUaW1lb3V0LFxuICBydW5XaXRoVGltZW91dCxcbiAgc2V0SW1tZWRpYXRlQXN5bmMsXG4gIHNldFRpbWVvdXRBc3luYyxcbiAgc2xlZXAsXG4gIHRpbWVvdXQsXG4gIHRvQXJyYXksXG4gIHdhaXRGb3JBbGxBc3luY09wZXJhdGlvbnNcbn0gZnJvbSAnLi9hc3luYy50cyc7XG5leHBvcnQgeyBCZWVwZXIgfSBmcm9tICcuL2JlZXBlci50cyc7XG5leHBvcnQge1xuICBibG9iVG9BcnJheUJ1ZmZlcixcbiAgYmxvYlRvRGF0YVVybCxcbiAgYmxvYlRvSnBlZ0FycmF5QnVmZmVyLFxuICBkYXRhVXJsVG9BcnJheUJ1ZmZlcixcbiAgaXNJbWFnZUZpbGVcbn0gZnJvbSAnLi9ibG9iLnRzJztcbmV4cG9ydCB7XG4gIGVuYWJsZUxpYnJhcnlEZWJ1Z2dlcnMsXG4gIGdldERlYnVnQ29udHJvbGxlcixcbiAgZ2V0RGVidWdnZXIsXG4gIGdldExpYkRlYnVnZ2VyLFxuICBwcmludFdpdGhTdGFja1RyYWNlLFxuICBzaG93SW5pdGlhbERlYnVnTWVzc2FnZVxufSBmcm9tICcuL2RlYnVnLnRzJztcbmV4cG9ydCB7XG4gIEFzeW5jQ2FsbGJhY2tEaXNwb3NhYmxlLFxuICBBc3luY0Rpc3Bvc2FibGVCYXNlLFxuICBDYWxsYmFja0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVBc3luY0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVEaXNwb3NhYmxlLFxuICBEaXNwb3NhYmxlQmFzZSxcbiAgRGlzcG9zZUVycm9yQmVoYXZpb3IsXG4gIERpc3Bvc2VPcmRlcixcbiAgaXNBc3luY0Rpc3Bvc2FibGUsXG4gIGlzQXN5bmNEaXNwb3NhYmxlRXgsXG4gIGlzRGlzcG9zYWJsZSxcbiAgaXNEaXNwb3NhYmxlRXgsXG4gIE11bHRpcGxlRGlzcG9zZUJlaGF2aW9yLFxuICB0b0FzeW5jRGlzcG9zYWJsZUV4LFxuICB0b0Rpc3Bvc2FibGVFeFxufSBmcm9tICcuL2Rpc3Bvc2FibGUudHMnO1xuZXhwb3J0IHtcbiAgZ2V0RW51bUtleSxcbiAgZ2V0RW51bVZhbHVlXG59IGZyb20gJy4vZW51bS50cyc7XG5leHBvcnQge1xuICBBU1lOQ19XUkFQUEVSX0VSUk9SX01FU1NBR0UsXG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZW1pdEFzeW5jRXJyb3JFdmVudCxcbiAgZXJyb3JUb1N0cmluZyxcbiAgRXJyb3JXcmFwcGVyLFxuICBnZXRTdGFja1RyYWNlLFxuICBpc0FzeW5jRXJyb3JJZ25vcmVDb250ZXh0QWN0aXZlLFxuICBwcmludEVycm9yLFxuICByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIsXG4gIFNpbGVudEVycm9yLFxuICBzdGFydEFzeW5jRXJyb3JJZ25vcmVDb250ZXh0LFxuICBzdGFydENvbGxlY3RpbmdVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgc3RvcENvbGxlY3RpbmdVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgdGhyb3dFeHByZXNzaW9uXG59IGZyb20gJy4vZXJyb3IudHMnO1xuZXhwb3J0IHtcbiAgY2xvbmVGdW5jdGlvbixcbiAgY3JlYXRlRnVuY3Rpb24sXG4gIGdldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyxcbiAgbm9vcCxcbiAgbm9vcEFzeW5jLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlLFxuICBvbWl0QXN5bmNSZXR1cm5UeXBlLFxuICBvbWl0UmV0dXJuVHlwZVxufSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmV4cG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi9nZW5lcmF0ZWQtZHVyaW5nLWJ1aWxkLnRzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZURpdkFzeW5jLFxuICBjcmVhdGVFbEFzeW5jLFxuICBjcmVhdGVGcmFnbWVudEFzeW5jLFxuICBjcmVhdGVTcGFuQXN5bmMsXG4gIGNyZWF0ZVN2Z0FzeW5jLFxuICBlbnN1cmVMb2FkZWQsXG4gIGdldFpJbmRleCxcbiAgaXNFbGVtZW50VmlzaWJsZUluT2Zmc2V0UGFyZW50LFxuICBpc0xvYWRlZCxcbiAgb25BbmNlc3RvclNjcm9sbE9yUmVzaXplLFxuICB0b1B4LFxuICB3YWl0VW50aWxDb25uZWN0ZWRcbn0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0IHtcbiAgTGlicmFyeSxcbiAgTElCUkFSWV9OQU1FXG59IGZyb20gJy4vbGlicmFyeS50cyc7XG5leHBvcnQge1xuICBhc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsXG4gIGNhc3RUbyxcbiAgY2xvbmVXaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsXG4gIGRlZXBFcXVhbCxcbiAgZGVsZXRlUHJvcGVydGllcyxcbiAgZGVsZXRlUHJvcGVydHksXG4gIGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCxcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIGdldEFsbEVudHJpZXMsXG4gIGdldEFsbEtleXMsXG4gIGdldE5lc3RlZFByb3BlcnR5VmFsdWUsXG4gIGdldFByb3RvdHlwZU9mLFxuICBuYW1lb2YsXG4gIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyxcbiAgcmVtb3ZlVW5kZWZpbmVkUHJvcGVydGllcyxcbiAgc2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgdG9Kc29uXG59IGZyb20gJy4vb2JqZWN0LXV0aWxzLnRzJztcbmV4cG9ydCB7XG4gIGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSxcbiAgcmVzZXRPYnNpZGlhbkRldlV0aWxzU3RhdGVcbn0gZnJvbSAnLi9vYnNpZGlhbi1kZXYtdXRpbHMtc3RhdGUudHMnO1xuZXhwb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgeyBnZXRBcHAgfSBmcm9tICcuL29ic2lkaWFuL2FwcC50cyc7XG5leHBvcnQge1xuICByZXRyeVdpdGhUaW1lb3V0Tm90aWNlLFxuICBydW5XaXRoVGltZW91dE5vdGljZVxufSBmcm9tICcuL29ic2lkaWFuL2FzeW5jLXdpdGgtbm90aWNlLnRzJztcbmV4cG9ydCB7XG4gIEF0dGFjaG1lbnRQYXRoQ29udGV4dCxcbiAgRFVNTVlfUEFUSCxcbiAgZ2V0QXR0YWNobWVudEZpbGVQYXRoLFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aCxcbiAgZ2V0QXZhaWxhYmxlUGF0aEZvckF0dGFjaG1lbnRzLFxuICBoYXNPd25BdHRhY2htZW50Rm9sZGVyXG59IGZyb20gJy4vb2JzaWRpYW4vYXR0YWNobWVudC1wYXRoLnRzJztcbmV4cG9ydCB7XG4gIHJlbmRlckJhY2tsaW5rc1RhYmxlLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyXG59IGZyb20gJy4vb2JzaWRpYW4vYmFja2xpbmsudHMnO1xuZXhwb3J0IHsgUGx1Z2luQmFzZXNWaWV3UmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9iYXNlcy12aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBDYWxsb3V0TW9kZSxcbiAgcmVuZGVyQ2FsbG91dCxcbiAgd3JhcEZvckNhbGxvdXRcbn0gZnJvbSAnLi9vYnNpZGlhbi9jYWxsb3V0LnRzJztcbmV4cG9ydCB7XG4gIENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleCxcbiAgZ2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LFxuICBzZXRDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgsXG4gIHVuc2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4XG59IGZyb20gJy4vb2JzaWRpYW4vY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LnRzJztcbmV4cG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vb2JzaWRpYW4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmV4cG9ydCB7IEFic3RyYWN0RmlsZUNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2Fic3RyYWN0LWZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IENvbW1hbmRIYW5kbGVyQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2NvbW1hbmQtaGFuZGxlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEVkaXRvckNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2VkaXRvci1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgRmlsZUNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2ZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEZvbGRlckNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLWhhbmRsZXJzL2ZvbGRlci1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgR2xvYmFsQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvZ2xvYmFsLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuRGVtb1ZhdWx0Q29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1kZW1vLXZhdWx0LWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuU2V0dGluZ3NDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vb2JzaWRpYW4vY29tbWFuZC1oYW5kbGVycy9vcGVuLXNldHRpbmdzLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvdW5sb2NrLWFjdGl2ZS1ub3RlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBQbHVnaW5Db21tYW5kUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9jb21tYW5kLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4sXG4gIGRpc2FibGVDb21tdW5pdHlQbHVnaW4sXG4gIGVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZ2V0Q29tbXVuaXR5UGx1Z2luUmVwbyxcbiAgZ2V0TGF0ZXN0UmVsZWFzZVZlcnNpb24sXG4gIGluc3RhbGxDb21tdW5pdHlQbHVnaW4sXG4gIGluc3RhbGxDb25maWd1cmVFbmFibGVDb21tdW5pdHlQbHVnaW4sXG4gIHNlYXJjaENvbW11bml0eVBsdWdpbnMsXG4gIHRvZ2dsZUVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgdG9nZ2xlSW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgdW5pbnN0YWxsQ29tbXVuaXR5UGx1Z2luXG59IGZyb20gJy4vb2JzaWRpYW4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuZXhwb3J0IHsgQWJvcnRTaWduYWxDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvYWJvcnQtc2lnbmFsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBBbGxXaW5kb3dzRXZlbnRDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEFzeW5jRXJyb3JIYW5kbGVyQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IHJlZ2lzdGVyQXN5bmNFdmVudCB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9jYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvbXBvbmVudEV4IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL2NvbXBvbmVudC1leC50cyc7XG5leHBvcnQgeyBDb25zb2xlRGVidWdDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvY29uc29sZS1kZWJ1Zy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgYXNEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYmVkRXh0ZW5zaW9uc0NvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9lbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBHZW5lcmF0ZU1hcmtkb3duTGlua0RlZmF1bHRQYXJhbXNDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvZ2VuZXJhdGUtbWFya2Rvd24tbGluay1kZWZhdWx0LXBhcmFtcy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgQ2FsbGJhY2tMYXlvdXRSZWFkeUNvbXBvbmVudCxcbiAgTGF5b3V0UmVhZHlDb21wb25lbnRcbn0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL21lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBhcm91bmQsXG4gIGhhc1BhdGNoVG9rZW4sXG4gIE1vbmtleUFyb3VuZENvbXBvbmVudFxufSBmcm9tICcuL29ic2lkaWFuL2NvbXBvbmVudHMvbW9ua2V5LWFyb3VuZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9wbHVnaW4tY29udGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpblNldHRpbmdzVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy10YWItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFJlZ2lzdHJ5Q29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9jb21wb25lbnRzL3JlZ2lzdHJ5LWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBFbXB0eUZvbGRlckJlaGF2aW9yLFxuICBSZW5hbWVEZWxldGVIYW5kbGVyQ29tcG9uZW50XG59IGZyb20gJy4vb2JzaWRpYW4vY29tcG9uZW50cy9yZW5hbWUtZGVsZXRlLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfSBmcm9tICcuL29ic2lkaWFuL2NvbnN0cnVjdG9ycy9nZXQtZG9tLWV2ZW50cy1oYW5kbGVycy1jb25zdHJ1Y3Rvci50cyc7XG5leHBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4vb2JzaWRpYW4vY3NzLWNsYXNzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkRhdGFIYW5kbGVyIH0gZnJvbSAnLi9vYnNpZGlhbi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0IHtcbiAgZml4VGl0bGUsXG4gIG1ha2VMaW5rV2l0aFBhdGhcbn0gZnJvbSAnLi9vYnNpZGlhbi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCB7XG4gIGdldFJlbmRlcmVkQ29udGFpbmVyLFxuICBpbnNlcnRDb2RlQmxvY2ssXG4gIHJlbG9hZEN1cnJlbnRGaWxlQ2FjaGUsXG4gIHJlbmRlcklmcmFtZSxcbiAgcmVuZGVyUGFnaW5hdGVkTGlzdCxcbiAgcmVuZGVyUGFnaW5hdGVkVGFibGVcbn0gZnJvbSAnLi9vYnNpZGlhbi9kYXRhdmlldy50cyc7XG5leHBvcnQgeyBib290c3RyYXBEZW1vVmF1bHQgfSBmcm9tICcuL29ic2lkaWFuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCB7IG9wZW5EZW1vVmF1bHQgfSBmcm9tICcuL29ic2lkaWFuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMnO1xuZXhwb3J0IHtcbiAgaG92ZXJFbGVtZW50LFxuICBtb3ZlTW91c2UsXG4gIHByZXNzS2V5LFxuICB0eXBlSW50b0VkaXRvcixcbiAgdW5ob3ZlckVsZW1lbnRcbn0gZnJvbSAnLi9vYnNpZGlhbi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnO1xuZXhwb3J0IHsgUGx1Z2luRWRpdG9yRXh0ZW5zaW9uUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9lZGl0b3ItZXh0ZW5zaW9uLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgeyBQbHVnaW5FZGl0b3JTdWdnZXN0UmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9lZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgc3luY09wZW5FZGl0b3JCdWZmZXJzRm9yUGF0aCxcbiAgdG9nZ2xlRWRpdG9yUmVhZE9ubHlcbn0gZnJvbSAnLi9vYnNpZGlhbi9lZGl0b3IudHMnO1xuZXhwb3J0IHtcbiAgRXZlbnRSZWZEaXNwb3NhYmxlLFxuICBzdWJzY3JpYmVEaXNwb3NhYmxlRXZlbnQsXG4gIHN1YnNjcmliZUV2ZW50XG59IGZyb20gJy4vb2JzaWRpYW4vZXZlbnRzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkV4dGVuc2lvbnNSZWdpc3RyYXIgfSBmcm9tICcuL29ic2lkaWFuL2V4dGVuc2lvbnMtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGFwcGx5Q29udGVudENoYW5nZXMsXG4gIGFwcGx5RmlsZUNoYW5nZXMsXG4gIGlzQ2FudmFzQ2hhbmdlLFxuICBpc0NhbnZhc0ZpbGVOb2RlQ2hhbmdlLFxuICBpc0NhbnZhc1RleHROb2RlQ2hhbmdlLFxuICBpc0NvbnRlbnRDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyxcbiAgdG9Gcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzXG59IGZyb20gJy4vb2JzaWRpYW4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0IHtcbiAgYWRkQWxpYXMsXG4gIGRlbGV0ZUFsaWFzLFxuICBwcm9jZXNzRnJvbnRtYXR0ZXJcbn0gZnJvbSAnLi9vYnNpZGlhbi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0IHtcbiAgYXNBcnJheU9mRmlsZXMsXG4gIGFzQXJyYXlPZkZvbGRlcnMsXG4gIGFzRmlsZSxcbiAgYXNGaWxlT3JOdWxsLFxuICBhc0ZvbGRlcixcbiAgYXNGb2xkZXJPck51bGwsXG4gIEJBU0VfRklMRV9FWFRFTlNJT04sXG4gIENBTlZBU19GSUxFX0VYVEVOU0lPTixcbiAgY2hlY2tFeHRlbnNpb24sXG4gIGV4aXN0cyxcbiAgRmlsZVN5c3RlbVR5cGUsXG4gIGdldEFic3RyYWN0RmlsZSxcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICBnZXRGaWxlU3lzdGVtVHlwZSxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRGb2xkZXJPck51bGwsXG4gIGdldE1hcmtkb3duRmlsZXMsXG4gIGdldE9yQ3JlYXRlRmlsZSxcbiAgZ2V0T3JDcmVhdGVGb2xkZXIsXG4gIGdldFBhdGgsXG4gIGlzQWJzdHJhY3RGaWxlLFxuICBpc0Jhc2VGaWxlLFxuICBpc0NhbnZhc0ZpbGUsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXIsXG4gIGlzTWFya2Rvd25GaWxlLFxuICBpc05vdGUsXG4gIE1BUktET1dOX0ZJTEVfRVhURU5TSU9OLFxuICB0cmltTWFya2Rvd25FeHRlbnNpb25cbn0gZnJvbSAnLi9vYnNpZGlhbi9maWxlLXN5c3RlbS50cyc7XG5leHBvcnQge1xuICBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMsXG4gIHRvRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0c1xufSBmcm9tICcuL29ic2lkaWFuL2Zyb250bWF0dGVyLWxpbmstY2FjaGUtd2l0aC1vZmZzZXRzLnRzJztcbmV4cG9ydCB7XG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHNldEZyb250bWF0dGVyXG59IGZyb20gJy4vb2JzaWRpYW4vZnJvbnRtYXR0ZXIudHMnO1xuZXhwb3J0IHsgUGx1Z2luSG92ZXJMaW5rU291cmNlUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9ob3Zlci1saW5rLXNvdXJjZS1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgYXBwZW5kQ29kZUJsb2NrIH0gZnJvbSAnLi9vYnNpZGlhbi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9OUyxcbiAgaW5pdEkxOE4sXG4gIHRcbn0gZnJvbSAnLi9vYnNpZGlhbi9pMThuL2kxOG4udHMnO1xuZXhwb3J0IHsgZW4gfSBmcm9tICcuL29ic2lkaWFuL2kxOG4vbG9jYWxlcy9lbi50cyc7XG5leHBvcnQge1xuICBERUZBVUxUX0xBTkdVQUdFLFxuICBkZWZhdWx0VHJhbnNsYXRpb25zTWFwXG59IGZyb20gJy4vb2JzaWRpYW4vaTE4bi9sb2NhbGVzL3RyYW5zbGF0aW9ucy1tYXAudHMnO1xuZXhwb3J0IHsgaXNJbk9ic2lkaWFuIH0gZnJvbSAnLi9vYnNpZGlhbi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQge1xuICBjb252ZXJ0TGluayxcbiAgZWRpdEJhY2tsaW5rcyxcbiAgZWRpdExpbmtzLFxuICBlZGl0TGlua3NJbkNvbnRlbnQsXG4gIGV4dHJhY3RMaW5rRmlsZSxcbiAgZml4RnJvbnRtYXR0ZXJNYXJrZG93bkxpbmtzLFxuICBnZW5lcmF0ZU1hcmtkb3duTGluayxcbiAgZ2VuZXJhdGVSYXdNYXJrZG93bkxpbmssXG4gIGdldEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdFBhcmFtc0ZucyxcbiAgTGlua1BhdGhTdHlsZSxcbiAgTGlua1N0eWxlLFxuICBzaG91bGRSZXNldEFsaWFzLFxuICBzcGxpdFN1YnBhdGgsXG4gIHRlc3RBbmdsZUJyYWNrZXRzLFxuICB0ZXN0RW1iZWQsXG4gIHRlc3RMZWFkaW5nRG90LFxuICB0ZXN0TGVhZGluZ1NsYXNoLFxuICB0ZXN0V2lraWxpbmssXG4gIHVwZGF0ZUZpbGVVcmxMaW5rc0luQ29udGVudCxcbiAgdXBkYXRlRmlsZVVybExpbmtzSW5GaWxlLFxuICB1cGRhdGVMaW5rLFxuICB1cGRhdGVMaW5rc0luQ29udGVudCxcbiAgdXBkYXRlTGlua3NJbkZpbGVcbn0gZnJvbSAnLi9vYnNpZGlhbi9saW5rLnRzJztcbmV4cG9ydCB7IGludm9rZUFzeW5jQW5kTG9nIH0gZnJvbSAnLi9vYnNpZGlhbi9sb2dnZXIudHMnO1xuZXhwb3J0IHsgbG9vcCB9IGZyb20gJy4vb2JzaWRpYW4vbG9vcC50cyc7XG5leHBvcnQgeyBQbHVnaW5NYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3NvclJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4vbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGdldENvZGVCbG9ja01hcmtkb3duSW5mbyxcbiAgaW5zZXJ0QWZ0ZXJDb2RlQmxvY2ssXG4gIGluc2VydEJlZm9yZUNvZGVCbG9jayxcbiAgcmVtb3ZlQ29kZUJsb2NrLFxuICByZXBsYWNlQ29kZUJsb2NrXG59IGZyb20gJy4vb2JzaWRpYW4vbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3IudHMnO1xuZXhwb3J0IHsgUGx1Z2luTWFya2Rvd25Qb3N0UHJvY2Vzc29yUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9tYXJrZG93bi1wb3N0LXByb2Nlc3Nvci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgZ2V0RnVsbENvbnRlbnRIdG1sIH0gZnJvbSAnLi9vYnNpZGlhbi9tYXJrZG93bi12aWV3LnRzJztcbmV4cG9ydCB7XG4gIGZ1bGxSZW5kZXIsXG4gIG1hcmtkb3duVG9IdG1sLFxuICByZWdpc3RlckxpbmtIYW5kbGVycyxcbiAgcmVuZGVyRXh0ZXJuYWxMaW5rLFxuICByZW5kZXJJbnRlcm5hbExpbmtcbn0gZnJvbSAnLi9vYnNpZGlhbi9tYXJrZG93bi50cyc7XG5leHBvcnQge1xuICBDYWNoZWRNZXRhZGF0YUV4RmVhdHVyZSxcbiAgZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5LFxuICBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSxcbiAgZ2V0Q2FjaGVTYWZlLFxuICBnZXRGcm9udG1hdHRlclNhZmUsXG4gIGdldExpbmtzLFxuICBpc0NhY2hlZE1ldGFkYXRhRXgsXG4gIHBhcnNlTWV0YWRhdGEsXG4gIHJlZ2lzdGVyRmlsZUNhY2hlRm9yTm9uRXhpc3RpbmdGaWxlLFxuICByZWdpc3RlckZpbGVzLFxuICB1bnJlZ2lzdGVyRmlsZUNhY2hlRm9yTm9uRXhpc3RpbmdGaWxlLFxuICB1bnJlZ2lzdGVyRmlsZXNcbn0gZnJvbSAnLi9vYnNpZGlhbi9tZXRhZGF0YS1jYWNoZS50cyc7XG5leHBvcnQgeyBhbGVydCB9IGZyb20gJy4vb2JzaWRpYW4vbW9kYWxzL2FsZXJ0LnRzJztcbmV4cG9ydCB7IGNvbmZpcm0gfSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9jb25maXJtLnRzJztcbmV4cG9ydCB7IE1pbmltaXphYmxlTW9kYWwgfSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9taW5pbWl6YWJsZS1tb2RhbC50cyc7XG5leHBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9tb2RhbC50cyc7XG5leHBvcnQgeyBwcm9tcHQgfSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMnO1xuZXhwb3J0IHsgc2VsZWN0SXRlbSB9IGZyb20gJy4vb2JzaWRpYW4vbW9kYWxzL3NlbGVjdC1pdGVtLnRzJztcbmV4cG9ydCB7IHNlbGVjdE9wdGlvbiB9IGZyb20gJy4vb2JzaWRpYW4vbW9kYWxzL3NlbGVjdC1vcHRpb24udHMnO1xuZXhwb3J0IHsgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIgfSBmcm9tICcuL29ic2lkaWFuL21vZGFscy9zdWdnZXN0LW1vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5leHBvcnQgeyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4vb2JzaWRpYW4tcHJvdG9jb2wtaGFuZGxlci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0TmV3TGlua0Zvcm1hdCxcbiAgc2hvdWxkVXNlV2lraWxpbmtzXG59IGZyb20gJy4vb2JzaWRpYW4vb2JzaWRpYW4tc2V0dGluZ3MudHMnO1xuZXhwb3J0IHtcbiAgZW5jb2RlVXJsLFxuICBlc2NhcGVBbGlhcyxcbiAgaXNQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZSxcbiAgaXNQYXJzZUxpbmtSZWZlcmVuY2UsXG4gIHBhcnNlRnJvbnRtYXR0ZXJMaW5rcyxcbiAgcGFyc2VMaW5rLFxuICBwYXJzZUxpbmtzLFxuICB0b1BhcnNlTGlua1JlZmVyZW5jZSxcbiAgdW5lc2NhcGVBbGlhc1xufSBmcm9tICcuL29ic2lkaWFuL3BhcnNlLWxpbmsudHMnO1xuZXhwb3J0IHsgUGF0aFNldHRpbmdzIH0gZnJvbSAnLi9vYnNpZGlhbi9wYXRoLXNldHRpbmdzLnRzJztcbmV4cG9ydCB7IHByaW50VG9QZGYgfSBmcm9tICcuL29ic2lkaWFuL3BkZi50cyc7XG5leHBvcnQgeyBQbHVnaW5DbGlIYW5kbGVyUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi9wbHVnaW4tY2xpLWhhbmRsZXItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi9vYnNpZGlhbi9wbHVnaW4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuZXhwb3J0IHtcbiAgYWRkUGx1Z2luQ3NzQ2xhc3NlcyxcbiAgaW5pdERlYnVnQ29udHJvbGxlcixcbiAgaW5pdFBsdWdpbkNvbnRleHRcbn0gZnJvbSAnLi9vYnNpZGlhbi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luRXZlbnRTb3VyY2VJbXBsIH0gZnJvbSAnLi9vYnNpZGlhbi9wbHVnaW4vcGx1Z2luLWV2ZW50LXNvdXJjZS50cyc7XG5leHBvcnQge1xuICBQbHVnaW5TZXR0aW5nc1RhYkJhc2UsXG4gIFNBVkVfVE9fRklMRV9DT05URVhUXG59IGZyb20gJy4vb2JzaWRpYW4vcGx1Z2luL3BsdWdpbi1zZXR0aW5ncy10YWIudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luQmFzZSxcbiAgcmVsb2FkUGx1Z2luLFxuICBzaG93RXJyb3JBbmREaXNhYmxlUGx1Z2luXG59IGZyb20gJy4vb2JzaWRpYW4vcGx1Z2luL3BsdWdpbi50cyc7XG5leHBvcnQge1xuICBhZGRUb1F1ZXVlLFxuICBhZGRUb1F1ZXVlQW5kV2FpdCxcbiAgZmx1c2hRdWV1ZVxufSBmcm9tICcuL29ic2lkaWFuL3F1ZXVlLnRzJztcbmV4cG9ydCB7XG4gIEFwcENvbnRleHQsXG4gIHVzZUFwcFxufSBmcm9tICcuL29ic2lkaWFuL3JlYWN0L2FwcC1jb250ZXh0LnRzJztcbmV4cG9ydCB7XG4gIGlzQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UsXG4gIGlzQ2FudmFzUmVmZXJlbmNlLFxuICBpc0NhbnZhc1RleHROb2RlUmVmZXJlbmNlLFxuICByZWZlcmVuY2VUb0ZpbGVDaGFuZ2UsXG4gIHNvcnRSZWZlcmVuY2VzXG59IGZyb20gJy4vb2JzaWRpYW4vcmVmZXJlbmNlLnRzJztcbmV4cG9ydCB7XG4gIGlzUmVzb3VyY2VMb2NrZWRGb3JQYXRoLFxuICBsb2NrUmVzb3VyY2VGb3JQYXRoLFxuICByZXF1ZXN0UmVzb3VyY2VVbmxvY2tGb3JQYXRoLFxuICBSZXNvdXJjZUxvY2tDb21wb25lbnQsXG4gIFJlc291cmNlTG9ja2VkRXJyb3IsXG4gIHVubG9ja1Jlc291cmNlRm9yUGF0aFxufSBmcm9tICcuL29ic2lkaWFuL3Jlc291cmNlLWxvY2sudHMnO1xuZXhwb3J0IHsgcmVsYXRpdmVQYXRoVG9SZXNvdXJjZVVybCB9IGZyb20gJy4vb2JzaWRpYW4vcmVzb3VyY2UtdXJsLnRzJztcbmV4cG9ydCB7IFBsdWdpblJpYmJvbkljb25SZWdpc3RyYXIgfSBmcm9tICcuL29ic2lkaWFuL3JpYmJvbi1pY29uLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vc2V0dGluZy1jb21wb25lbnRzL2NoZWNrYm94LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb2RlSGlnaGxpZ2h0ZXJDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9jb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvZGF0ZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLXRpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvZW1haWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEZpbGVDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9maWxlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNb250aENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vc2V0dGluZy1jb21wb25lbnRzL21vbnRoLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlRW1haWxDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9tdWx0aXBsZS1lbWFpbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvbnVtYmVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vc2V0dGluZy1jb21wb25lbnRzL3Bhc3N3b3JkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBlbnN1cmVXcmFwcGVkIH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnQtd3JhcHBlci50cyc7XG5leHBvcnQgeyBUZWxlcGhvbmVDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy90ZWxlcGhvbmUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldFRleHRCYXNlZENvbXBvbmVudFZhbHVlIH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVGltZUNvbXBvbmVudCB9IGZyb20gJy4vb2JzaWRpYW4vc2V0dGluZy1jb21wb25lbnRzL3RpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRyaVN0YXRlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy90cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtcmFuZ2UtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVXJsQ29tcG9uZW50IH0gZnJvbSAnLi9vYnNpZGlhbi9zZXR0aW5nLWNvbXBvbmVudHMvdXJsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBnZXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy92YWxpZGF0b3ItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFdlZWtDb21wb25lbnQgfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy93ZWVrLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBTZXR0aW5nRXggfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctZXgudHMnO1xuZXhwb3J0IHsgU2V0dGluZ0dyb3VwRXggfSBmcm9tICcuL29ic2lkaWFuL3NldHRpbmctZ3JvdXAtZXgudHMnO1xuZXhwb3J0IHsgUGx1Z2luU3RhdHVzQmFySXRlbVJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4vc3RhdHVzLWJhci1pdGVtLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwLFxuICBnZXRPc1Vuc2FmZVBhdGhDaGFyc1JlZ0V4cCxcbiAgaXNWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcixcbiAgT0JTSURJQU5fVU5TQUZFX0ZJTEVOQU1FX0NIQVJTLFxuICBVTklYX1VOU0FGRV9QQVRIX0NIQVJTLFxuICBXSU5ET1dTX1VOU0FGRV9QQVRIX0NIQVJTXG59IGZyb20gJy4vb2JzaWRpYW4vdmFsaWRhdGlvbi50cyc7XG5leHBvcnQgeyBkZWxldGVJZk5vdFVzZWQgfSBmcm9tICcuL29ic2lkaWFuL3ZhdWx0LWRlbGV0ZS50cyc7XG5leHBvcnQgeyBWYXVsdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9vYnNpZGlhbi92YXVsdC10cmFuc2FjdGlvbi50cyc7XG5leHBvcnQge1xuICBjbGVhbnVwRW1wdHlGb2xkZXJzLFxuICBjb3B5U2FmZSxcbiAgY3JlYXRlRm9sZGVyU2FmZSxcbiAgY3JlYXRlVGVtcEZpbGUsXG4gIGNyZWF0ZVRlbXBGb2xkZXIsXG4gIGRlbGV0ZUVtcHR5Rm9sZGVyLFxuICBkZWxldGVFbXB0eUZvbGRlckhpZXJhcmNoeSxcbiAgZ2V0QWJzdHJhY3RGaWxlUGF0aFNhZmUsXG4gIGdldEF2YWlsYWJsZVBhdGgsXG4gIGdldEZpbGVQYXRoU2FmZSxcbiAgZ2V0Rm9sZGVyUGF0aFNhZmUsXG4gIGdldE1hcmtkb3duRmlsZXNTb3J0ZWQsXG4gIGdldE5vdGVGaWxlc1NvcnRlZCxcbiAgZ2V0T3JDcmVhdGVBYnN0cmFjdEZpbGVTYWZlLFxuICBnZXRPckNyZWF0ZUZpbGVTYWZlLFxuICBnZXRPckNyZWF0ZUZvbGRlclNhZmUsXG4gIGdldFNhZmVSZW5hbWVQYXRoLFxuICBpbnZva2VXaXRoRmlsZVN5c3RlbUxvY2ssXG4gIGlzQ2hpbGQsXG4gIGlzQ2hpbGRPclNlbGYsXG4gIGlzRW1wdHlGb2xkZXIsXG4gIGxpc3RTYWZlLFxuICBwcm9jZXNzLFxuICByZWFkU2FmZSxcbiAgcmVuYW1lU2FmZSxcbiAgc2F2ZU5vdGUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL29ic2lkaWFuL3ZhdWx0LnRzJztcbmV4cG9ydCB7IFBsdWdpblZpZXdSZWdpc3RyYXIgfSBmcm9tICcuL29ic2lkaWFuL3ZpZXctcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGVuc3VyZUxheW91dFJlYWR5LFxuICBnZXRBbGxDb250YWluZXJzLFxuICBnZXRBbGxEb21XaW5kb3dzXG59IGZyb20gJy4vb2JzaWRpYW4vd29ya3NwYWNlLnRzJztcbmV4cG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkZWxpbWl0ZXIsXG4gIGRpcm5hbWUsXG4gIGV4dG5hbWUsXG4gIGZvcm1hdCxcbiAgZ2V0RmlsZU5hbWUsXG4gIGdldEZvbGRlck5hbWUsXG4gIGlzQWJzb2x1dGUsXG4gIGpvaW4sXG4gIG1ha2VGaWxlTmFtZSxcbiAgbm9ybWFsaXplSWZSZWxhdGl2ZSxcbiAgbm9ybWFsaXplUGF0aCxcbiAgcGFyc2UsXG4gIHBvc2l4LFxuICByZWxhdGl2ZSxcbiAgcmVzb2x2ZSxcbiAgc2VwLFxuICB0b1Bvc2l4QnVmZmVyLFxuICB0b1Bvc2l4UGF0aFxufSBmcm9tICcuL3BhdGgudHMnO1xuZXhwb3J0IHtcbiAgQUxXQVlTX01BVENIX1JFR19FWFAsXG4gIGVzY2FwZVJlZ0V4cCxcbiAgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCxcbiAgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwLFxuICBpc1ZhbGlkUmVnRXhwLFxuICBORVZFUl9NQVRDSF9SRUdfRVhQLFxuICBvbmVPZixcbiAgUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3lcbn0gZnJvbSAnLi9yZWctZXhwLnRzJztcbmV4cG9ydCB7XG4gIGJ5cGFzc1N0cmljdFByb3h5LFxuICBzdHJpY3RQcm94eVxufSBmcm9tICcuL3N0cmljdC1wcm94eS50cyc7XG5leHBvcnQge1xuICBFTVBUWSxcbiAgZW5zdXJlRW5kc1dpdGgsXG4gIGVuc3VyZUxmRW5kaW5ncyxcbiAgZW5zdXJlU3RhcnRzV2l0aCxcbiAgZXNjYXBlLFxuICBnZXRMZk5vcm1hbGl6ZWRPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwcGVyLFxuICBoYXNTaW5nbGVPY2N1cnJlbmNlLFxuICBpbmRlbnQsXG4gIGluc2VydEF0LFxuICBtYWtlVmFsaWRWYXJpYWJsZU5hbWUsXG4gIG5vcm1hbGl6ZVN0cmluZyxcbiAgcmVwbGFjZSxcbiAgcmVwbGFjZUFsbCxcbiAgcmVwbGFjZUFsbEFzeW5jLFxuICB0cmltRW5kLFxuICB0cmltU3RhcnQsXG4gIHVuZXNjYXBlLFxuICB1bmluZGVudFxufSBmcm9tICcuL3N0cmluZy50cyc7XG5leHBvcnQgeyBEYXRlVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9kYXRlLXRyYW5zZm9ybWVyLnRzJztcbmV4cG9ydCB7IER1cmF0aW9uVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyc7XG5leHBvcnQgeyBHcm91cFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZ3JvdXAtdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgTWFwVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9tYXAtdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgU2V0VHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zZXQtdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgU2tpcFByaXZhdGVQcm9wZXJ0eVRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc2tpcC1wcml2YXRlLXByb3BlcnR5LXRyYW5zZm9ybWVyLnRzJztcbmV4cG9ydCB7IFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgVHdvV2F5TWFwVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy90d28td2F5LW1hcC10cmFuc2Zvcm1lci50cyc7XG5leHBvcnQgeyBUeXBlZFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdHlwZWQtdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHsgVHdvV2F5TWFwIH0gZnJvbSAnLi90d28td2F5LW1hcC50cyc7XG5leHBvcnQge1xuICBhc3NlcnQsXG4gIGFzc2VydEdlbmVyaWNPYmplY3QsXG4gIGFzc2VydE5ldmVyLFxuICBhc3NlcnROb25OdWxsYWJsZSxcbiAgZW5zdXJlR2VuZXJpY09iamVjdCxcbiAgZW5zdXJlTm9uTnVsbGFibGVcbn0gZnJvbSAnLi90eXBlLWd1YXJkcy50cyc7XG5leHBvcnQgeyBUeXBlQXNzZXJ0ZXIgfSBmcm9tICcuL3R5cGUudHMnO1xuZXhwb3J0IHtcbiAgaXNGaWxlVXJsLFxuICBpc1VybCxcbiAgbm9ybWFsaXplRmlsZVVybFxufSBmcm9tICcuL3VybC50cyc7XG5leHBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuL3ZhbHVlLXByb3ZpZGVyLnRzJztcbmV4cG9ydCB7IFZhbHVlV3JhcHBlciB9IGZyb20gJy4vdmFsdWUtd3JhcHBlci50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsY0FBYztBQUN2QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyxjQUFjO0FBQ3ZCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FB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UywwQkFBMEI7QUFDbkMsU0FBUyxrQ0FBa0M7QUFDM0MsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxpQ0FBaUM7QUFDMUMsU0FBUyw4QkFBOEI7QUFDdkMsU0FBUyxzQ0FBc0M7QUFDL0MsU0FBUywrQkFBK0I7QUFDeEMsU0FBUywwQkFBMEI7QUFDbkMsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxvQ0FBb0M7QUFDN0M7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUyx3QkFBd0I7QUFDakM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUywyQkFBMkI7QUFDcEM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLHdCQUF3QjtBQUNqQyxTQUFTLHNCQUFzQjtBQUMvQixTQUFTLHNCQUFzQjtBQUMvQixTQUFTLHNDQUFzQztBQUMvQyxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLDRCQUE0QjtBQUNyQyxTQUFTLHdCQUF3QjtBQUNqQyxTQUFTLGlCQUFpQjtBQUMxQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG9CQUFvQjtBQUM3QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLG9CQUFvQjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -21,7 +21,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
21
21
|
globalThis.process = browserProcess;
|
|
22
22
|
})();
|
|
23
23
|
|
|
24
|
-
const LIBRARY_VERSION = "
|
|
24
|
+
const LIBRARY_VERSION = "88.0.0";
|
|
25
25
|
const LIBRARY_STYLES = ".obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component pre, .obsidian-dev-utils.code-highlighter-component code {\n font-family: var(--font-monospace);\n line-height: var(--line-height-normal);\n margin: 0;\n}\n.obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component code {\n font-size: var(--code-size);\n}\n.obsidian-dev-utils.code-highlighter-component textarea {\n background: transparent;\n color: transparent;\n z-index: 2;\n width: 20em;\n height: 10em;\n}\n.obsidian-dev-utils.code-highlighter-component pre {\n position: absolute;\n pointer-events: none;\n border: var(--input-border-width) solid transparent;\n overflow: auto;\n inset: 0;\n padding: var(--size-4-1) var(--size-4-2);\n z-index: 1;\n}\n.obsidian-dev-utils.code-highlighter-component pre::after {\n content: \"\";\n display: block;\n height: var(--bottom-gap, 0);\n}\n.obsidian-dev-utils.code-highlighter-component pre.is-placeholder {\n opacity: 0.6;\n}\n.obsidian-dev-utils.code-highlighter-component code {\n display: block;\n padding: 0;\n}\n\n.obsidian-dev-utils-lock-indicator {\n display: inline-flex;\n align-items: center;\n color: var(--text-muted);\n}\n.obsidian-dev-utils-lock-indicator .svg-icon {\n width: var(--icon-s);\n height: var(--icon-s);\n}\n\n@keyframes obsidian-dev-utils-lock-indicator-flash {\n 40% {\n color: var(--text-error);\n transform: scale(1.4);\n }\n}\n.obsidian-dev-utils-lock-indicator-flash {\n animation: obsidian-dev-utils-lock-indicator-flash 0.35s ease-in-out;\n}\n\n.obsidian-dev-utils input[type=url] {\n height: var(--input-height);\n}\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=tel],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=url],\n.obsidian-dev-utils input[type=week] {\n -webkit-app-region: no-drag;\n background: var(--background-modifier-form-field);\n border: var(--input-border-width) solid var(--background-modifier-border);\n color: var(--text-normal);\n font-family: inherit;\n padding: var(--size-4-1) var(--size-4-2);\n font-size: var(--font-ui-small);\n border-radius: var(--input-radius);\n outline: none;\n}\n@media (hover: hover) {\n .obsidian-dev-utils input[type=month]:hover,\n .obsidian-dev-utils input[type=tel]:hover,\n .obsidian-dev-utils input[type=time]:hover,\n .obsidian-dev-utils input[type=url]:hover,\n .obsidian-dev-utils input[type=week]:hover {\n border-color: var(--background-modifier-border-hover);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n }\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus {\n border-color: var(--background-modifier-border-focus);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus, .obsidian-dev-utils input[type=month]:focus-visible,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=tel]:focus-visible,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=time]:focus-visible,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=url]:focus-visible,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus,\n.obsidian-dev-utils input[type=week]:focus-visible {\n box-shadow: 0 0 0 2px var(--background-modifier-border-focus);\n}\n.obsidian-dev-utils input[type=month]::placeholder,\n.obsidian-dev-utils input[type=tel]::placeholder,\n.obsidian-dev-utils input[type=time]::placeholder,\n.obsidian-dev-utils input[type=url]::placeholder,\n.obsidian-dev-utils input[type=week]::placeholder {\n color: var(--text-faint);\n}\n.mod-rtl input[type=month],\n.mod-rtl input[type=time],\n.mod-rtl input[type=week],\n.is-rtl input[type=month],\n.is-rtl input[type=time],\n.is-rtl input[type=week],\n.rtl input[type=month],\n.rtl input[type=time],\n.rtl input[type=week] {\n direction: rtl;\n}\n.mod-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.rtl input[type=month]::-webkit-calendar-picker-indicator,\n.rtl input[type=time]::-webkit-calendar-picker-indicator,\n.rtl input[type=week]::-webkit-calendar-picker-indicator {\n right: var(--size-4-1);\n left: auto;\n}\n\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=week] {\n font-variant-numeric: tabular-nums;\n position: relative;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-text {\n color: var(--text-faint);\n padding-inline-end: 0;\n}\n.obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n position: absolute;\n left: var(--size-4-1);\n right: auto;\n opacity: 0.5;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:focus {\n background-color: var(--text-selection);\n color: var(--text-normal);\n cursor: text;\n}\n.mod-rtl .obsidian-dev-utils input[type=month], .is-rtl .obsidian-dev-utils input[type=month], .rtl .obsidian-dev-utils input[type=month],\n.mod-rtl .obsidian-dev-utils input[type=time],\n.is-rtl .obsidian-dev-utils input[type=time],\n.rtl .obsidian-dev-utils input[type=time],\n.mod-rtl .obsidian-dev-utils input[type=week],\n.is-rtl .obsidian-dev-utils input[type=week],\n.rtl .obsidian-dev-utils input[type=week] {\n direction: rtl;\n}\n.mod-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .is-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n left: auto;\n right: var(--size-4-1);\n}\n\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=month],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=time],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=week] {\n padding-inline-start: var(--size-4-6);\n}\n\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator {\n margin-inline-start: 0;\n}\n\n.obsidian-dev-utilsprogress.loop {\n min-width: 200px;\n}\n\n@keyframes obsidian-dev-utils-minimized-modal-bar-pulse {\n 0%, 100% {\n box-shadow: var(--shadow-s);\n }\n 50% {\n box-shadow: 0 0 0 2px var(--interactive-accent);\n }\n}\n@keyframes obsidian-dev-utils-minimized-modal-bar-attention {\n 0% {\n box-shadow: 0 0 0 0 var(--interactive-accent);\n }\n 40% {\n box-shadow: 0 0 0 4px var(--interactive-accent);\n }\n 100% {\n box-shadow: var(--shadow-s);\n }\n}\n.obsidian-dev-utils.minimizable-modal .minimize-button {\n position: absolute;\n top: var(--size-4-2);\n right: calc(var(--size-4-2) + var(--size-4-9));\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--size-2-2);\n border: none;\n border-radius: var(--radius-s);\n background: transparent;\n color: var(--icon-color);\n cursor: pointer;\n box-shadow: none;\n}\n.obsidian-dev-utils.minimizable-modal .minimize-button:hover {\n background: var(--background-modifier-hover);\n color: var(--icon-color-hover);\n}\n.obsidian-dev-utils.minimized-modal-bar {\n position: fixed;\n right: var(--size-4-4);\n bottom: calc(var(--size-4-4) + var(--size-4-8));\n z-index: var(--layer-modal);\n display: flex;\n align-items: center;\n gap: var(--size-4-2);\n padding: var(--size-4-2) var(--size-4-3);\n border: 1px solid var(--background-modifier-border);\n border-radius: var(--radius-m);\n background: var(--background-secondary);\n box-shadow: var(--shadow-s);\n cursor: pointer;\n animation: obsidian-dev-utils-minimized-modal-bar-pulse 2s ease-in-out infinite;\n}\n.obsidian-dev-utils.minimized-modal-bar:hover {\n background-image: linear-gradient(var(--background-modifier-hover), var(--background-modifier-hover));\n}\n.obsidian-dev-utils.minimized-modal-bar.minimized-modal-bar-attention {\n animation: obsidian-dev-utils-minimized-modal-bar-attention 0.35s ease-out;\n}\n.obsidian-dev-utils.minimized-modal-bar .minimized-modal-bar-title {\n font-weight: var(--font-medium);\n}\n.obsidian-dev-utils.minimized-modal-bar .restore-button,\n.obsidian-dev-utils.minimized-modal-bar .cancel-button {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--size-2-2);\n border: none;\n border-radius: var(--radius-s);\n background: transparent;\n color: var(--icon-color);\n cursor: pointer;\n box-shadow: none;\n}\n.obsidian-dev-utils.minimized-modal-bar .restore-button:hover,\n.obsidian-dev-utils.minimized-modal-bar .cancel-button:hover {\n background: var(--background-modifier-hover);\n color: var(--icon-color-hover);\n}\n\n.obsidian-dev-utils.modal-container .ok-button {\n margin-right: 10px;\n margin-top: 20px;\n}\n\n.obsidian-dev-utils .multiple-dropdown-component select,\n.obsidian-dev-utils .multiple-dropdown-component select:focus,\n.obsidian-dev-utils .multiple-dropdown-component .dropdown {\n height: auto;\n padding-top: 3px;\n}\n.obsidian-dev-utils .multiple-dropdown-component select option:checked,\n.obsidian-dev-utils .multiple-dropdown-component select:focus option:checked,\n.obsidian-dev-utils .multiple-dropdown-component .dropdown option:checked {\n background-color: #1967d2;\n color: #fff;\n}\n\n.obsidian-dev-utils.plugin-notice-name {\n color: var(--text-accent);\n display: inline-block;\n font-weight: var(--font-bold);\n margin-bottom: var(--size-4-2);\n}\n.obsidian-dev-utils.plugin-notice-content {\n padding-right: var(--size-4-5);\n position: relative;\n}\n.obsidian-dev-utils.plugin-notice-content .obsidian-dev-utils.cancel-button {\n display: block;\n margin-top: var(--size-4-2);\n width: fit-content;\n}\n.obsidian-dev-utils.plugin-notice-content .obsidian-dev-utils.plugin-notice-close-button {\n position: absolute;\n right: var(--size-4-3);\n top: var(--size-4-3);\n}\n.obsidian-dev-utils.plugin-notice-requires-explicit-close.notice {\n padding: 0;\n}\n.obsidian-dev-utils.plugin-notice-requires-explicit-close.notice .obsidian-dev-utils.plugin-notice-content {\n padding: var(--size-4-3) var(--size-4-4);\n}\n\n.obsidian-dev-utils.plugin-settings-tab a:focus {\n outline: 2px solid var(--link-color);\n}\n\n.obsidian-dev-utils.prompt-modal .text-box {\n width: 100%;\n}\n\nbody button:not(.clickable-icon) {\n color: var(--text-color);\n}\n\n.obsidian-dev-utils.tri-state-checkbox-component input[type=checkbox]:indeterminate {\n appearance: checkbox;\n}\n\n.obsidian-dev-utils :invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils input.metadata-input-text:active:invalid, .obsidian-dev-utils input.metadata-input-text:focus-visible:invalid, .obsidian-dev-utils input.metadata-input-text:focus:invalid,\n.obsidian-dev-utils input[type=date]:active:invalid,\n.obsidian-dev-utils input[type=date]:focus-visible:invalid,\n.obsidian-dev-utils input[type=date]:focus:invalid,\n.obsidian-dev-utils input[type=datetime-local]:active:invalid,\n.obsidian-dev-utils input[type=datetime-local]:focus-visible:invalid,\n.obsidian-dev-utils input[type=datetime-local]:focus:invalid,\n.obsidian-dev-utils input[type=email]:active:invalid,\n.obsidian-dev-utils input[type=email]:focus-visible:invalid,\n.obsidian-dev-utils input[type=email]:focus:invalid,\n.obsidian-dev-utils input[type=number]:active:invalid,\n.obsidian-dev-utils input[type=number]:focus-visible:invalid,\n.obsidian-dev-utils input[type=number]:focus:invalid,\n.obsidian-dev-utils input[type=password]:active:invalid,\n.obsidian-dev-utils input[type=password]:focus-visible:invalid,\n.obsidian-dev-utils input[type=password]:focus:invalid,\n.obsidian-dev-utils input[type=search]:active:invalid,\n.obsidian-dev-utils input[type=search]:focus-visible:invalid,\n.obsidian-dev-utils input[type=search]:focus:invalid,\n.obsidian-dev-utils input[type=text]:active:invalid,\n.obsidian-dev-utils input[type=text]:focus-visible:invalid,\n.obsidian-dev-utils input[type=text]:focus:invalid,\n.obsidian-dev-utils textarea:active:invalid,\n.obsidian-dev-utils textarea:focus-visible:invalid,\n.obsidian-dev-utils textarea:focus:invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils.setting-component-wrapper {\n position: relative;\n display: inline-flex;\n}\n.obsidian-dev-utils.overlay-validator {\n caret-color: transparent;\n cursor: default;\n position: absolute;\n background-color: transparent;\n border: none;\n outline: none;\n pointer-events: none;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n}\n.obsidian-dev-utils.tooltip.tooltip-validator {\n position: absolute;\n top: calc(100% + 8px);\n width: max-content;\n}\n\n/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../src/styles/code-highlighter-component.scss%22,%22../src/styles/editor-lock.scss%22,%22../src/styles/input.scss%22,%22../src/styles/input-time.scss%22,%22../src/styles/loop.scss%22,%22../src/styles/minimizable-modal.scss%22,%22../src/styles/modal-container.scss%22,%22../src/styles/multiple-dropdown-component.scss%22,%22../src/styles/plugin-notice.scss%22,%22../src/styles/plugin-settings-tab.scss%22,%22../src/styles/prompt-modal.scss%22,%22../src/styles/tldraw-button-color-workaround.scss%22,%22../src/styles/tri-state-checkbox-component.scss%22,%22../src/styles/validation.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEI;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;;ACvCN;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAMJ;EACE;IACE;IACA;;;AAIJ;EACE;;;ACvBA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;AAAA;AAAA;AAAA;AAAA;IACE;IACA,YACE;;;AAMR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA,YACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AC7DV;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGP;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AAKF;AAAA;AAAA;EACE;;;AAMJ;EACE;;;ACjDJ;EACE;;;ACFJ;EACE;IAEE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AASN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOA;EACE;;AAOF;EACE;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;;ACxGJ;EACE;EACA;;;ACFF;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;;ACTN;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAKF;EACE;EACA;EACA;;AAOJ;EACE;;AAEA;EACE;;;AChCF;EACE;;;ACDF;EACE;;;ACON;EACE;;;ACTE;EACE;;;ACEJ;EAJA;;AAoBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EApBJ;;AA0BA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA%22,%22file%22:%22styles.css%22,%22sourcesContent%22:%5B%22.obsidian-dev-utils%20%7B%5Cn%20%20&.code-highlighter-component%20%7B%5Cn%20%20%20%20textarea,%20pre,%20code%20%7B%5Cn%20%20%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20%20%20line-height:%20var(--line-height-normal);%5Cn%20%20%20%20%20%20margin:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea,%20code%20%7B%5Cn%20%20%20%20%20%20font-size:%20var(--code-size);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea%20%7B%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20transparent;%5Cn%20%20%20%20%20%20z-index:%202;%5Cn%20%20%20%20%20%20width:%2020em;%5Cn%20%20%20%20%20%20height:%2010em;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20%20%20border:%20var(--input-border-width)%20solid%20transparent;%5Cn%20%20%20%20%20%20overflow:%20auto;%5Cn%20%20%20%20%20%20inset:%200;%5Cn%20%20%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20%20%20z-index:%201;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre::after%20%7B%5Cn%20%20%20%20%20%20content:%20%5C%22%5C%22;%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20height:%20var(--bottom-gap,%200);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre.is-placeholder%20%7B%5Cn%20%20%20%20%20%20opacity:%200.6;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20code%20%7B%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20padding:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22//%20Lock%20indicators%20shown%20in%20the%20tab%20header%20and%20the%20status%20bar%20while%20a%20note%20is%20locked.%20These%20live%20in%5Cn//%20global%20Obsidian%20DOM%20(tab%20header%20/%20status%20bar),%20so%20they%20are%20styled%20with%20a%20global%20class%20rather%20than%5Cn//%20scoped%20under%20%60.obsidian-dev-utils%60.%5Cn.obsidian-dev-utils-lock-indicator%20%7B%5Cn%20%20display:%20inline-flex;%5Cn%20%20align-items:%20center;%5Cn%20%20color:%20var(--text-muted);%5Cn%5Cn%20%20.svg-icon%20%7B%5Cn%20%20%20%20width:%20var(--icon-s);%5Cn%20%20%20%20height:%20var(--icon-s);%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn//%20Flashed%20on%20every%20lock%20indicator%20(tab%20header,%20view%20action,%20status%20bar)%20when%20the%20user%20attempts%20to%5Cn//%20type%20in%20a%20locked%20note,%20to%20make%20clear%20the%20note%20is%20read-only.%20Re-added%20per%20rejected%20keystroke.%5Cn@keyframes%20obsidian-dev-utils-lock-indicator-flash%20%7B%5Cn%20%2040%25%20%7B%5Cn%20%20%20%20color:%20var(--text-error);%5Cn%20%20%20%20transform:%20scale(1.4);%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.obsidian-dev-utils-lock-indicator-flash%20%7B%5Cn%20%20animation:%20obsidian-dev-utils-lock-indicator-flash%200.35s%20ease-in-out;%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='url'%5D%20%7B%5Cn%20%20%20%20height:%20var(--input-height)%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='tel'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='url'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20-webkit-app-region:%20no-drag;%5Cn%20%20%20%20background:%20var(--background-modifier-form-field);%5Cn%20%20%20%20border:%20var(--input-border-width)%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20font-family:%20inherit;%5Cn%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20font-size:%20var(--font-ui-small);%5Cn%20%20%20%20border-radius:%20var(--input-radius);%5Cn%20%20%20%20outline:%20none;%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20@media%20(hover:%20hover)%20%7B%5Cn%20%20%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20border-color:%20var(--background-modifier-border-hover);%5Cn%20%20%20%20%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20border-color:%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus,%5Cn%20%20%20%20&:focus-visible%20%7B%5Cn%20%20%20%20%20%20box-shadow:%200%200%200%202px%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::placeholder%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20@at-root%20%7B%5Cn%20%20%20%20.mod-rtl,%5Cn%20%20%20%20.is-rtl,%5Cn%20%20%20%20.rtl%20%7B%5Cn%20%20%20%20%20%20&%20%7B%5Cn%20%20%20%20%20%20%20%20input%5Btype='month'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='time'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20font-variant-numeric:%20tabular-nums;%5Cn%20%20%20%20position:%20relative;%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-text%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%20%20padding-inline-end:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20left:%20var(--size-4-1);%5Cn%20%20%20%20%20%20right:%20auto;%5Cn%20%20%20%20%20%20opacity:%200.5;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-month-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-day-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-year-field%20%7B%5Cn%20%20%20%20%20%20&:active,%5Cn%20%20%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20var(--text-selection);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%20%20%20%20cursor:%20text;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20.mod-rtl%20&,%5Cn%20%20%20%20%20%20.is-rtl%20&,%5Cn%20%20%20%20%20%20.rtl%20&%20%7B%5Cn%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20body:not(.is-ios):not(.is-android)%20&%20%7B%5Cn%20%20%20%20%20%20%20%20padding-inline-start:%20var(--size-4-6);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='time'%5D%20%7B%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&progress.loop%20%7B%5Cn%20%20%20%20min-width:%20200px;%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22@keyframes%20obsidian-dev-utils-minimized-modal-bar-pulse%20%7B%5Cn%20%200%25,%5Cn%20%20100%25%20%7B%5Cn%20%20%20%20box-shadow:%20var(--shadow-s);%5Cn%20%20%7D%5Cn%5Cn%20%2050%25%20%7B%5Cn%20%20%20%20box-shadow:%200%200%200%202px%20var(--interactive-accent);%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn@keyframes%20obsidian-dev-utils-minimized-modal-bar-attention%20%7B%5Cn%20%200%25%20%7B%5Cn%20%20%20%20box-shadow:%200%200%200%200%20var(--interactive-accent);%5Cn%20%20%7D%5Cn%5Cn%20%2040%25%20%7B%5Cn%20%20%20%20box-shadow:%200%200%200%204px%20var(--interactive-accent);%5Cn%20%20%7D%5Cn%5Cn%20%20100%25%20%7B%5Cn%20%20%20%20box-shadow:%20var(--shadow-s);%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.obsidian-dev-utils%20%7B%5Cn%20%20//%20The%20minimize%20button%20lives%20inside%20the%20modal%20container,%20left%20of%20Obsidian's%20close%20button.%5Cn%20%20&.minimizable-modal%20%7B%5Cn%20%20%20%20.minimize-button%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20top:%20var(--size-4-2);%5Cn%20%20%20%20%20%20right:%20calc(var(--size-4-2)%20+%20var(--size-4-9));%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20justify-content:%20center;%5Cn%20%20%20%20%20%20padding:%20var(--size-2-2);%5Cn%20%20%20%20%20%20border:%20none;%5Cn%20%20%20%20%20%20border-radius:%20var(--radius-s);%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20var(--icon-color);%5Cn%20%20%20%20%20%20cursor:%20pointer;%5Cn%20%20%20%20%20%20box-shadow:%20none;%5Cn%5Cn%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20background:%20var(--background-modifier-hover);%5Cn%20%20%20%20%20%20%20%20color:%20var(--icon-color-hover);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20//%20The%20minimized%20bar%20is%20appended%20to%20document.body.%20It%20floats%20at%20the%20bottom-right%20while%20minimized,%5Cn%20%20//%20and%20gently%20pulses%20an%20accent%20ring%20so%20the%20user%20does%20not%20forget%20about%20the%20minimized%20operation.%5Cn%20%20//%20It%20floats%20a%20status-bar's%20height%20above%20the%20bottom%20edge%20so%20it%20never%20covers%20the%20bottom-right%5Cn%20%20//%20status-bar%20items%20(e.g.%20the%20editor-lock%20unlock%20indicator,%20which%20lives%20in%20the%20same%20corner).%5Cn%20%20&.minimized-modal-bar%20%7B%5Cn%20%20%20%20position:%20fixed;%5Cn%20%20%20%20right:%20var(--size-4-4);%5Cn%20%20%20%20bottom:%20calc(var(--size-4-4)%20+%20var(--size-4-8));%5Cn%20%20%20%20z-index:%20var(--layer-modal);%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20align-items:%20center;%5Cn%20%20%20%20gap:%20var(--size-4-2);%5Cn%20%20%20%20padding:%20var(--size-4-2)%20var(--size-4-3);%5Cn%20%20%20%20border:%201px%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20border-radius:%20var(--radius-m);%5Cn%20%20%20%20background:%20var(--background-secondary);%5Cn%20%20%20%20box-shadow:%20var(--shadow-s);%5Cn%20%20%20%20cursor:%20pointer;%5Cn%20%20%20%20animation:%20obsidian-dev-utils-minimized-modal-bar-pulse%202s%20ease-in-out%20infinite;%5Cn%5Cn%20%20%20%20//%20Layer%20the%20translucent%20hover%20tint%20over%20the%20opaque%20%60background%60%20(%60--background-secondary%60)%20via%5Cn%20%20%20%20//%20%60background-image%60%20instead%20of%20replacing%20the%20background-color.%20%60--background-modifier-hover%60%20is%5Cn%20%20%20%20//%20translucent,%20so%20setting%20it%20as%20%60background%60%20would%20let%20the%20editor%20content%20behind%20the%20floating%20bar%5Cn%20%20%20%20//%20bleed%20through%20and%20make%20the%20title%20unreadable.%20A%20gradient%20of%20the%20tint%20composited%20over%20the%20opaque%5Cn%20%20%20%20//%20base%20keeps%20the%20bar%20opaque%20while%20preserving%20the%20subtle%20hover%20highlight.%5Cn%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20background-image:%20linear-gradient(var(--background-modifier-hover),%20var(--background-modifier-hover));%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20//%20A%20one-shot,%20more%20pronounced%20flash%20played%20when%20the%20user%20attempts%20a%20blocked%20action%20(a%20keystroke,%5Cn%20%20%20%20//%20right-click,%20or%20opening%20another%20modal)%20while%20this%20modal%20is%20minimized,%20so%20the%20block%20is%20not%5Cn%20%20%20%20//%20silent.%20Its%20higher%20specificity%20overrides%20the%20gentle%20infinite%20idle%20pulse%20while%20it%20plays;%20the%5Cn%20%20%20%20//%20class%20is%20removed%20on%20%60animationend%60,%20restoring%20the%20idle%20pulse.%5Cn%20%20%20%20&.minimized-modal-bar-attention%20%7B%5Cn%20%20%20%20%20%20animation:%20obsidian-dev-utils-minimized-modal-bar-attention%200.35s%20ease-out;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.minimized-modal-bar-title%20%7B%5Cn%20%20%20%20%20%20font-weight:%20var(--font-medium);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.restore-button,%5Cn%20%20%20%20.cancel-button%20%7B%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20justify-content:%20center;%5Cn%20%20%20%20%20%20padding:%20var(--size-2-2);%5Cn%20%20%20%20%20%20border:%20none;%5Cn%20%20%20%20%20%20border-radius:%20var(--radius-s);%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20var(--icon-color);%5Cn%20%20%20%20%20%20cursor:%20pointer;%5Cn%20%20%20%20%20%20box-shadow:%20none;%5Cn%5Cn%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20background:%20var(--background-modifier-hover);%5Cn%20%20%20%20%20%20%20%20color:%20var(--icon-color-hover);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.modal-container%20%7B%5Cn%20%20%20%20.ok-button%20%7B%5Cn%20%20%20%20%20%20margin-right:%2010px;%5Cn%20%20%20%20%20%20margin-top:%2020px;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20.multiple-dropdown-component%20%7B%5Cn%20%20%20%20select,%5Cn%20%20%20%20select:focus,%5Cn%20%20%20%20.dropdown%20%7B%5Cn%20%20%20%20%20%20height:%20auto;%5Cn%20%20%20%20%20%20padding-top:%203px;%5Cn%5Cn%20%20%20%20%20%20option:checked%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20%231967d2;%5Cn%20%20%20%20%20%20%20%20color:%20%23fff;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.plugin-notice-name%20%7B%5Cn%20%20%20%20color:%20var(--text-accent);%5Cn%20%20%20%20display:%20inline-block;%5Cn%20%20%20%20font-weight:%20var(--font-bold);%5Cn%20%20%20%20margin-bottom:%20var(--size-4-2);%5Cn%20%20%7D%5Cn%5Cn%20%20&.plugin-notice-content%20%7B%5Cn%20%20%20%20padding-right:%20var(--size-4-5);%5Cn%20%20%20%20position:%20relative;%5Cn%5Cn%20%20%20%20.obsidian-dev-utils.cancel-button%20%7B%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20margin-top:%20var(--size-4-2);%5Cn%20%20%20%20%20%20width:%20fit-content;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20//%20The%20close%20button%20reuses%20Obsidian's%20%60modal-header-button%60%20+%20%60clickable-icon%60%20classes%20so%20it%20matches%5Cn%20%20%20%20//%20The%20native%20modal%20close%20button%20(box%20+%20hover);%20only%20its%20corner%20position%20is%20set%20here.%5Cn%20%20%20%20.obsidian-dev-utils.plugin-notice-close-button%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20right:%20var(--size-4-3);%5Cn%20%20%20%20%20%20top:%20var(--size-4-3);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20//%20Move%20the%20notice's%20own%20padding%20onto%20the%20content%20wrapper%20so%20the%20wrapper%20covers%20the%20whole%20clickable%5Cn%20%20//%20Area%20%E2%80%94%20otherwise%20a%20click%20landing%20on%20the%20notice's%20bare%20padding%20(outside%20the%20wrapper)%20would%20bypass%20the%5Cn%20%20//%20Stop-propagation%20guard%20and%20dismiss%20the%20hard-to-close%20notice.%5Cn%20%20&.plugin-notice-requires-explicit-close.notice%20%7B%5Cn%20%20%20%20padding:%200;%5Cn%5Cn%20%20%20%20.obsidian-dev-utils.plugin-notice-content%20%7B%5Cn%20%20%20%20%20%20padding:%20var(--size-4-3)%20var(--size-4-4);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.plugin-settings-tab%20%7B%5Cn%20%20%20%20a:focus%20%7B%5Cn%20%20%20%20%20%20outline:%202px%20solid%20var(--link-color);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.prompt-modal%20%7B%5Cn%20%20%20%20.text-box%20%7B%5Cn%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22//%20The%20tldraw%20Obsidian%20plugin%20(tldraw/obsidian-plugin)%20ships%20an%20unscoped%20global%20rule%5Cn//%20%60button:not(.clickable-icon)%20%7B%20color:%20currentColor%20%7D%60%20that%20overrides%20Obsidian's%20own%5Cn//%20%60button:not(.clickable-icon)%20%7B%20color:%20var(--text-color)%20%7D%60%20app-wide.%20Obsidian%20sets%5Cn//%20%60--text-color%60%20contextually%20per%20button%20variant%20(%60--text-normal%60%20by%20default,%5Cn//%20%60--text-on-accent%60%20for%20%60.mod-cta%60,%20%60--text-error%60%20for%20%60.mod-warning%60),%20so%20tldraw's%5Cn//%20%60currentColor%60%20discards%20that%20and%20breaks%20button%20contrast%20outside%20tldraw%20%E2%80%94%20e.g.%5Cn//%20White-on-white%20action%20buttons%20inside%20a%20Notice.%20Re-assert%20Obsidian's%20own%20value%20with%20a%5Cn//%20%60body%60-prefixed%20selector%20(specificity%200,1,2)%20so%20it%20wins%20over%20tldraw's%20(0,1,1)%20while%5Cn//%20Staying%20correct%20for%20every%20button%20variant%20(it%20reuses%20the%20same%20contextual%20%60--text-color%60).%5Cn//%20Defensive%20workaround%20%E2%80%94%20remove%20once%20the%20upstream%20fix%20ships%20(tldraw/obsidian-plugin%23210).%5Cnbody%20button:not(.clickable-icon)%20%7B%5Cn%20%20color:%20var(--text-color);%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cr%5Cn%20%20&.tri-state-checkbox-component%20%7B%5Cr%5Cn%20%20%20%20input%5Btype='checkbox'%5D:indeterminate%20%7B%5Cr%5Cn%20%20%20%20%20%20appearance:%20checkbox;%5Cr%5Cn%20%20%20%20%7D%5Cr%5Cn%20%20%7D%5Cr%5Cn%7D%5Cr%5Cn%22,%22@mixin%20invalid%20%7B%5Cn%20%20box-shadow:%200%200%200%202px%20var(--text-error);%5Cn%7D%5Cn%5Cn.obsidian-dev-utils%20%7B%5Cn%20%20:invalid%20%7B%5Cn%20%20%20%20@include%20invalid;%5Cn%20%20%7D%5Cn%5Cn%20%20input.metadata-input-text,%5Cn%20%20input%5Btype='date'%5D,%5Cn%20%20input%5Btype='datetime-local'%5D,%5Cn%20%20input%5Btype='email'%5D,%5Cn%20%20input%5Btype='number'%5D,%5Cn%20%20input%5Btype='password'%5D,%5Cn%20%20input%5Btype='search'%5D,%5Cn%20%20input%5Btype='text'%5D,%5Cn%20%20textarea%20%7B%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus-visible,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20&:invalid%20%7B%5Cn%20%20%20%20%20%20%20%20@include%20invalid;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.setting-component-wrapper%20%7B%5Cn%20%20%20%20position:%20relative;%5Cn%20%20%20%20display:%20inline-flex;%5Cn%20%20%7D%5Cn%5Cn%20%20&.overlay-validator%20%7B%5Cn%20%20%20%20caret-color:%20transparent;%5Cn%20%20%20%20cursor:%20default;%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20background-color:%20transparent;%5Cn%20%20%20%20border:%20none;%5Cn%20%20%20%20outline:%20none;%5Cn%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20z-index:%209999;%5Cn%20%20%20%20left:%200;%5Cn%20%20%20%20top:%200;%5Cn%20%20%20%20width:%20100%25;%5Cn%20%20%20%20height:%20100%25;%5Cn%20%20%7D%5Cn%5Cn%20%20&.tooltip.tooltip-validator%20%7B%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20top:%20calc(100%25%20+%208px);%5Cn%20%20%20%20width:%20max-content;%5Cn%20%20%7D%5Cn%7D%5Cn%22%5D%7D */\n";
|
|
26
26
|
export {
|
|
27
27
|
LIBRARY_STYLES,
|
|
@@ -30,9 +30,10 @@ export interface RetryWithTimeoutNoticeParams {
|
|
|
30
30
|
*/
|
|
31
31
|
readonly operationName?: string;
|
|
32
32
|
/**
|
|
33
|
-
* Plugin notice component to show
|
|
33
|
+
* Plugin notice component used to show the timeout notice. When `null` (or `shouldShowTimeoutNotice`
|
|
34
|
+
* is `false`), no notice is shown and the timeout is only logged.
|
|
34
35
|
*/
|
|
35
|
-
readonly pluginNoticeComponent: PluginNoticeComponent;
|
|
36
|
+
readonly pluginNoticeComponent: null | PluginNoticeComponent;
|
|
36
37
|
/**
|
|
37
38
|
* The retry options.
|
|
38
39
|
*/
|
|
@@ -76,9 +77,10 @@ export interface RunWithTimeoutNoticeParams<Result> {
|
|
|
76
77
|
*/
|
|
77
78
|
readonly operationName?: string;
|
|
78
79
|
/**
|
|
79
|
-
* Plugin notice component to show
|
|
80
|
+
* Plugin notice component used to show the timeout notice. When `null` (or `shouldShowTimeoutNotice`
|
|
81
|
+
* is `false`), no notice is shown and the timeout is only logged.
|
|
80
82
|
*/
|
|
81
|
-
readonly pluginNoticeComponent: PluginNoticeComponent;
|
|
83
|
+
readonly pluginNoticeComponent: null | PluginNoticeComponent;
|
|
82
84
|
/**
|
|
83
85
|
* Whether to show a timeout notice.
|
|
84
86
|
*
|
|
@@ -32,17 +32,13 @@ import { t } from "./i18n/i18n.mjs";
|
|
|
32
32
|
async function retryWithTimeoutNotice(params) {
|
|
33
33
|
return retryWithTimeout({
|
|
34
34
|
...params,
|
|
35
|
-
onTimeout: params.shouldShowTimeoutNotice
|
|
36
|
-
onTimeoutNotice(ctx, params.pluginNoticeComponent, params.content);
|
|
37
|
-
} : onTimeoutWithoutNotice
|
|
35
|
+
onTimeout: resolveOnTimeout(params.shouldShowTimeoutNotice, params.pluginNoticeComponent, params.content)
|
|
38
36
|
});
|
|
39
37
|
}
|
|
40
38
|
async function runWithTimeoutNotice(params) {
|
|
41
39
|
return runWithTimeout({
|
|
42
40
|
...params,
|
|
43
|
-
onTimeout: params.shouldShowTimeoutNotice
|
|
44
|
-
onTimeoutNotice(ctx, params.pluginNoticeComponent, params.content);
|
|
45
|
-
} : onTimeoutWithoutNotice
|
|
41
|
+
onTimeout: resolveOnTimeout(params.shouldShowTimeoutNotice, params.pluginNoticeComponent, params.content)
|
|
46
42
|
});
|
|
47
43
|
}
|
|
48
44
|
function onTimeoutNotice(ctx, pluginNoticeComponent, content) {
|
|
@@ -100,6 +96,14 @@ function onTimeoutWithoutNotice(ctx) {
|
|
|
100
96
|
});
|
|
101
97
|
});
|
|
102
98
|
}
|
|
99
|
+
function resolveOnTimeout(shouldShowTimeoutNotice, pluginNoticeComponent, content) {
|
|
100
|
+
if (!(shouldShowTimeoutNotice ?? true) || pluginNoticeComponent === null) {
|
|
101
|
+
return onTimeoutWithoutNotice;
|
|
102
|
+
}
|
|
103
|
+
return (ctx) => {
|
|
104
|
+
onTimeoutNotice(ctx, pluginNoticeComponent, content);
|
|
105
|
+
};
|
|
106
|
+
}
|
|
103
107
|
function showCustomContentNotice(ctx, pluginNoticeComponent, content) {
|
|
104
108
|
let isOperationCompleted = false;
|
|
105
109
|
let notice = null;
|
|
@@ -119,4 +123,4 @@ export {
|
|
|
119
123
|
retryWithTimeoutNotice,
|
|
120
124
|
runWithTimeoutNotice
|
|
121
125
|
};
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2FzeW5jLXdpdGgtbm90aWNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvdmlkZXMgYSB1dGlsaXR5IHRvIGV4ZWN1dGUgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHdpdGggYSBub3RpY2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBOb3RpY2UgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIFJldHJ5T3B0aW9ucyxcbiAgVGltZW91dENvbnRleHRcbn0gZnJvbSAnLi4vYXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnLi4vdmFsdWUtcHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5Ob3RpY2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuXG5pbXBvcnQge1xuICBpbnZva2VBc3luY1NhZmVseSxcbiAgcmV0cnlXaXRoVGltZW91dCxcbiAgcnVuV2l0aFRpbWVvdXRcbn0gZnJvbSAnLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0RGVidWdnZXIgfSBmcm9tICcuLi9kZWJ1Zy50cyc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi92YWx1ZS1wcm92aWRlci50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZXRyeVdpdGhUaW1lb3V0Tm90aWNlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeVdpdGhUaW1lb3V0Tm90aWNlUGFyYW1zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBjb250ZW50IHRvIHNob3cgaW4gdGhlIG5vdGljZSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IHRpbWVkLW91dCBtZXNzYWdlLiBSZXNvbHZlZCBvbmx5IGlmXG4gICAqIHRoZSBvcGVyYXRpb24gZXhjZWVkcyB0aGUgdGltZW91dCwgc2hvd24gYXMgYSBwZXJtYW5lbnQgbm90aWNlLCBhbmQgaGlkZGVuIHdoZW4gdGhlIG9wZXJhdGlvblxuICAgKiBjb21wbGV0ZXMuXG4gICAqL1xuICByZWFkb25seSBjb250ZW50PzogVmFsdWVQcm92aWRlcjxEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiBmdW5jdGlvbiB0byBleGVjdXRlLlxuICAgKlxuICAgKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGxpc3RlbiB0by5cbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gICAqL1xuICBvcGVyYXRpb25Gbih0aGlzOiB2b2lkLCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgb3BlcmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUGx1Z2luIG5vdGljZSBjb21wb25lbnQgdG8gc2hvdyBub3RpY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSByZXRyeSBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgcmV0cnlPcHRpb25zPzogUmV0cnlPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSB0aW1lb3V0IG5vdGljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRTaG93VGltZW91dE5vdGljZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFjayB0cmFjZSBvZiB0aGUgc291cmNlIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tUcmFjZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcnVuV2l0aFRpbWVvdXR9LlxuICpcbiAqIEB0eXBlUGFyYW0gUmVzdWx0IC0gVGhlIHR5cGUgb2YgdGhlIHJlc3VsdCBmcm9tIHRoZSBvcGVyYXRpb24gZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVuV2l0aFRpbWVvdXROb3RpY2VQYXJhbXM8UmVzdWx0PiB7XG4gIC8qKlxuICAgKiBDdXN0b20gY29udGVudCB0byBzaG93IGluIHRoZSBub3RpY2UgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCB0aW1lZC1vdXQgbWVzc2FnZS4gUmVzb2x2ZWQgb25seSBpZlxuICAgKiB0aGUgb3BlcmF0aW9uIGV4Y2VlZHMge0BsaW5rIFJ1bldpdGhUaW1lb3V0Tm90aWNlUGFyYW1zLnRpbWVvdXRJbk1pbGxpc2Vjb25kc30sIHNob3duIGFzIGFcbiAgICogcGVybWFuZW50IG5vdGljZSwgYW5kIGhpZGRlbiB3aGVuIHRoZSBvcGVyYXRpb24gY29tcGxldGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudD86IFZhbHVlUHJvdmlkZXI8RG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZXh0IG9mIHRoZSBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ/OiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW9uIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuXG4gICAqXG4gICAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gbGlzdGVuIHRvLlxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAgICovXG4gIG9wZXJhdGlvbkZuKGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2FibGU8UmVzdWx0PjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG9wZXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBsdWdpbiBub3RpY2UgY29tcG9uZW50IHRvIHNob3cgbm90aWNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbk5vdGljZUNvbXBvbmVudDogUGx1Z2luTm90aWNlQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSB0aW1lb3V0IG5vdGljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRTaG93VGltZW91dE5vdGljZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFjayB0cmFjZSBvZiB0aGUgc291cmNlIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tUcmFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSB0byB3YWl0IGluIG1pbGxpc2Vjb25kcy5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJldHJpZXMgdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIHVudGlsIGl0IHJldHVybnMgYHRydWVgIG9yIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQgYW5kIGRpc3BsYXlzIGEgbm90aWNlIGlmIHRoZSBmdW5jdGlvbiB0aW1lcyBvdXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIHJldHVybnMgYHRydWVgIG9yIHJlamVjdHMgd2hlbiB0aGUgdGltZW91dCBpcyByZWFjaGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV0cnlXaXRoVGltZW91dE5vdGljZShwYXJhbXM6IFJldHJ5V2l0aFRpbWVvdXROb3RpY2VQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIHJldHJ5V2l0aFRpbWVvdXQoe1xuICAgIC4uLnBhcmFtcyxcbiAgICBvblRpbWVvdXQ6IHBhcmFtcy5zaG91bGRTaG93VGltZW91dE5vdGljZSA/PyB0cnVlXG4gICAgICA/IChjdHgpOiB2b2lkID0+IHtcbiAgICAgICAgb25UaW1lb3V0Tm90aWNlKGN0eCwgcGFyYW1zLnBsdWdpbk5vdGljZUNvbXBvbmVudCwgcGFyYW1zLmNvbnRlbnQpO1xuICAgICAgfVxuICAgICAgOiBvblRpbWVvdXRXaXRob3V0Tm90aWNlXG4gIH0pO1xufVxuXG4vKipcbiAqIEV4ZWN1dGVzIGEgZnVuY3Rpb24gd2l0aCBhIHRpbWVvdXQgYW5kIGRpc3BsYXlzIGEgbm90aWNlIGlmIHRoZSBmdW5jdGlvbiB0aW1lcyBvdXQuXG4gKlxuICogQHR5cGVQYXJhbSBSZXN1bHQgLSBUaGUgdHlwZSBvZiB0aGUgcmVzdWx0IGZyb20gdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbi5cbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5XaXRoVGltZW91dE5vdGljZTxSZXN1bHQ+KHBhcmFtczogUnVuV2l0aFRpbWVvdXROb3RpY2VQYXJhbXM8UmVzdWx0Pik6IFByb21pc2U8UmVzdWx0PiB7XG4gIHJldHVybiBydW5XaXRoVGltZW91dCh7XG4gICAgLi4ucGFyYW1zLFxuICAgIG9uVGltZW91dDogcGFyYW1zLnNob3VsZFNob3dUaW1lb3V0Tm90aWNlID8/IHRydWVcbiAgICAgID8gKGN0eCk6IHZvaWQgPT4ge1xuICAgICAgICBvblRpbWVvdXROb3RpY2UoY3R4LCBwYXJhbXMucGx1Z2luTm90aWNlQ29tcG9uZW50LCBwYXJhbXMuY29udGVudCk7XG4gICAgICB9XG4gICAgICA6IG9uVGltZW91dFdpdGhvdXROb3RpY2VcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG9uVGltZW91dE5vdGljZShjdHg6IFRpbWVvdXRDb250ZXh0LCBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudCwgY29udGVudD86IFZhbHVlUHJvdmlkZXI8RG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZz4pOiB2b2lkIHtcbiAgaWYgKGNvbnRlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHNob3dDdXN0b21Db250ZW50Tm90aWNlKGN0eCwgcGx1Z2luTm90aWNlQ29tcG9uZW50LCBjb250ZW50KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzdGFydFRpbWUgPSBNYXRoLnRydW5jKHBlcmZvcm1hbmNlLm5vdygpIC0gY3R4LmR1cmF0aW9uKTtcbiAgbGV0IHJ1bm5pbmdUaW1lRWw6IEhUTUxTcGFuRWxlbWVudDtcbiAgY29uc3QgU0VDT05EX0lOX01JTExJU0VDT05EUyA9IDEwMDA7XG4gIGNvbnN0IGNsZWFudXAgPSB7IGludGVydmFsSWQ6IDAgfTtcblxuICBjb25zdCBub3RpY2UgPSBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZShjcmVhdGVGcmFnbWVudCgoZikgPT4ge1xuICAgIGlmIChjdHgub3BlcmF0aW9uTmFtZSkge1xuICAgICAgZi5hcHBlbmRUZXh0KHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5hc3luY1dpdGhOb3RpY2Uub3BlcmF0aW9uKSk7XG4gICAgICBmLmFwcGVuZFRleHQoJzogJyk7XG4gICAgICBmLmFwcGVuZFRleHQoY3R4Lm9wZXJhdGlvbk5hbWUpO1xuICAgICAgZi5jcmVhdGVFbCgnYnInKTtcbiAgICB9XG4gICAgZi5hcHBlbmRUZXh0KHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5hc3luY1dpdGhOb3RpY2UudGltZWRPdXQsIHsgZHVyYXRpb246IGN0eC5kdXJhdGlvbiB9KSk7XG4gICAgZi5jcmVhdGVFbCgnYnInKTtcbiAgICBmLmFwcGVuZFRleHQodCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmFzeW5jV2l0aE5vdGljZS5ydW5uaW5nRm9yKSk7XG4gICAgZi5hcHBlbmRUZXh0KCcgJyk7XG4gICAgcnVubmluZ1RpbWVFbCA9IGYuY3JlYXRlU3BhbigpO1xuICAgIGYuYXBwZW5kVGV4dCgnICcpO1xuICAgIGYuYXBwZW5kVGV4dCh0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYXN5bmNXaXRoTm90aWNlLm1pbGxpc2Vjb25kcykpO1xuICAgIGYuY3JlYXRlRWwoJ2JyJyk7XG4gICAgZi5hcHBlbmRUZXh0KHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5hc3luY1dpdGhOb3RpY2UudGVybWluYXRlT3BlcmF0aW9uKSk7XG4gICAgZi5jcmVhdGVFbCgnYnInKTtcbiAgICBjb25zdCBidXR0b24gPSBmLmNyZWF0ZUVsKCdidXR0b24nLCB7XG4gICAgICB0ZXh0OiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5jYW5jZWwpXG4gICAgfSk7XG4gICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgY3R4LnRlcm1pbmF0ZU9wZXJhdGlvbigpO1xuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoY2xlYW51cC5pbnRlcnZhbElkKTtcbiAgICAgIG5vdGljZS5oaWRlKCk7XG4gICAgfSk7XG4gIH0pKTtcblxuICB1cGRhdGVSdW5uaW5nVGltZSgpO1xuICBjbGVhbnVwLmludGVydmFsSWQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwodXBkYXRlUnVubmluZ1RpbWUsIFNFQ09ORF9JTl9NSUxMSVNFQ09ORFMpO1xuXG4gIGN0eC5vbk9wZXJhdGlvbkNvbXBsZXRlZCgoKSA9PiB7XG4gICAgd2luZG93LmNsZWFySW50ZXJ2YWwoY2xlYW51cC5pbnRlcnZhbElkKTtcbiAgICBub3RpY2UuaGlkZSgpO1xuICB9KTtcblxuICBmdW5jdGlvbiB1cGRhdGVSdW5uaW5nVGltZSgpOiB2b2lkIHtcbiAgICBjb25zdCBydW5uaW5nVGltZUluTWlsbGlzZWNvbmRzID0gTWF0aC5tYXgoY3R4LmR1cmF0aW9uLCBNYXRoLnJvdW5kKChwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZSkgLyBTRUNPTkRfSU5fTUlMTElTRUNPTkRTKSAqIFNFQ09ORF9JTl9NSUxMSVNFQ09ORFMpO1xuICAgIHJ1bm5pbmdUaW1lRWwudGV4dENvbnRlbnQgPSBTdHJpbmcocnVubmluZ1RpbWVJbk1pbGxpc2Vjb25kcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gb25UaW1lb3V0V2l0aG91dE5vdGljZShjdHg6IFRpbWVvdXRDb250ZXh0KTogdm9pZCB7XG4gIGNvbnN0IHN0YXJ0VGltZSA9IE1hdGgudHJ1bmMocGVyZm9ybWFuY2Uubm93KCkgLSBjdHguZHVyYXRpb24pO1xuXG4gIGN0eC5vbk9wZXJhdGlvbkNvbXBsZXRlZCgoKSA9PiB7XG4gICAgZ2V0RGVidWdnZXIoJ0FzeW5jV2l0aE5vdGljZTpvblRpbWVvdXRXaXRob3V0Tm90aWNlJykoJ09wZXJhdGlvbiBjb21wbGV0ZWQgYWZ0ZXIgdGltZW91dCcsIHtcbiAgICAgIG9wZXJhdGlvbk5hbWU6IGN0eC5vcGVyYXRpb25OYW1lLFxuICAgICAgdG90YWxEdXJhdGlvbjogTWF0aC50cnVuYyhwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZSlcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNob3dDdXN0b21Db250ZW50Tm90aWNlKGN0eDogVGltZW91dENvbnRleHQsIHBsdWdpbk5vdGljZUNvbXBvbmVudDogUGx1Z2luTm90aWNlQ29tcG9uZW50LCBjb250ZW50OiBWYWx1ZVByb3ZpZGVyPERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc+KTogdm9pZCB7XG4gIGxldCBpc09wZXJhdGlvbkNvbXBsZXRlZCA9IGZhbHNlO1xuICBsZXQgbm90aWNlOiBOb3RpY2UgfCBudWxsID0gbnVsbDtcblxuICBjdHgub25PcGVyYXRpb25Db21wbGV0ZWQoKCkgPT4ge1xuICAgIGlzT3BlcmF0aW9uQ29tcGxldGVkID0gdHJ1ZTtcbiAgICBub3RpY2U/LmhpZGUoKTtcbiAgfSk7XG5cbiAgaW52b2tlQXN5bmNTYWZlbHkoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHJlc29sdmVkQ29udGVudCA9IGF3YWl0IHJlc29sdmVWYWx1ZShjb250ZW50LCB7fSk7XG4gICAgLy8gVGhlIG9wZXJhdGlvbiBtYXkgaGF2ZSBjb21wbGV0ZWQgd2hpbGUgdGhlIGNvbnRlbnQgd2FzIHJlc29sdmluZzsgaWYgc28sIGRvIG5vdCBzaG93IGEgc3RhbGUgbm90aWNlLlxuICAgIGlmIChpc09wZXJhdGlvbkNvbXBsZXRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBub3RpY2UgPSBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZShyZXNvbHZlZENvbnRlbnQsIHsgaXNQZXJtYW5lbnQ6IHRydWUgfSk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyxTQUFTO0FBNkdsQixlQUFzQix1QkFBdUIsUUFBcUQ7QUFDaEcsU0FBTyxpQkFBaUI7QUFBQSxJQUN0QixHQUFHO0FBQUEsSUFDSCxXQUFXLE9BQU8sMkJBQTJCLE9BQ3pDLENBQUMsUUFBYztBQUNmLHNCQUFnQixLQUFLLE9BQU8sdUJBQXVCLE9BQU8sT0FBTztBQUFBLElBQ25FLElBQ0U7QUFBQSxFQUNOLENBQUM7QUFDSDtBQVNBLGVBQXNCLHFCQUE2QixRQUE2RDtBQUM5RyxTQUFPLGVBQWU7QUFBQSxJQUNwQixHQUFHO0FBQUEsSUFDSCxXQUFXLE9BQU8sMkJB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
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2FzeW5jLXdpdGgtbm90aWNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvdmlkZXMgYSB1dGlsaXR5IHRvIGV4ZWN1dGUgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHdpdGggYSBub3RpY2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBOb3RpY2UgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIFJldHJ5T3B0aW9ucyxcbiAgVGltZW91dENvbnRleHRcbn0gZnJvbSAnLi4vYXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnLi4vdmFsdWUtcHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5Ob3RpY2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuXG5pbXBvcnQge1xuICBpbnZva2VBc3luY1NhZmVseSxcbiAgcmV0cnlXaXRoVGltZW91dCxcbiAgcnVuV2l0aFRpbWVvdXRcbn0gZnJvbSAnLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0RGVidWdnZXIgfSBmcm9tICcuLi9kZWJ1Zy50cyc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi92YWx1ZS1wcm92aWRlci50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZXRyeVdpdGhUaW1lb3V0Tm90aWNlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeVdpdGhUaW1lb3V0Tm90aWNlUGFyYW1zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBjb250ZW50IHRvIHNob3cgaW4gdGhlIG5vdGljZSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IHRpbWVkLW91dCBtZXNzYWdlLiBSZXNvbHZlZCBvbmx5IGlmXG4gICAqIHRoZSBvcGVyYXRpb24gZXhjZWVkcyB0aGUgdGltZW91dCwgc2hvd24gYXMgYSBwZXJtYW5lbnQgbm90aWNlLCBhbmQgaGlkZGVuIHdoZW4gdGhlIG9wZXJhdGlvblxuICAgKiBjb21wbGV0ZXMuXG4gICAqL1xuICByZWFkb25seSBjb250ZW50PzogVmFsdWVQcm92aWRlcjxEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiBmdW5jdGlvbiB0byBleGVjdXRlLlxuICAgKlxuICAgKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGxpc3RlbiB0by5cbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gICAqL1xuICBvcGVyYXRpb25Gbih0aGlzOiB2b2lkLCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgb3BlcmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUGx1Z2luIG5vdGljZSBjb21wb25lbnQgdXNlZCB0byBzaG93IHRoZSB0aW1lb3V0IG5vdGljZS4gV2hlbiBgbnVsbGAgKG9yIGBzaG91bGRTaG93VGltZW91dE5vdGljZWBcbiAgICogaXMgYGZhbHNlYCksIG5vIG5vdGljZSBpcyBzaG93biBhbmQgdGhlIHRpbWVvdXQgaXMgb25seSBsb2dnZWQuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IG51bGwgfCBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSByZXRyeSBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgcmV0cnlPcHRpb25zPzogUmV0cnlPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSB0aW1lb3V0IG5vdGljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRTaG93VGltZW91dE5vdGljZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFjayB0cmFjZSBvZiB0aGUgc291cmNlIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tUcmFjZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcnVuV2l0aFRpbWVvdXR9LlxuICpcbiAqIEB0eXBlUGFyYW0gUmVzdWx0IC0gVGhlIHR5cGUgb2YgdGhlIHJlc3VsdCBmcm9tIHRoZSBvcGVyYXRpb24gZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVuV2l0aFRpbWVvdXROb3RpY2VQYXJhbXM8UmVzdWx0PiB7XG4gIC8qKlxuICAgKiBDdXN0b20gY29udGVudCB0byBzaG93IGluIHRoZSBub3RpY2UgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCB0aW1lZC1vdXQgbWVzc2FnZS4gUmVzb2x2ZWQgb25seSBpZlxuICAgKiB0aGUgb3BlcmF0aW9uIGV4Y2VlZHMge0BsaW5rIFJ1bldpdGhUaW1lb3V0Tm90aWNlUGFyYW1zLnRpbWVvdXRJbk1pbGxpc2Vjb25kc30sIHNob3duIGFzIGFcbiAgICogcGVybWFuZW50IG5vdGljZSwgYW5kIGhpZGRlbiB3aGVuIHRoZSBvcGVyYXRpb24gY29tcGxldGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudD86IFZhbHVlUHJvdmlkZXI8RG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZXh0IG9mIHRoZSBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ/OiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW9uIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuXG4gICAqXG4gICAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gbGlzdGVuIHRvLlxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAgICovXG4gIG9wZXJhdGlvbkZuKGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2FibGU8UmVzdWx0PjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG9wZXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBsdWdpbiBub3RpY2UgY29tcG9uZW50IHVzZWQgdG8gc2hvdyB0aGUgdGltZW91dCBub3RpY2UuIFdoZW4gYG51bGxgIChvciBgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2VgXG4gICAqIGlzIGBmYWxzZWApLCBubyBub3RpY2UgaXMgc2hvd24gYW5kIHRoZSB0aW1lb3V0IGlzIG9ubHkgbG9nZ2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBudWxsIHwgUGx1Z2luTm90aWNlQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSB0aW1lb3V0IG5vdGljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRTaG93VGltZW91dE5vdGljZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFjayB0cmFjZSBvZiB0aGUgc291cmNlIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tUcmFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSB0byB3YWl0IGluIG1pbGxpc2Vjb25kcy5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJldHJpZXMgdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIHVudGlsIGl0IHJldHVybnMgYHRydWVgIG9yIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQgYW5kIGRpc3BsYXlzIGEgbm90aWNlIGlmIHRoZSBmdW5jdGlvbiB0aW1lcyBvdXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIHJldHVybnMgYHRydWVgIG9yIHJlamVjdHMgd2hlbiB0aGUgdGltZW91dCBpcyByZWFjaGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV0cnlXaXRoVGltZW91dE5vdGljZShwYXJhbXM6IFJldHJ5V2l0aFRpbWVvdXROb3RpY2VQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIHJldHJ5V2l0aFRpbWVvdXQoe1xuICAgIC4uLnBhcmFtcyxcbiAgICBvblRpbWVvdXQ6IHJlc29sdmVPblRpbWVvdXQocGFyYW1zLnNob3VsZFNob3dUaW1lb3V0Tm90aWNlLCBwYXJhbXMucGx1Z2luTm90aWNlQ29tcG9uZW50LCBwYXJhbXMuY29udGVudClcbiAgfSk7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aXRoIGEgdGltZW91dCBhbmQgZGlzcGxheXMgYSBub3RpY2UgaWYgdGhlIGZ1bmN0aW9uIHRpbWVzIG91dC5cbiAqXG4gKiBAdHlwZVBhcmFtIFJlc3VsdCAtIFRoZSB0eXBlIG9mIHRoZSByZXN1bHQgZnJvbSB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bldpdGhUaW1lb3V0Tm90aWNlPFJlc3VsdD4ocGFyYW1zOiBSdW5XaXRoVGltZW91dE5vdGljZVBhcmFtczxSZXN1bHQ+KTogUHJvbWlzZTxSZXN1bHQ+IHtcbiAgcmV0dXJuIHJ1bldpdGhUaW1lb3V0KHtcbiAgICAuLi5wYXJhbXMsXG4gICAgb25UaW1lb3V0OiByZXNvbHZlT25UaW1lb3V0KHBhcmFtcy5zaG91bGRTaG93VGltZW91dE5vdGljZSwgcGFyYW1zLnBsdWdpbk5vdGljZUNvbXBvbmVudCwgcGFyYW1zLmNvbnRlbnQpXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBvblRpbWVvdXROb3RpY2UoY3R4OiBUaW1lb3V0Q29udGV4dCwgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQsIGNvbnRlbnQ/OiBWYWx1ZVByb3ZpZGVyPERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc+KTogdm9pZCB7XG4gIGlmIChjb250ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzaG93Q3VzdG9tQ29udGVudE5vdGljZShjdHgsIHBsdWdpbk5vdGljZUNvbXBvbmVudCwgY29udGVudCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRUaW1lID0gTWF0aC50cnVuYyhwZXJmb3JtYW5jZS5ub3coKSAtIGN0eC5kdXJhdGlvbik7XG4gIGxldCBydW5uaW5nVGltZUVsOiBIVE1MU3BhbkVsZW1lbnQ7XG4gIGNvbnN0IFNFQ09ORF9JTl9NSUxMSVNFQ09ORFMgPSAxMDAwO1xuICBjb25zdCBjbGVhbnVwID0geyBpbnRlcnZhbElkOiAwIH07XG5cbiAgY29uc3Qgbm90aWNlID0gcGx1Z2luTm90aWNlQ29tcG9uZW50LnNob3dOb3RpY2UoY3JlYXRlRnJhZ21lbnQoKGYpID0+IHtcbiAgICBpZiAoY3R4Lm9wZXJhdGlvbk5hbWUpIHtcbiAgICAgIGYuYXBwZW5kVGV4dCh0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYXN5bmNXaXRoTm90aWNlLm9wZXJhdGlvbikpO1xuICAgICAgZi5hcHBlbmRUZXh0KCc6ICcpO1xuICAgICAgZi5hcHBlbmRUZXh0KGN0eC5vcGVyYXRpb25OYW1lKTtcbiAgICAgIGYuY3JlYXRlRWwoJ2JyJyk7XG4gICAgfVxuICAgIGYuYXBwZW5kVGV4dCh0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYXN5bmNXaXRoTm90aWNlLnRpbWVkT3V0LCB7IGR1cmF0aW9uOiBjdHguZHVyYXRpb24gfSkpO1xuICAgIGYuY3JlYXRlRWwoJ2JyJyk7XG4gICAgZi5hcHBlbmRUZXh0KHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5hc3luY1dpdGhOb3RpY2UucnVubmluZ0ZvcikpO1xuICAgIGYuYXBwZW5kVGV4dCgnICcpO1xuICAgIHJ1bm5pbmdUaW1lRWwgPSBmLmNyZWF0ZVNwYW4oKTtcbiAgICBmLmFwcGVuZFRleHQoJyAnKTtcbiAgICBmLmFwcGVuZFRleHQodCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmFzeW5jV2l0aE5vdGljZS5taWxsaXNlY29uZHMpKTtcbiAgICBmLmNyZWF0ZUVsKCdicicpO1xuICAgIGYuYXBwZW5kVGV4dCh0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYXN5bmNXaXRoTm90aWNlLnRlcm1pbmF0ZU9wZXJhdGlvbikpO1xuICAgIGYuY3JlYXRlRWwoJ2JyJyk7XG4gICAgY29uc3QgYnV0dG9uID0gZi5jcmVhdGVFbCgnYnV0dG9uJywge1xuICAgICAgdGV4dDogdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMuY2FuY2VsKVxuICAgIH0pO1xuICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgIGN0eC50ZXJtaW5hdGVPcGVyYXRpb24oKTtcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKGNsZWFudXAuaW50ZXJ2YWxJZCk7XG4gICAgICBub3RpY2UuaGlkZSgpO1xuICAgIH0pO1xuICB9KSk7XG5cbiAgdXBkYXRlUnVubmluZ1RpbWUoKTtcbiAgY2xlYW51cC5pbnRlcnZhbElkID0gd2luZG93LnNldEludGVydmFsKHVwZGF0ZVJ1bm5pbmdUaW1lLCBTRUNPTkRfSU5fTUlMTElTRUNPTkRTKTtcblxuICBjdHgub25PcGVyYXRpb25Db21wbGV0ZWQoKCkgPT4ge1xuICAgIHdpbmRvdy5jbGVhckludGVydmFsKGNsZWFudXAuaW50ZXJ2YWxJZCk7XG4gICAgbm90aWNlLmhpZGUoKTtcbiAgfSk7XG5cbiAgZnVuY3Rpb24gdXBkYXRlUnVubmluZ1RpbWUoKTogdm9pZCB7XG4gICAgY29uc3QgcnVubmluZ1RpbWVJbk1pbGxpc2Vjb25kcyA9IE1hdGgubWF4KGN0eC5kdXJhdGlvbiwgTWF0aC5yb3VuZCgocGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWUpIC8gU0VDT05EX0lOX01JTExJU0VDT05EUykgKiBTRUNPTkRfSU5fTUlMTElTRUNPTkRTKTtcbiAgICBydW5uaW5nVGltZUVsLnRleHRDb250ZW50ID0gU3RyaW5nKHJ1bm5pbmdUaW1lSW5NaWxsaXNlY29uZHMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG9uVGltZW91dFdpdGhvdXROb3RpY2UoY3R4OiBUaW1lb3V0Q29udGV4dCk6IHZvaWQge1xuICBjb25zdCBzdGFydFRpbWUgPSBNYXRoLnRydW5jKHBlcmZvcm1hbmNlLm5vdygpIC0gY3R4LmR1cmF0aW9uKTtcblxuICBjdHgub25PcGVyYXRpb25Db21wbGV0ZWQoKCkgPT4ge1xuICAgIGdldERlYnVnZ2VyKCdBc3luY1dpdGhOb3RpY2U6b25UaW1lb3V0V2l0aG91dE5vdGljZScpKCdPcGVyYXRpb24gY29tcGxldGVkIGFmdGVyIHRpbWVvdXQnLCB7XG4gICAgICBvcGVyYXRpb25OYW1lOiBjdHgub3BlcmF0aW9uTmFtZSxcbiAgICAgIHRvdGFsRHVyYXRpb246IE1hdGgudHJ1bmMocGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWUpXG4gICAgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFNlbGVjdHMgdGhlIHRpbWVvdXQgaGFuZGxlciBmb3Ige0BsaW5rIHJldHJ5V2l0aFRpbWVvdXROb3RpY2V9IC8ge0BsaW5rIHJ1bldpdGhUaW1lb3V0Tm90aWNlfS4gQSBub3RpY2VcbiAqIGlzIHNob3duIG9ubHkgd2hlbiBub3RpY2VzIGFyZSBlbmFibGVkIEFORCBhIHJlYWwge0BsaW5rIFBsdWdpbk5vdGljZUNvbXBvbmVudH0gaXMgc3VwcGxpZWQ7IG90aGVyd2lzZVxuICogdGhlIHRpbWVvdXQgaXMgc2lsZW50bHkgbG9nZ2VkLlxuICpcbiAqIEBwYXJhbSBzaG91bGRTaG93VGltZW91dE5vdGljZSAtIFdoZXRoZXIgYSB0aW1lb3V0IG5vdGljZSBpcyByZXF1ZXN0ZWQgKGRlZmF1bHRzIHRvIGB0cnVlYCkuXG4gKiBAcGFyYW0gcGx1Z2luTm90aWNlQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB1c2VkIHRvIHNob3cgdGhlIG5vdGljZSwgaWYgYW55LlxuICogQHBhcmFtIGNvbnRlbnQgLSBPcHRpb25hbCBjdXN0b20gY29udGVudCBmb3IgdGhlIG5vdGljZS5cbiAqIEByZXR1cm5zIFRoZSB0aW1lb3V0IGhhbmRsZXIgdG8gcGFzcyB0byB0aGUgdW5kZXJseWluZyByZXRyeS9ydW4gaGVscGVyLlxuICovXG5mdW5jdGlvbiByZXNvbHZlT25UaW1lb3V0KFxuICBzaG91bGRTaG93VGltZW91dE5vdGljZTogYm9vbGVhbiB8IHVuZGVmaW5lZCxcbiAgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBudWxsIHwgUGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICBjb250ZW50PzogVmFsdWVQcm92aWRlcjxEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nPlxuKTogKGN0eDogVGltZW91dENvbnRleHQpID0+IHZvaWQge1xuICBpZiAoIShzaG91bGRTaG93VGltZW91dE5vdGljZSA/PyB0cnVlKSB8fCBwbHVnaW5Ob3RpY2VDb21wb25lbnQgPT09IG51bGwpIHtcbiAgICByZXR1cm4gb25UaW1lb3V0V2l0aG91dE5vdGljZTtcbiAgfVxuXG4gIHJldHVybiAoY3R4KTogdm9pZCA9PiB7XG4gICAgb25UaW1lb3V0Tm90aWNlKGN0eCwgcGx1Z2luTm90aWNlQ29tcG9uZW50LCBjb250ZW50KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gc2hvd0N1c3RvbUNvbnRlbnROb3RpY2UoY3R4OiBUaW1lb3V0Q29udGV4dCwgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQsIGNvbnRlbnQ6IFZhbHVlUHJvdmlkZXI8RG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZz4pOiB2b2lkIHtcbiAgbGV0IGlzT3BlcmF0aW9uQ29tcGxldGVkID0gZmFsc2U7XG4gIGxldCBub3RpY2U6IE5vdGljZSB8IG51bGwgPSBudWxsO1xuXG4gIGN0eC5vbk9wZXJhdGlvbkNvbXBsZXRlZCgoKSA9PiB7XG4gICAgaXNPcGVyYXRpb25Db21wbGV0ZWQgPSB0cnVlO1xuICAgIG5vdGljZT8uaGlkZSgpO1xuICB9KTtcblxuICBpbnZva2VBc3luY1NhZmVseShhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZWRDb250ZW50ID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNvbnRlbnQsIHt9KTtcbiAgICAvLyBUaGUgb3BlcmF0aW9uIG1heSBoYXZlIGNvbXBsZXRlZCB3aGlsZSB0aGUgY29udGVudCB3YXMgcmVzb2x2aW5nOyBpZiBzbywgZG8gbm90IHNob3cgYSBzdGFsZSBub3RpY2UuXG4gICAgaWYgKGlzT3BlcmF0aW9uQ29tcGxldGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIG5vdGljZSA9IHBsdWdpbk5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKHJlc29sdmVkQ29udGVudCwgeyBpc1Blcm1hbmVudDogdHJ1ZSB9KTtcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLG9CQUFvQjtBQUM3QixTQUFTLFNBQVM7QUErR2xCLGVBQXNCLHVCQUF1QixRQUFxRDtBQUNoRyxTQUFPLGlC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
|
|
@@ -83,6 +83,29 @@ export declare class ComponentEx extends Component implements Disposable {
|
|
|
83
83
|
* @throws An {@link Error} if the component is not loaded.
|
|
84
84
|
*/
|
|
85
85
|
protected ensureLoaded(): void;
|
|
86
|
+
/**
|
|
87
|
+
* Returns the component's in-flight load {@link Promise} (its {@link onloadAsync} plus children), or `null` when
|
|
88
|
+
* nothing is loading — either the component loaded fully synchronously or its async load has already settled.
|
|
89
|
+
*
|
|
90
|
+
* Lets a caller scheduled while the component is still loading await the async load tail before acting, instead of
|
|
91
|
+
* racing it. The motivating case is a layout-ready handler (see `LayoutReadyComponent`) that fires because the
|
|
92
|
+
* component was loaded after the workspace layout was already ready: {@link Component.onload} has run (so `_loaded`
|
|
93
|
+
* is set) but {@link onloadAsync} may not have finished.
|
|
94
|
+
*
|
|
95
|
+
* @returns The in-flight load promise, or `null` if no load is in flight.
|
|
96
|
+
*/
|
|
97
|
+
protected getInFlightLoadPromise(): null | Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Returns whether the most recent load recorded any failure.
|
|
100
|
+
*
|
|
101
|
+
* Reflects the outcome of the last {@link load} / {@link loadWithPromises}: `true` when {@link onloadAsync} or any
|
|
102
|
+
* child's load threw (synchronously or asynchronously). Unlike {@link loadWithPromises}, reading this does NOT
|
|
103
|
+
* re-raise the collected errors — it lets a bystander (e.g. a layout-ready handler awaiting the in-flight load) tell
|
|
104
|
+
* whether the load succeeded without adopting a failure that the load's owner is already responsible for.
|
|
105
|
+
*
|
|
106
|
+
* @returns `true` if the last load recorded at least one error, otherwise `false`.
|
|
107
|
+
*/
|
|
108
|
+
protected hasLoadErrors(): boolean;
|
|
86
109
|
/**
|
|
87
110
|
* Sequences an already-started load step into the load promise.
|
|
88
111
|
*
|
|
@@ -157,6 +157,33 @@ class ComponentEx extends Component {
|
|
|
157
157
|
throw new Error("Component is not loaded");
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Returns the component's in-flight load {@link Promise} (its {@link onloadAsync} plus children), or `null` when
|
|
162
|
+
* nothing is loading — either the component loaded fully synchronously or its async load has already settled.
|
|
163
|
+
*
|
|
164
|
+
* Lets a caller scheduled while the component is still loading await the async load tail before acting, instead of
|
|
165
|
+
* racing it. The motivating case is a layout-ready handler (see `LayoutReadyComponent`) that fires because the
|
|
166
|
+
* component was loaded after the workspace layout was already ready: {@link Component.onload} has run (so `_loaded`
|
|
167
|
+
* is set) but {@link onloadAsync} may not have finished.
|
|
168
|
+
*
|
|
169
|
+
* @returns The in-flight load promise, or `null` if no load is in flight.
|
|
170
|
+
*/
|
|
171
|
+
getInFlightLoadPromise() {
|
|
172
|
+
return this.loadPromise;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Returns whether the most recent load recorded any failure.
|
|
176
|
+
*
|
|
177
|
+
* Reflects the outcome of the last {@link load} / {@link loadWithPromises}: `true` when {@link onloadAsync} or any
|
|
178
|
+
* child's load threw (synchronously or asynchronously). Unlike {@link loadWithPromises}, reading this does NOT
|
|
179
|
+
* re-raise the collected errors — it lets a bystander (e.g. a layout-ready handler awaiting the in-flight load) tell
|
|
180
|
+
* whether the load succeeded without adopting a failure that the load's owner is already responsible for.
|
|
181
|
+
*
|
|
182
|
+
* @returns `true` if the last load recorded at least one error, otherwise `false`.
|
|
183
|
+
*/
|
|
184
|
+
hasLoadErrors() {
|
|
185
|
+
return this.loadErrors.length > 0;
|
|
186
|
+
}
|
|
160
187
|
/**
|
|
161
188
|
* Sequences an already-started load step into the load promise.
|
|
162
189
|
*
|
|
@@ -267,4 +294,4 @@ class ComponentEx extends Component {
|
|
|
267
294
|
export {
|
|
268
295
|
ComponentEx
|
|
269
296
|
};
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBFcnJvcldyYXBwZXIgfSBmcm9tICcuLi8uLi9lcnJvci50cyc7XG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlXG59IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBFeHRlbmRlZCBDb21wb25lbnRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXggLS0gRXh0ZW5kZWQgYmFzZSBjbGFzcy5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFeCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuU2V0ID0gbmV3IFNldDxDb21wb25lbnQ+KCk7XG4gIHByaXZhdGUgbG9hZEVycm9yczogRXJyb3JbXSA9IFtdO1xuICBwcml2YXRlIGxvYWRQcm9taXNlOiBudWxsIHwgUHJvbWlzZTx2b2lkPiA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjaGlsZCBjb21wb25lbnQuXG4gICAqXG4gICAqIE1pcnJvcnMgdGhlIG5hdGl2ZSBgQ29tcG9uZW50LmFkZENoaWxkYCBjb250cmFjdDogaWYgdGhpcyBjb21wb25lbnQgaXMgYWxyZWFkeSBsb2FkZWQsIHRoZSBjaGlsZCBpcyBsb2FkZWRcbiAgICogaW1tZWRpYXRlbHksIHNvIGBjaGlsZC5fbG9hZGVkYCBpcyBzZXQgYmVmb3JlIHRoaXMgbWV0aG9kIHJldHVybnMgZXZlbiB3aGVuIHRoaXMgY29tcG9uZW50IGhhcyBhc3luYyBsb2FkIGxvZ2ljLlxuICAgKiBUaGUgY2hpbGQncyBhc3luYyB0YWlsIChpZiBhbnkpIGlzIHNlcXVlbmNlZCBpbnRvIHRoZSBsb2FkIHByb21pc2Ugc28gYSBsYXRlciB7QGxpbmsgbG9hZFdpdGhQcm9taXNlc30gY2FsbCBhd2FpdHMgaXQuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGluc3RhbmNlIHRvIGFkZC5cbiAgICogQHJldHVybnMgVGhlIGFkZGVkIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDaGlsZDxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50Pihjb21wb25lbnQ6IFRDb21wb25lbnQpOiBUQ29tcG9uZW50IHtcbiAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jaGlsZHJlblNldC5hZGQoY29tcG9uZW50KTtcblxuICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuYXBwZW5kRWFnZXJMb2FkU3RlcCh0aGlzLmV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIERlc3BpdGUgdGhlIGRlY2xhcmVkIGB2b2lkYCByZXR1cm4gdHlwZSwgdGhpcyBtZXRob2QgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgaXMgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgbG9hZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICB0aGlzLnJlc2V0TG9hZFN0YXRlKCk7XG5cbiAgICB0aGlzLm9ubG9hZCgpO1xuXG4gICAgY29uc3Qgb25sb2FkQXN5bmNQcm9taXNlID0gdGhpcy5vbmxvYWRBc3luYygpO1xuICAgIGlmIChvbmxvYWRBc3luY1Byb21pc2UgIT09IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UpIHtcbiAgICAgIHRoaXMuYXBwZW5kRWFnZXJMb2FkU3RlcChvbmxvYWRBc3luY1Byb21pc2UpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5fY2hpbGRyZW4uc2xpY2UoKSkge1xuICAgICAgdGhpcy5hcHBlbmRTZXF1ZW50aWFsTG9hZFN0ZXAoKCkgPT4gdGhpcy5leHRyYWN0TG9hZFByb21pc2FibGUoY2hpbGQpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZSwgbm8tcmVzdHJpY3RlZC1zeW50YXggLS0gV2UgbmVlZCB0byBieXBhc3MgdHlwZSBzeXN0ZW0gdG8gcmV0dXJuIGBQcm9taXNlPHZvaWQ+YC5cbiAgICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlIGFzIHVua25vd24gYXMgdm9pZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGNvbXBvbmVudCB3aXRoIHByb21pc2VzLlxuICAgKlxuICAgKiBVbmxpa2Uge0BsaW5rIGxvYWR9LCB0aGlzIG1ldGhvZCBuZXZlciByZWplY3RzIHdpdGggYW4gaW5kaXZpZHVhbCBlcnJvcjogZXZlcnkgZmFpbHVyZSByYWlzZWQgYnkge0BsaW5rIG9ubG9hZEFzeW5jfVxuICAgKiBvciBhIGNoaWxkJ3MgbG9hZCBpcyBjb2xsZWN0ZWQsIGFuZCBvbmNlIGV2ZXJ5dGhpbmcgc2V0dGxlcyB0aGUgcmV0dXJuZWQge0BsaW5rIFByb21pc2V9IHJlamVjdHMgd2l0aCBhIHNpbmdsZVxuICAgKiB7QGxpbmsgQWdncmVnYXRlRXJyb3J9IGhvbGRpbmcgYWxsIG9mIHRoZW0uIE5vbi1gRXJyb3JgIHRocm93YWJsZXMgYXJlIG5vcm1hbGl6ZWQgdmlhIHtAbGluayBFcnJvcldyYXBwZXIuY3JlYXRlfS5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgYW5kIGl0cyBjaGlsZHJlbiBmaW5pc2ggbG9hZGluZywgcmVqZWN0cyB3aXRoIGFuIHtAbGluayBBZ2dyZWdhdGVFcnJvcn0gaWYgYW55IGxvYWQgc3RlcCBmYWlsZWQsIG9yIGBudWxsYCBpZiB0aGUgY29tcG9uZW50IGFuZCBpdHMgY2hpbGRyZW4gZG9uJ3QgdXNlIGBhc3luY2AgbG9naWMgYW5kIG5vbmUgZmFpbGVkIHN5bmNocm9ub3VzbHkuXG4gICAqL1xuICBwdWJsaWMgbG9hZFdpdGhQcm9taXNlcygpOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2FkKCk7XG5cbiAgICBjb25zdCBsb2FkUHJvbWlzZSA9IHRoaXMubG9hZFByb21pc2U7XG4gICAgaWYgKCFsb2FkUHJvbWlzZSkge1xuICAgICAgaWYgKHRoaXMubG9hZEVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQWdncmVnYXRlRXJyb3IodGhpcy5sb2FkRXJyb3JzKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5sb2FkRXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEFnZ3JlZ2F0ZUVycm9yKHRoaXMubG9hZEVycm9ycyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXN5bmNocm9ub3VzbHkgbG9hZHMgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogT3ZlcnJpZGUgdG8gYWRkIGFzeW5jIGxvYWQgbG9naWMsIHdoaWNoIGlzIGV4ZWN1dGVkIGFmdGVyIHtAbGluayBDb21wb25lbnQub25sb2FkfS5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuICAgKi9cbiAgcHVibGljIG9ubG9hZEFzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHtAbGluayBEaXNwb3NhYmxlfSBzbyBpdCBpcyBkaXNwb3NlZCB3aGVuIHRoaXMgY29tcG9uZW50IHVubG9hZHMsIGFuZCByZXR1cm5zIGl0IHVuY2hhbmdlZC5cbiAgICpcbiAgICogVGhlIHJlY3VycmluZyBcInRpZSBhIGRpc3Bvc2FibGUgdG8gdGhlIGNvbXBvbmVudCdzIGxpZmVjeWNsZSwgdGhlbiBrZWVwIHVzaW5nIGl0XCIgaWRpb206IHRoZSBkaXNwb3NhYmxlIGlzXG4gICAqIGRpc3Bvc2VkIG9uIHtAbGluayBDb21wb25lbnQudW5sb2FkfSAob3IgZWFybGllciwgaWYgdGhlIGNhbGxlciBkaXNwb3NlcyBpdCBkaXJlY3RseSBcdTIwMTQgZGlzcG9zZSBpcyBleHBlY3RlZCB0b1xuICAgKiBiZSBpZGVtcG90ZW50KS4gR3VhcmQgd2l0aCB7QGxpbmsgZW5zdXJlTG9hZGVkfSBhdCB0aGUgY2FsbCBzaXRlIHdoZW4gcmVnaXN0ZXJpbmcgYmVmb3JlIGxvYWQgd291bGQgYmUgdW5zYWZlLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFREaXNwb3NhYmxlIC0gVGhlIHR5cGUgb2YgdGhlIGRpc3Bvc2FibGUuXG4gICAqIEBwYXJhbSBkaXNwb3NhYmxlIC0gVGhlIGRpc3Bvc2FibGUgdG8gcmVnaXN0ZXIuXG4gICAqIEByZXR1cm5zIFRoZSBzYW1lIGRpc3Bvc2FibGUsIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckRpc3Bvc2FibGU8VERpc3Bvc2FibGUgZXh0ZW5kcyBEaXNwb3NhYmxlPihkaXNwb3NhYmxlOiBURGlzcG9zYWJsZSk6IFREaXNwb3NhYmxlIHtcbiAgICB0aGlzLnJlZ2lzdGVyKCgpID0+IHtcbiAgICAgIGRpc3Bvc2FibGVbU3ltYm9sLmRpc3Bvc2VdKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRpc3Bvc2FibGU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIHJlbW92ZS5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVtb3ZlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ2hpbGQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogVENvbXBvbmVudCB7XG4gICAgc3VwZXIucmVtb3ZlQ2hpbGQoY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmRlbGV0ZShjb21wb25lbnQpO1xuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZXMgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBbU3ltYm9sLmRpc3Bvc2VdKCk6IHZvaWQge1xuICAgIHRoaXMudW5sb2FkKCk7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgY29tcG9uZW50IGlzIGxvYWRlZCwgdGhyb3dpbmcgaWYgaXQgaXMgbm90LlxuICAgKlxuICAgKiBVc2UgdGhpcyB0byBndWFyZCBwdWJsaWMgbWV0aG9kcyB0aGF0IHJlZ2lzdGVyIHRlYXJkb3duLWJlYXJpbmcgcmVzb3VyY2VzICh2aWEge0BsaW5rIENvbXBvbmVudC5yZWdpc3Rlcn0sXG4gICAqIHtAbGluayBDb21wb25lbnQucmVnaXN0ZXJFdmVudH0sIHtAbGluayBDb21wb25lbnQucmVnaXN0ZXJEb21FdmVudH0sIGV0Yy4pLiBSZWdpc3RlcmluZyBiZWZvcmUgbG9hZCBpcyB1bnNhZmU6XG4gICAqIHtAbGluayBDb21wb25lbnQudW5sb2FkfSBpcyBhIG5vLW9wIHdoaWxlIHRoZSBjb21wb25lbnQgaXMgbm90IGxvYWRlZCwgc28gYW55IHRlYXJkb3duIHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCB3b3VsZFxuICAgKiBuZXZlciBydW4gaWYgdGhlIGNvbXBvbmVudCBpcyB1bmxvYWRlZCB3aXRob3V0IGZpcnN0IGJlaW5nIGxvYWRlZC5cbiAgICpcbiAgICogQHRocm93cyBBbiB7QGxpbmsgRXJyb3J9IGlmIHRoZSBjb21wb25lbnQgaXMgbm90IGxvYWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBlbnN1cmVMb2FkZWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tcG9uZW50IGlzIG5vdCBsb2FkZWQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VxdWVuY2VzIGFuIGFscmVhZHktc3RhcnRlZCBsb2FkIHN0ZXAgaW50byB0aGUgbG9hZCBwcm9taXNlLlxuICAgKlxuICAgKiBUaGUgc3RlcCBpcyBwcmVzdW1lZCB0byBoYXZlIHN0YXJ0ZWQgc3luY2hyb25vdXNseSAoc28gYW55IGBfbG9hZGVkYCBmbGFnIGl0IHNldHMgaXMgYWxyZWFkeSB2aXNpYmxlKTsgb25seSB0aGVcbiAgICogYXdhaXRpbmcgb2YgaXRzIGFzeW5jIHRhaWwgaXMgc2VxdWVuY2VkIGhlcmUuXG4gICAqXG4gICAqIEBwYXJhbSBsb2FkUHJvbWlzYWJsZSAtIFRoZSByZXN1bHQgb2YgYW4gYWxyZWFkeS1zdGFydGVkIGxvYWQgc3RlcC5cbiAgICovXG4gIHByaXZhdGUgYXBwZW5kRWFnZXJMb2FkU3RlcChsb2FkUHJvbWlzYWJsZTogbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiB2b2lkIHtcbiAgICBjb25zdCBjYXB0dXJlZCA9IHRoaXMuY2FwdHVyZVNldHRsZWQobG9hZFByb21pc2FibGUpO1xuICAgIGlmICghY2FwdHVyZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMubG9hZFByb21pc2U7XG4gICAgdGhpcy5zZXRMb2FkUHJvbWlzZShwcmV2aW91cyA/IHByZXZpb3VzLnRoZW4oKCkgPT4gY2FwdHVyZWQpIDogY2FwdHVyZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcXVlbmNlcyBhIGRlZmVycmVkIGxvYWQgc3RlcCBpbnRvIHRoZSBsb2FkIHByb21pc2UsIHJ1bm5pbmcgaXQgb25seSBhZnRlciBwcmV2aW91c2x5LWFwcGVuZGVkIHN0ZXBzIHNldHRsZS5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlRm4gLSBBIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBsb2FkIHN0ZXAgYW5kIHJldHVybnMgaXRzIHJlc3VsdC5cbiAgICovXG4gIHByaXZhdGUgYXBwZW5kU2VxdWVudGlhbExvYWRTdGVwKGxvYWRQcm9taXNhYmxlRm46ICgpID0+IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLmxvYWRQcm9taXNlO1xuICAgIGlmIChwcmV2aW91cykge1xuICAgICAgdGhpcy5zZXRMb2FkUHJvbWlzZShwcmV2aW91cy50aGVuKCgpID0+IHRoaXMucnVuQW5kQ2FwdHVyZShsb2FkUHJvbWlzYWJsZUZuKSkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNhcHR1cmVkID0gdGhpcy5jYXB0dXJlU3luYyhsb2FkUHJvbWlzYWJsZUZuKTtcbiAgICBpZiAoY2FwdHVyZWQpIHtcbiAgICAgIHRoaXMuc2V0TG9hZFByb21pc2UoY2FwdHVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmRzIGEgbG9hZCBmYWlsdXJlLlxuICAgKlxuICAgKiBBIGZhaWx1cmUgcmFpc2VkIGJ5IGEgY2hpbGQge0BsaW5rIENvbXBvbmVudEV4fSBpcyBpdHNlbGYgYW4ge0BsaW5rIEFnZ3JlZ2F0ZUVycm9yfTsgaXQgaXMgcmVjb3JkZWQgYXMtaXMgc28gdGhlXG4gICAqIGdyb3VwaW5nIGJ5IGNoaWxkIGNvbXBvbmVudCBpcyBwcmVzZXJ2ZWQgKG93biBmYWlsdXJlcyBzdGF5IGZsYXQsIGNoaWxkLXN1YnRyZWUgZmFpbHVyZXMgc3RheSBuZXN0ZWQpLlxuICAgKlxuICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgdGhyb3duIHZhbHVlIHRvIHJlY29yZC5cbiAgICovXG4gIHByaXZhdGUgY2FwdHVyZUVycm9yKGVycm9yOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkRXJyb3JzLnB1c2goRXJyb3JXcmFwcGVyLmNyZWF0ZShlcnJvcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyYXBzIGFuIGFscmVhZHktc3RhcnRlZCBsb2FkIHJlc3VsdCBzbyBpdCBuZXZlciByZWplY3RzOiBhbnkgZmFpbHVyZSBpcyByZWNvcmRlZCBpbnRvIGBsb2FkRXJyb3JzYC5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlIC0gVGhlIGxvYWQgcmVzdWx0IHRvIG9ic2VydmUuXG4gICAqIEByZXR1cm5zIEEgbmV2ZXItcmVqZWN0aW5nIHtAbGluayBQcm9taXNlfSwgb3IgYG51bGxgIGlmIHRoZSByZXN1bHQgaXMgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwcml2YXRlIGNhcHR1cmVTZXR0bGVkKGxvYWRQcm9taXNhYmxlOiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPik6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAobG9hZFByb21pc2FibGUgPT09IG51bGwgfHwgbG9hZFByb21pc2FibGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShsb2FkUHJvbWlzYWJsZSkudGhlbihub29wLCAoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgIHRoaXMuY2FwdHVyZUVycm9yKGVycm9yKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGEgbG9hZCBzdGVwIHN5bmNocm9ub3VzbHksIHJlY29yZGluZyBhIHN5bmNocm9ub3VzIHRocm93LCBhbmQgd3JhcHMgYW55IGFzeW5jIHRhaWwgc28gaXQgbmV2ZXIgcmVqZWN0cy5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlRm4gLSBBIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBsb2FkIHN0ZXAgYW5kIHJldHVybnMgaXRzIHJlc3VsdC5cbiAgICogQHJldHVybnMgQSBuZXZlci1yZWplY3Rpbmcge0BsaW5rIFByb21pc2V9LCBvciBgbnVsbGAgaWYgdGhlIHN0ZXAgaXMgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwcml2YXRlIGNhcHR1cmVTeW5jKGxvYWRQcm9taXNhYmxlRm46ICgpID0+IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogbnVsbCB8IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCBsb2FkUHJvbWlzYWJsZTogbnVsbCB8IFByb21pc2FibGU8dm9pZD47XG4gICAgdHJ5IHtcbiAgICAgIGxvYWRQcm9taXNhYmxlID0gbG9hZFByb21pc2FibGVGbigpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmNhcHR1cmVFcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYXB0dXJlU2V0dGxlZChsb2FkUHJvbWlzYWJsZSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQ6IENvbXBvbmVudCk6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY2hpbGRyZW5TZXQuaGFzKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoY29tcG9uZW50IGluc3RhbmNlb2YgQ29tcG9uZW50RXgpIHtcbiAgICAgIHJldHVybiBjb21wb25lbnQubG9hZFdpdGhQcm9taXNlcygpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWFzc2VydGlvbiAtLSBJdCBjYW4gYmUgYFByb21pc2U8dm9pZD5gIGluIHJ1bnRpbWUuIFdhbnQgZXhwbGljaXRseSBjYXN0IHRvIHNob3cgd2Uga25vdyBpdCBtYXkgYmUgcHJvbWlzZSwgZGVzcGl0ZSB0aGUgZGVjbGFyZWQgdHlwZSBgdm9pZGAuXG4gICAgcmV0dXJuIGNvbXBvbmVudC5sb2FkKCkgYXMgUHJvbWlzYWJsZTx2b2lkPjtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRMb2FkU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkRXJyb3JzID0gW107XG4gICAgdGhpcy5sb2FkUHJvbWlzZSA9IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhIGRlZmVycmVkIGxvYWQgc3RlcCwgcmVjb3JkaW5nIGEgc3luY2hyb25vdXMgdGhyb3cgb3IgYW4gYXN5bmMgcmVqZWN0aW9uIHdpdGhvdXQgZXZlciByZS10aHJvd2luZy5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlRm4gLSBBIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBsb2FkIHN0ZXAgYW5kIHJldHVybnMgaXRzIHJlc3VsdC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcnVuQW5kQ2FwdHVyZShsb2FkUHJvbWlzYWJsZUZuOiAoKSA9PiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCAobG9hZFByb21pc2FibGVGbigpID8/IHVuZGVmaW5lZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuY2FwdHVyZUVycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRQcm9taXNlKGxvYWRQcm9taXNlOiBQcm9taXNlPHZvaWQ+KTogdm9pZCB7XG4gICAgY29uc3QgbG9hZFByb21pc2VXaXRoUmVzZXQ6IFByb21pc2U8dm9pZD4gPSBsb2FkUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmxvYWRQcm9taXNlID09PSBsb2FkUHJvbWlzZVdpdGhSZXNldCkge1xuICAgICAgICB0aGlzLmxvYWRQcm9taXNlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmxvYWRQcm9taXNlID0gbG9hZFByb21pc2VXaXRoUmVzZXQ7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxpQkFBaUI7QUFFMUIsU0FBUyxvQkFBb0I7QUFDN0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFNQSxNQUFNLG9CQUFvQixVQUFnQztBQUFBLEVBQzlDLGNBQWMsb0JBQUksSUFBZTtBQUFBLEVBQzFDLGFBQXNCLENBQUM7QUFBQSxFQUN2QixjQUFvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWE1QixTQUF1QyxXQUFtQztBQUN4RixTQUFLLFVBQVUsS0FBSyxTQUFTO0FB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
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBFcnJvcldyYXBwZXIgfSBmcm9tICcuLi8uLi9lcnJvci50cyc7XG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlXG59IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBFeHRlbmRlZCBDb21wb25lbnRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXggLS0gRXh0ZW5kZWQgYmFzZSBjbGFzcy5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFeCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuU2V0ID0gbmV3IFNldDxDb21wb25lbnQ+KCk7XG4gIHByaXZhdGUgbG9hZEVycm9yczogRXJyb3JbXSA9IFtdO1xuICBwcml2YXRlIGxvYWRQcm9taXNlOiBudWxsIHwgUHJvbWlzZTx2b2lkPiA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjaGlsZCBjb21wb25lbnQuXG4gICAqXG4gICAqIE1pcnJvcnMgdGhlIG5hdGl2ZSBgQ29tcG9uZW50LmFkZENoaWxkYCBjb250cmFjdDogaWYgdGhpcyBjb21wb25lbnQgaXMgYWxyZWFkeSBsb2FkZWQsIHRoZSBjaGlsZCBpcyBsb2FkZWRcbiAgICogaW1tZWRpYXRlbHksIHNvIGBjaGlsZC5fbG9hZGVkYCBpcyBzZXQgYmVmb3JlIHRoaXMgbWV0aG9kIHJldHVybnMgZXZlbiB3aGVuIHRoaXMgY29tcG9uZW50IGhhcyBhc3luYyBsb2FkIGxvZ2ljLlxuICAgKiBUaGUgY2hpbGQncyBhc3luYyB0YWlsIChpZiBhbnkpIGlzIHNlcXVlbmNlZCBpbnRvIHRoZSBsb2FkIHByb21pc2Ugc28gYSBsYXRlciB7QGxpbmsgbG9hZFdpdGhQcm9taXNlc30gY2FsbCBhd2FpdHMgaXQuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGluc3RhbmNlIHRvIGFkZC5cbiAgICogQHJldHVybnMgVGhlIGFkZGVkIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDaGlsZDxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50Pihjb21wb25lbnQ6IFRDb21wb25lbnQpOiBUQ29tcG9uZW50IHtcbiAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jaGlsZHJlblNldC5hZGQoY29tcG9uZW50KTtcblxuICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuYXBwZW5kRWFnZXJMb2FkU3RlcCh0aGlzLmV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIERlc3BpdGUgdGhlIGRlY2xhcmVkIGB2b2lkYCByZXR1cm4gdHlwZSwgdGhpcyBtZXRob2QgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgaXMgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgbG9hZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICB0aGlzLnJlc2V0TG9hZFN0YXRlKCk7XG5cbiAgICB0aGlzLm9ubG9hZCgpO1xuXG4gICAgY29uc3Qgb25sb2FkQXN5bmNQcm9taXNlID0gdGhpcy5vbmxvYWRBc3luYygpO1xuICAgIGlmIChvbmxvYWRBc3luY1Byb21pc2UgIT09IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UpIHtcbiAgICAgIHRoaXMuYXBwZW5kRWFnZXJMb2FkU3RlcChvbmxvYWRBc3luY1Byb21pc2UpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5fY2hpbGRyZW4uc2xpY2UoKSkge1xuICAgICAgdGhpcy5hcHBlbmRTZXF1ZW50aWFsTG9hZFN0ZXAoKCkgPT4gdGhpcy5leHRyYWN0TG9hZFByb21pc2FibGUoY2hpbGQpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZSwgbm8tcmVzdHJpY3RlZC1zeW50YXggLS0gV2UgbmVlZCB0byBieXBhc3MgdHlwZSBzeXN0ZW0gdG8gcmV0dXJuIGBQcm9taXNlPHZvaWQ+YC5cbiAgICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlIGFzIHVua25vd24gYXMgdm9pZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGNvbXBvbmVudCB3aXRoIHByb21pc2VzLlxuICAgKlxuICAgKiBVbmxpa2Uge0BsaW5rIGxvYWR9LCB0aGlzIG1ldGhvZCBuZXZlciByZWplY3RzIHdpdGggYW4gaW5kaXZpZHVhbCBlcnJvcjogZXZlcnkgZmFpbHVyZSByYWlzZWQgYnkge0BsaW5rIG9ubG9hZEFzeW5jfVxuICAgKiBvciBhIGNoaWxkJ3MgbG9hZCBpcyBjb2xsZWN0ZWQsIGFuZCBvbmNlIGV2ZXJ5dGhpbmcgc2V0dGxlcyB0aGUgcmV0dXJuZWQge0BsaW5rIFByb21pc2V9IHJlamVjdHMgd2l0aCBhIHNpbmdsZVxuICAgKiB7QGxpbmsgQWdncmVnYXRlRXJyb3J9IGhvbGRpbmcgYWxsIG9mIHRoZW0uIE5vbi1gRXJyb3JgIHRocm93YWJsZXMgYXJlIG5vcm1hbGl6ZWQgdmlhIHtAbGluayBFcnJvcldyYXBwZXIuY3JlYXRlfS5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgYW5kIGl0cyBjaGlsZHJlbiBmaW5pc2ggbG9hZGluZywgcmVqZWN0cyB3aXRoIGFuIHtAbGluayBBZ2dyZWdhdGVFcnJvcn0gaWYgYW55IGxvYWQgc3RlcCBmYWlsZWQsIG9yIGBudWxsYCBpZiB0aGUgY29tcG9uZW50IGFuZCBpdHMgY2hpbGRyZW4gZG9uJ3QgdXNlIGBhc3luY2AgbG9naWMgYW5kIG5vbmUgZmFpbGVkIHN5bmNocm9ub3VzbHkuXG4gICAqL1xuICBwdWJsaWMgbG9hZFdpdGhQcm9taXNlcygpOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2FkKCk7XG5cbiAgICBjb25zdCBsb2FkUHJvbWlzZSA9IHRoaXMubG9hZFByb21pc2U7XG4gICAgaWYgKCFsb2FkUHJvbWlzZSkge1xuICAgICAgaWYgKHRoaXMubG9hZEVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQWdncmVnYXRlRXJyb3IodGhpcy5sb2FkRXJyb3JzKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5sb2FkRXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEFnZ3JlZ2F0ZUVycm9yKHRoaXMubG9hZEVycm9ycyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXN5bmNocm9ub3VzbHkgbG9hZHMgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogT3ZlcnJpZGUgdG8gYWRkIGFzeW5jIGxvYWQgbG9naWMsIHdoaWNoIGlzIGV4ZWN1dGVkIGFmdGVyIHtAbGluayBDb21wb25lbnQub25sb2FkfS5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuICAgKi9cbiAgcHVibGljIG9ubG9hZEFzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHtAbGluayBEaXNwb3NhYmxlfSBzbyBpdCBpcyBkaXNwb3NlZCB3aGVuIHRoaXMgY29tcG9uZW50IHVubG9hZHMsIGFuZCByZXR1cm5zIGl0IHVuY2hhbmdlZC5cbiAgICpcbiAgICogVGhlIHJlY3VycmluZyBcInRpZSBhIGRpc3Bvc2FibGUgdG8gdGhlIGNvbXBvbmVudCdzIGxpZmVjeWNsZSwgdGhlbiBrZWVwIHVzaW5nIGl0XCIgaWRpb206IHRoZSBkaXNwb3NhYmxlIGlzXG4gICAqIGRpc3Bvc2VkIG9uIHtAbGluayBDb21wb25lbnQudW5sb2FkfSAob3IgZWFybGllciwgaWYgdGhlIGNhbGxlciBkaXNwb3NlcyBpdCBkaXJlY3RseSBcdTIwMTQgZGlzcG9zZSBpcyBleHBlY3RlZCB0b1xuICAgKiBiZSBpZGVtcG90ZW50KS4gR3VhcmQgd2l0aCB7QGxpbmsgZW5zdXJlTG9hZGVkfSBhdCB0aGUgY2FsbCBzaXRlIHdoZW4gcmVnaXN0ZXJpbmcgYmVmb3JlIGxvYWQgd291bGQgYmUgdW5zYWZlLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFREaXNwb3NhYmxlIC0gVGhlIHR5cGUgb2YgdGhlIGRpc3Bvc2FibGUuXG4gICAqIEBwYXJhbSBkaXNwb3NhYmxlIC0gVGhlIGRpc3Bvc2FibGUgdG8gcmVnaXN0ZXIuXG4gICAqIEByZXR1cm5zIFRoZSBzYW1lIGRpc3Bvc2FibGUsIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckRpc3Bvc2FibGU8VERpc3Bvc2FibGUgZXh0ZW5kcyBEaXNwb3NhYmxlPihkaXNwb3NhYmxlOiBURGlzcG9zYWJsZSk6IFREaXNwb3NhYmxlIHtcbiAgICB0aGlzLnJlZ2lzdGVyKCgpID0+IHtcbiAgICAgIGRpc3Bvc2FibGVbU3ltYm9sLmRpc3Bvc2VdKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRpc3Bvc2FibGU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIHJlbW92ZS5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVtb3ZlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ2hpbGQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogVENvbXBvbmVudCB7XG4gICAgc3VwZXIucmVtb3ZlQ2hpbGQoY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmRlbGV0ZShjb21wb25lbnQpO1xuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZXMgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBbU3ltYm9sLmRpc3Bvc2VdKCk6IHZvaWQge1xuICAgIHRoaXMudW5sb2FkKCk7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgY29tcG9uZW50IGlzIGxvYWRlZCwgdGhyb3dpbmcgaWYgaXQgaXMgbm90LlxuICAgKlxuICAgKiBVc2UgdGhpcyB0byBndWFyZCBwdWJsaWMgbWV0aG9kcyB0aGF0IHJlZ2lzdGVyIHRlYXJkb3duLWJlYXJpbmcgcmVzb3VyY2VzICh2aWEge0BsaW5rIENvbXBvbmVudC5yZWdpc3Rlcn0sXG4gICAqIHtAbGluayBDb21wb25lbnQucmVnaXN0ZXJFdmVudH0sIHtAbGluayBDb21wb25lbnQucmVnaXN0ZXJEb21FdmVudH0sIGV0Yy4pLiBSZWdpc3RlcmluZyBiZWZvcmUgbG9hZCBpcyB1bnNhZmU6XG4gICAqIHtAbGluayBDb21wb25lbnQudW5sb2FkfSBpcyBhIG5vLW9wIHdoaWxlIHRoZSBjb21wb25lbnQgaXMgbm90IGxvYWRlZCwgc28gYW55IHRlYXJkb3duIHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCB3b3VsZFxuICAgKiBuZXZlciBydW4gaWYgdGhlIGNvbXBvbmVudCBpcyB1bmxvYWRlZCB3aXRob3V0IGZpcnN0IGJlaW5nIGxvYWRlZC5cbiAgICpcbiAgICogQHRocm93cyBBbiB7QGxpbmsgRXJyb3J9IGlmIHRoZSBjb21wb25lbnQgaXMgbm90IGxvYWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBlbnN1cmVMb2FkZWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tcG9uZW50IGlzIG5vdCBsb2FkZWQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY29tcG9uZW50J3MgaW4tZmxpZ2h0IGxvYWQge0BsaW5rIFByb21pc2V9IChpdHMge0BsaW5rIG9ubG9hZEFzeW5jfSBwbHVzIGNoaWxkcmVuKSwgb3IgYG51bGxgIHdoZW5cbiAgICogbm90aGluZyBpcyBsb2FkaW5nIFx1MjAxNCBlaXRoZXIgdGhlIGNvbXBvbmVudCBsb2FkZWQgZnVsbHkgc3luY2hyb25vdXNseSBvciBpdHMgYXN5bmMgbG9hZCBoYXMgYWxyZWFkeSBzZXR0bGVkLlxuICAgKlxuICAgKiBMZXRzIGEgY2FsbGVyIHNjaGVkdWxlZCB3aGlsZSB0aGUgY29tcG9uZW50IGlzIHN0aWxsIGxvYWRpbmcgYXdhaXQgdGhlIGFzeW5jIGxvYWQgdGFpbCBiZWZvcmUgYWN0aW5nLCBpbnN0ZWFkIG9mXG4gICAqIHJhY2luZyBpdC4gVGhlIG1vdGl2YXRpbmcgY2FzZSBpcyBhIGxheW91dC1yZWFkeSBoYW5kbGVyIChzZWUgYExheW91dFJlYWR5Q29tcG9uZW50YCkgdGhhdCBmaXJlcyBiZWNhdXNlIHRoZVxuICAgKiBjb21wb25lbnQgd2FzIGxvYWRlZCBhZnRlciB0aGUgd29ya3NwYWNlIGxheW91dCB3YXMgYWxyZWFkeSByZWFkeToge0BsaW5rIENvbXBvbmVudC5vbmxvYWR9IGhhcyBydW4gKHNvIGBfbG9hZGVkYFxuICAgKiBpcyBzZXQpIGJ1dCB7QGxpbmsgb25sb2FkQXN5bmN9IG1heSBub3QgaGF2ZSBmaW5pc2hlZC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGluLWZsaWdodCBsb2FkIHByb21pc2UsIG9yIGBudWxsYCBpZiBubyBsb2FkIGlzIGluIGZsaWdodC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXRJbkZsaWdodExvYWRQcm9taXNlKCk6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIG1vc3QgcmVjZW50IGxvYWQgcmVjb3JkZWQgYW55IGZhaWx1cmUuXG4gICAqXG4gICAqIFJlZmxlY3RzIHRoZSBvdXRjb21lIG9mIHRoZSBsYXN0IHtAbGluayBsb2FkfSAvIHtAbGluayBsb2FkV2l0aFByb21pc2VzfTogYHRydWVgIHdoZW4ge0BsaW5rIG9ubG9hZEFzeW5jfSBvciBhbnlcbiAgICogY2hpbGQncyBsb2FkIHRocmV3IChzeW5jaHJvbm91c2x5IG9yIGFzeW5jaHJvbm91c2x5KS4gVW5saWtlIHtAbGluayBsb2FkV2l0aFByb21pc2VzfSwgcmVhZGluZyB0aGlzIGRvZXMgTk9UXG4gICAqIHJlLXJhaXNlIHRoZSBjb2xsZWN0ZWQgZXJyb3JzIFx1MjAxNCBpdCBsZXRzIGEgYnlzdGFuZGVyIChlLmcuIGEgbGF5b3V0LXJlYWR5IGhhbmRsZXIgYXdhaXRpbmcgdGhlIGluLWZsaWdodCBsb2FkKSB0ZWxsXG4gICAqIHdoZXRoZXIgdGhlIGxvYWQgc3VjY2VlZGVkIHdpdGhvdXQgYWRvcHRpbmcgYSBmYWlsdXJlIHRoYXQgdGhlIGxvYWQncyBvd25lciBpcyBhbHJlYWR5IHJlc3BvbnNpYmxlIGZvci5cbiAgICpcbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBsYXN0IGxvYWQgcmVjb3JkZWQgYXQgbGVhc3Qgb25lIGVycm9yLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG4gIHByb3RlY3RlZCBoYXNMb2FkRXJyb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRFcnJvcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXF1ZW5jZXMgYW4gYWxyZWFkeS1zdGFydGVkIGxvYWQgc3RlcCBpbnRvIHRoZSBsb2FkIHByb21pc2UuXG4gICAqXG4gICAqIFRoZSBzdGVwIGlzIHByZXN1bWVkIHRvIGhhdmUgc3RhcnRlZCBzeW5jaHJvbm91c2x5IChzbyBhbnkgYF9sb2FkZWRgIGZsYWcgaXQgc2V0cyBpcyBhbHJlYWR5IHZpc2libGUpOyBvbmx5IHRoZVxuICAgKiBhd2FpdGluZyBvZiBpdHMgYXN5bmMgdGFpbCBpcyBzZXF1ZW5jZWQgaGVyZS5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlIC0gVGhlIHJlc3VsdCBvZiBhbiBhbHJlYWR5LXN0YXJ0ZWQgbG9hZCBzdGVwLlxuICAgKi9cbiAgcHJpdmF0ZSBhcHBlbmRFYWdlckxvYWRTdGVwKGxvYWRQcm9taXNhYmxlOiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPik6IHZvaWQge1xuICAgIGNvbnN0IGNhcHR1cmVkID0gdGhpcy5jYXB0dXJlU2V0dGxlZChsb2FkUHJvbWlzYWJsZSk7XG4gICAgaWYgKCFjYXB0dXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5sb2FkUHJvbWlzZTtcbiAgICB0aGlzLnNldExvYWRQcm9taXNlKHByZXZpb3VzID8gcHJldmlvdXMudGhlbigoKSA9PiBjYXB0dXJlZCkgOiBjYXB0dXJlZCk7XG4gIH1cblxuICAvKipcbiAgICogU2VxdWVuY2VzIGEgZGVmZXJyZWQgbG9hZCBzdGVwIGludG8gdGhlIGxvYWQgcHJvbWlzZSwgcnVubmluZyBpdCBvbmx5IGFmdGVyIHByZXZpb3VzbHktYXBwZW5kZWQgc3RlcHMgc2V0dGxlLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGVGbiAtIEEgZnVuY3Rpb24gdGhhdCBzdGFydHMgdGhlIGxvYWQgc3RlcCBhbmQgcmV0dXJucyBpdHMgcmVzdWx0LlxuICAgKi9cbiAgcHJpdmF0ZSBhcHBlbmRTZXF1ZW50aWFsTG9hZFN0ZXAobG9hZFByb21pc2FibGVGbjogKCkgPT4gbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMubG9hZFByb21pc2U7XG4gICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICB0aGlzLnNldExvYWRQcm9taXNlKHByZXZpb3VzLnRoZW4oKCkgPT4gdGhpcy5ydW5BbmRDYXB0dXJlKGxvYWRQcm9taXNhYmxlRm4pKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2FwdHVyZWQgPSB0aGlzLmNhcHR1cmVTeW5jKGxvYWRQcm9taXNhYmxlRm4pO1xuICAgIGlmIChjYXB0dXJlZCkge1xuICAgICAgdGhpcy5zZXRMb2FkUHJvbWlzZShjYXB0dXJlZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSBsb2FkIGZhaWx1cmUuXG4gICAqXG4gICAqIEEgZmFpbHVyZSByYWlzZWQgYnkgYSBjaGlsZCB7QGxpbmsgQ29tcG9uZW50RXh9IGlzIGl0c2VsZiBhbiB7QGxpbmsgQWdncmVnYXRlRXJyb3J9OyBpdCBpcyByZWNvcmRlZCBhcy1pcyBzbyB0aGVcbiAgICogZ3JvdXBpbmcgYnkgY2hpbGQgY29tcG9uZW50IGlzIHByZXNlcnZlZCAob3duIGZhaWx1cmVzIHN0YXkgZmxhdCwgY2hpbGQtc3VidHJlZSBmYWlsdXJlcyBzdGF5IG5lc3RlZCkuXG4gICAqXG4gICAqIEBwYXJhbSBlcnJvciAtIFRoZSB0aHJvd24gdmFsdWUgdG8gcmVjb3JkLlxuICAgKi9cbiAgcHJpdmF0ZSBjYXB0dXJlRXJyb3IoZXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRFcnJvcnMucHVzaChFcnJvcldyYXBwZXIuY3JlYXRlKGVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogV3JhcHMgYW4gYWxyZWFkeS1zdGFydGVkIGxvYWQgcmVzdWx0IHNvIGl0IG5ldmVyIHJlamVjdHM6IGFueSBmYWlsdXJlIGlzIHJlY29yZGVkIGludG8gYGxvYWRFcnJvcnNgLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGUgLSBUaGUgbG9hZCByZXN1bHQgdG8gb2JzZXJ2ZS5cbiAgICogQHJldHVybnMgQSBuZXZlci1yZWplY3Rpbmcge0BsaW5rIFByb21pc2V9LCBvciBgbnVsbGAgaWYgdGhlIHJlc3VsdCBpcyBmdWxseSBzeW5jaHJvbm91cy5cbiAgICovXG4gIHByaXZhdGUgY2FwdHVyZVNldHRsZWQobG9hZFByb21pc2FibGU6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogbnVsbCB8IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChsb2FkUHJvbWlzYWJsZSA9PT0gbnVsbCB8fCBsb2FkUHJvbWlzYWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGxvYWRQcm9taXNhYmxlKS50aGVuKG5vb3AsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgdGhpcy5jYXB0dXJlRXJyb3IoZXJyb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYSBsb2FkIHN0ZXAgc3luY2hyb25vdXNseSwgcmVjb3JkaW5nIGEgc3luY2hyb25vdXMgdGhyb3csIGFuZCB3cmFwcyBhbnkgYXN5bmMgdGFpbCBzbyBpdCBuZXZlciByZWplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGVGbiAtIEEgZnVuY3Rpb24gdGhhdCBzdGFydHMgdGhlIGxvYWQgc3RlcCBhbmQgcmV0dXJucyBpdHMgcmVzdWx0LlxuICAgKiBAcmV0dXJucyBBIG5ldmVyLXJlamVjdGluZyB7QGxpbmsgUHJvbWlzZX0sIG9yIGBudWxsYCBpZiB0aGUgc3RlcCBpcyBmdWxseSBzeW5jaHJvbm91cy5cbiAgICovXG4gIHByaXZhdGUgY2FwdHVyZVN5bmMobG9hZFByb21pc2FibGVGbjogKCkgPT4gbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IGxvYWRQcm9taXNhYmxlOiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPjtcbiAgICB0cnkge1xuICAgICAgbG9hZFByb21pc2FibGUgPSBsb2FkUHJvbWlzYWJsZUZuKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuY2FwdHVyZUVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhcHR1cmVTZXR0bGVkKGxvYWRQcm9taXNhYmxlKTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdExvYWRQcm9taXNhYmxlKGNvbXBvbmVudDogQ29tcG9uZW50KTogbnVsbCB8IFByb21pc2FibGU8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jaGlsZHJlblNldC5oYXMoY29tcG9uZW50KSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChjb21wb25lbnQgaW5zdGFuY2VvZiBDb21wb25lbnRFeCkge1xuICAgICAgcmV0dXJuIGNvbXBvbmVudC5sb2FkV2l0aFByb21pc2VzKCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tY29uZnVzaW5nLXZvaWQtZXhwcmVzc2lvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtYXNzZXJ0aW9uIC0tIEl0IGNhbiBiZSBgUHJvbWlzZTx2b2lkPmAgaW4gcnVudGltZS4gV2FudCBleHBsaWNpdGx5IGNhc3QgdG8gc2hvdyB3ZSBrbm93IGl0IG1heSBiZSBwcm9taXNlLCBkZXNwaXRlIHRoZSBkZWNsYXJlZCB0eXBlIGB2b2lkYC5cbiAgICByZXR1cm4gY29tcG9uZW50LmxvYWQoKSBhcyBQcm9taXNhYmxlPHZvaWQ+O1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldExvYWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRFcnJvcnMgPSBbXTtcbiAgICB0aGlzLmxvYWRQcm9taXNlID0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGEgZGVmZXJyZWQgbG9hZCBzdGVwLCByZWNvcmRpbmcgYSBzeW5jaHJvbm91cyB0aHJvdyBvciBhbiBhc3luYyByZWplY3Rpb24gd2l0aG91dCBldmVyIHJlLXRocm93aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGVGbiAtIEEgZnVuY3Rpb24gdGhhdCBzdGFydHMgdGhlIGxvYWQgc3RlcCBhbmQgcmV0dXJucyBpdHMgcmVzdWx0LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBydW5BbmRDYXB0dXJlKGxvYWRQcm9taXNhYmxlRm46ICgpID0+IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IChsb2FkUHJvbWlzYWJsZUZuKCkgPz8gdW5kZWZpbmVkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5jYXB0dXJlRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9hZFByb21pc2UobG9hZFByb21pc2U6IFByb21pc2U8dm9pZD4pOiB2b2lkIHtcbiAgICBjb25zdCBsb2FkUHJvbWlzZVdpdGhSZXNldDogUHJvbWlzZTx2b2lkPiA9IGxvYWRQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubG9hZFByb21pc2UgPT09IGxvYWRQcm9taXNlV2l0aFJlc2V0KSB7XG4gICAgICAgIHRoaXMubG9hZFByb21pc2UgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubG9hZFByb21pc2UgPSBsb2FkUHJvbWlzZVdpdGhSZXNldDtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLGlCQUFpQjtBQUUxQixTQUFTLG9CQUFvQjtBQUM3QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQU1BLE1BQU0sb0JBQW9CLFVBQWdDO0FBQUEsRUFDOUMsY0FBYyxvQkFBSSxJQUFlO0FBQUEsRUFDMUMsYUFBc0IsQ0FBQztBQUFBLEVBQ3ZCLGNBQW9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBYTVCLFNBQXVDLFdBQW1DO0FBQ3hGLFNBQUssVUFBVSxLQUFLLFNBQVM7QUFDN0IsU0FBSyxZQUFZLElBQUksU0FBUztBQUU5QixRQUFJLEtBQUssU0FBUztBQUNoQixXQUFLLG9CQUFvQixLQUFLLHNCQUFzQixTQUFTLENBQUM7QUFBQSxJQUNoRTtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLE9BQWE7QUFDM0IsUUFBSSxLQUFLLFNBQVM7QUFDaEI7QUFBQSxJQUNGO0FBRUEsU0FBSyxVQUFVO0FB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
|