@mnaoumov/obsidian-lib 6.0.0 → 6.0.1

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.
@@ -521,6 +521,7 @@ __export(merged_exports, {
521
521
  getOsUnsafePathCharsRegExp: () => import_validation.getOsUnsafePathCharsRegExp,
522
522
  getPath: () => import_file_system.getPath,
523
523
  getPrototypeOf: () => import_object_utils.getPrototypeOf,
524
+ getReferenceLinkText: () => import_reference.getReferenceLinkText,
524
525
  getRenderedContainer: () => import_dataview.getRenderedContainer,
525
526
  getSafeRenamePath: () => import_vault.getSafeRenamePath,
526
527
  getSettingsMigrationApiContract: () => import_settings_migration_api.getSettingsMigrationApiContract,
@@ -1439,6 +1440,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1439
1440
  getOsUnsafePathCharsRegExp,
1440
1441
  getPath,
1441
1442
  getPrototypeOf,
1443
+ getReferenceLinkText,
1442
1444
  getRenderedContainer,
1443
1445
  getSafeRenamePath,
1444
1446
  getSettingsMigrationApiContract,
@@ -1739,4 +1741,4 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1739
1741
  watchPluginApi,
1740
1742
  wrapForCallout
1741
1743
  });
1742
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX21lcmdlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgeyBnZXRBcHAgfSBmcm9tICcuL2FwcC50cyc7XG5leHBvcnQge1xuICByZXRyeVdpdGhUaW1lb3V0Tm90aWNlLFxuICBydW5XaXRoVGltZW91dE5vdGljZVxufSBmcm9tICcuL2FzeW5jLXdpdGgtbm90aWNlLnRzJztcbmV4cG9ydCB7XG4gIEF0dGFjaG1lbnRQYXRoQ29udGV4dCxcbiAgQ1VTVE9NX0FUVEFDSE1FTlRfTE9DQVRJT05fUExVR0lOX0lELFxuICBEVU1NWV9QQVRILFxuICBnZXRBdHRhY2htZW50RmlsZVBhdGgsXG4gIGdldEF0dGFjaG1lbnRGb2xkZXJQYXRoLFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aFN5bmNPck51bGwsXG4gIGdldEF2YWlsYWJsZVBhdGhGb3JBdHRhY2htZW50cyxcbiAgZ2V0Q2hlY2tJc0F0dGFjaG1lbnRVbml0Rm9sZGVyRnVuY3Rpb24sXG4gIGhhc093bkF0dGFjaG1lbnRGb2xkZXIsXG4gIGlzQXRQcm9wZXJBdHRhY2htZW50UGF0aFxufSBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQge1xuICBmaW5kQXR0YWNobWVudFVuaXRGb2xkZXJQYXRoLFxuICByZWJhc2VQYXRoT250b0ZvbGRlclxufSBmcm9tICcuL2F0dGFjaG1lbnQtdW5pdC1mb2xkZXIudHMnO1xuZXhwb3J0IHsgZ2V0SW5kZXhlZEJhY2tsaW5rc0ZvckZpbGUgfSBmcm9tICcuL2JhY2tsaW5rLWluZGV4LnRzJztcbmV4cG9ydCB7XG4gIHJlbmRlckJhY2tsaW5rc1RhYmxlLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyXG59IGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0IHsgUGx1Z2luQmFzZXNWaWV3UmVnaXN0cmFyIH0gZnJvbSAnLi9iYXNlcy12aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBDYWxsb3V0TW9kZSxcbiAgcmVuZGVyQ2FsbG91dCxcbiAgd3JhcEZvckNhbGxvdXRcbn0gZnJvbSAnLi9jYWxsb3V0LnRzJztcbmV4cG9ydCB7IGdldENhbnZhc1JlZmVyZW5jZXMgfSBmcm9tICcuL2NhbnZhcy50cyc7XG5leHBvcnQge1xuICBDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgsXG4gIGdldENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleCxcbiAgc2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LFxuICB1bnNldENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleFxufSBmcm9tICcuL2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC50cyc7XG5leHBvcnQgeyBjcmVhdGVDb2RlQmxvY2tSZWdFeHAgfSBmcm9tICcuL2NvZGUtYmxvY2stcmVnLWV4cC50cyc7XG5leHBvcnQgeyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9hYnN0cmFjdC1maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBDb21tYW5kSGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9jb21tYW5kLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2NvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBFZGl0b3JDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9lZGl0b3ItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBGb2xkZXJDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9mb2xkZXItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEdsb2JhbENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkRlbW9WYXVsdENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZGVtby12YXVsdC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlblNldHRpbmdzQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1zZXR0aW5ncy1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgVW5sb2NrQWN0aXZlTm90ZUNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL3VubG9jay1hY3RpdmUtbm90ZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ29tbWFuZFJlZ2lzdHJhciB9IGZyb20gJy4vY29tbWFuZC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgY29uZmlndXJlQ29tbXVuaXR5UGx1Z2luLFxuICBDb25maWd1cmVDb21tdW5pdHlQbHVnaW5SZXN1bHQsXG4gIGRpc2FibGVDb21tdW5pdHlQbHVnaW4sXG4gIGVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZ2V0Q29tbXVuaXR5UGx1Z2luUmVwbyxcbiAgZ2V0TGF0ZXN0UmVsZWFzZVZlcnNpb24sXG4gIGluc3RhbGxDb21tdW5pdHlQbHVnaW4sXG4gIGluc3RhbGxDb25maWd1cmVFbmFibGVDb21tdW5pdHlQbHVnaW4sXG4gIHNlYXJjaENvbW11bml0eVBsdWdpbnMsXG4gIHRvZ2dsZUVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgdG9nZ2xlSW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgdW5pbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICB1cGRhdGVDb21tdW5pdHlQbHVnaW4sXG4gIFVwZGF0ZUNvbW11bml0eVBsdWdpblJlc3VsdFxufSBmcm9tICcuL2NvbW11bml0eS1wbHVnaW5zLnRzJztcbmV4cG9ydCB7IEFib3J0U2lnbmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fib3J0LXNpZ25hbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsbC13aW5kb3dzLWV2ZW50LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBBc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyByZWdpc3RlckFzeW5jRXZlbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXN5bmMtZXZlbnRzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb21wb25lbnRFeCB9IGZyb20gJy4vY29tcG9uZW50cy9jb21wb25lbnQtZXgudHMnO1xuZXhwb3J0IHsgQ29uc29sZURlYnVnQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnNvbGUtZGVidWctY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvcmVQbHVnaW5Ub2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS1wbHVnaW4tdG9nZ2xlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBhc0Rpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRW1iZWRFeHRlbnNpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtYmVkLWV4dGVuc2lvbnMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdFBhcmFtc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmF0ZS1tYXJrZG93bi1saW5rLWRlZmF1bHQtcGFyYW1zLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBDYWxsYmFja0xheW91dFJlYWR5Q29tcG9uZW50LFxuICBMYXlvdXRSZWFkeUNvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0LXJlYWR5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIGFyb3VuZCxcbiAgaGFzUGF0Y2hUb2tlbixcbiAgTW9ua2V5QXJvdW5kQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9tb25rZXktYXJvdW5kLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBOb3RlYm9va05hdmlnYXRvck1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ub3RlYm9vay1uYXZpZ2F0b3ItbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpbkNvbnRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbkNvbmZsaWN0U2V2ZXJpdHksXG4gIFBsdWdpbkdhdGVDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1nYXRlLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBQbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gIFBsdWdpbk5vdGljZU1vZGVcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpblNldHRpbmdzVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy10YWItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpblN1Z2dlc3Rpb25Db21wb25lbnQsXG4gIFN1Z2dlc3RlZFBsdWdpblN0YXRlXG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tc3VnZ2VzdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUG9pbnRlclBvc2l0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvaW50ZXItcG9zaXRpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFJlZ2lzdHJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZ2lzdHJ5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBSZWxlYXNlTm90ZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVsZWFzZS1ub3Rlcy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgRW1wdHlGb2xkZXJCZWhhdmlvcixcbiAgUmVuYW1lRGVsZXRlSGFuZGxlckNvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvcmVuYW1lLWRlbGV0ZS1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBOT1RfRU1QVFlfRElSRUNUT1JZX0VSUk9SX0NPREUsXG4gIFJtZGlyR3VhcmRDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3JtZGlyLWd1YXJkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBTZXR0aW5nc01pZ3JhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5ncy1taWdyYXRpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFN5bnRheEhpZ2hsaWdodGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUZW1wbGF0ZXNMYW5ndWFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZXMtbGFuZ3VhZ2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9ycy9nZXQtZG9tLWV2ZW50cy1oYW5kbGVycy1jb25zdHJ1Y3Rvci50cyc7XG5leHBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4vY3NzLWNsYXNzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkRhdGFIYW5kbGVyIH0gZnJvbSAnLi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0IHtcbiAgZml4VGl0bGUsXG4gIG1ha2VMaW5rV2l0aFBhdGhcbn0gZnJvbSAnLi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCB7XG4gIGdldFJlbmRlcmVkQ29udGFpbmVyLFxuICBpbnNlcnRDb2RlQmxvY2ssXG4gIHJlbG9hZEN1cnJlbnRGaWxlQ2FjaGUsXG4gIHJlbmRlcklmcmFtZSxcbiAgcmVuZGVyUGFnaW5hdGVkTGlzdCxcbiAgcmVuZGVyUGFnaW5hdGVkVGFibGVcbn0gZnJvbSAnLi9kYXRhdmlldy50cyc7XG5leHBvcnQgeyBnZXRPYnNpZGlhbkxpYkRlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy50cyc7XG5leHBvcnQgeyBib290c3RyYXBEZW1vVmF1bHQgfSBmcm9tICcuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCB7XG4gIGdldERlbW9WYXVsdEFyY2hpdmVGaWxlTmFtZSxcbiAgZ2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZVxufSBmcm9tICcuL2RlbW8tdmF1bHQtbmFtaW5nLnRzJztcbmV4cG9ydCB7IG9wZW5EZW1vVmF1bHQgfSBmcm9tICcuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMnO1xuZXhwb3J0IHsgUGx1Z2luRWRpdG9yRXh0ZW5zaW9uUmVnaXN0cmFyIH0gZnJvbSAnLi9lZGl0b3ItZXh0ZW5zaW9uLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgeyBQbHVnaW5FZGl0b3JTdWdnZXN0UmVnaXN0cmFyIH0gZnJvbSAnLi9lZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgc3luY09wZW5FZGl0b3JCdWZmZXJzRm9yUGF0aCxcbiAgdG9nZ2xlRWRpdG9yUmVhZE9ubHlcbn0gZnJvbSAnLi9lZGl0b3IudHMnO1xuZXhwb3J0IHtcbiAgRXZlbnRSZWZEaXNwb3NhYmxlLFxuICBzdWJzY3JpYmVEaXNwb3NhYmxlRXZlbnQsXG4gIHN1YnNjcmliZUV2ZW50XG59IGZyb20gJy4vZXZlbnRzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkV4dGVuc2lvbnNSZWdpc3RyYXIgfSBmcm9tICcuL2V4dGVuc2lvbnMtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGFwcGx5Q29udGVudENoYW5nZXMsXG4gIGFwcGx5RmlsZUNoYW5nZXMsXG4gIGlzQ2FudmFzQ2hhbmdlLFxuICBpc0NhbnZhc0ZpbGVOb2RlQ2hhbmdlLFxuICBpc0NhbnZhc1RleHROb2RlQ2hhbmdlLFxuICBpc0NvbnRlbnRDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyxcbiAgdG9Gcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzXG59IGZyb20gJy4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0IHsgcmV2ZWFsSW5GaWxlRXhwbG9yZXIgfSBmcm9tICcuL2ZpbGUtZXhwbG9yZXIudHMnO1xuZXhwb3J0IHtcbiAgYWRkQWxpYXMsXG4gIGRlbGV0ZUFsaWFzLFxuICBwcm9jZXNzRnJvbnRtYXR0ZXIsXG4gIHdhaXRGb3JQZW5kaW5nTGlua1VwZGF0ZXNcbn0gZnJvbSAnLi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0IHtcbiAgYXNBcnJheU9mRmlsZXMsXG4gIGFzQXJyYXlPZkZvbGRlcnMsXG4gIGFzRmlsZSxcbiAgYXNGaWxlT3JOdWxsLFxuICBhc0ZvbGRlcixcbiAgYXNGb2xkZXJPck51bGwsXG4gIEJBU0VfRklMRV9FWFRFTlNJT04sXG4gIENBTlZBU19GSUxFX0VYVEVOU0lPTixcbiAgY2hlY2tFeHRlbnNpb24sXG4gIGRvZXNFeGlzdCxcbiAgRmlsZVN5c3RlbVR5cGUsXG4gIGdldEFic3RyYWN0RmlsZSxcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRCYXNlbmFtZSxcbiAgZ2V0RXh0ZW5zaW9uLFxuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICBnZXRGaWxlU3lzdGVtVHlwZSxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRGb2xkZXJPck51bGwsXG4gIGdldE1hcmtkb3duRmlsZXMsXG4gIGdldE9yQ3JlYXRlRmlsZSxcbiAgZ2V0T3JDcmVhdGVGb2xkZXIsXG4gIGdldFBhdGgsXG4gIGlzQWJzdHJhY3RGaWxlLFxuICBpc0Jhc2VGaWxlLFxuICBpc0NhbnZhc0ZpbGUsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXIsXG4gIGlzTWFya2Rvd25GaWxlLFxuICBpc05vdGUsXG4gIGlzUGF0aE9yRmlsZSxcbiAgaXNUcmVhdGVkQXNBdHRhY2htZW50LFxuICBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTixcbiAgTWlzc2luZ1BhdGhUcmVhdG1lbnQsXG4gIHRyaW1NYXJrZG93bkV4dGVuc2lvblxufSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmV4cG9ydCB7XG4gIEZPTERFUl9OT1RFU19QTFVHSU5fSUQsXG4gIEZvbGRlck5vdGVMb2NhdGlvbixcbiAgcmVzb2x2ZUZvbGRlck5vdGUsXG4gIHJlc29sdmVGb2xkZXJOb3RlQ29uZmlnXG59IGZyb20gJy4vZm9sZGVyLW5vdGUudHMnO1xuZXhwb3J0IHtcbiAgZW5hYmxlRnJvbnRtYXR0ZXJGb3JtYXR0aW5nUHJlc2VydmF0aW9uLFxuICBwcmVzZXJ2ZUZyb250bWF0dGVyRm9ybWF0dGluZ1xufSBmcm9tICcuL2Zyb250bWF0dGVyLWZvcm1hdHRpbmcudHMnO1xuZXhwb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5leHBvcnQge1xuICBjaGVja0lzUGxhaW5PYmplY3QsXG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHJlZ2lzdGVyRnJvbnRtYXR0ZXJGb3JtYXR0aW5nUHJlc2VydmVyLFxuICByZW1vdmVFbXB0eUZyb250bWF0dGVyVmFsdWVzLFxuICBzZXRGcm9udG1hdHRlclxufSBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcbmV4cG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi9nZW5lcmF0ZWQtZHVyaW5nLWJ1aWxkLnRzJztcbmV4cG9ydCB7IFBsdWdpbkhvdmVyTGlua1NvdXJjZVJlZ2lzdHJhciB9IGZyb20gJy4vaG92ZXItbGluay1zb3VyY2UtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGFwcGVuZENvZGVCbG9jayxcbiAgYXBwZW5kVGV4dE9yRnJhZ21lbnRDbG9uZSxcbiAgYXBwbHlTcGVsbGNoZWNrTW9kZSxcbiAgYXNDb2RlQmxvY2ssXG4gIGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3Ncbn0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9OUyxcbiAgaW5pdEkxOE4sXG4gIHRcbn0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuZXhwb3J0IHsgZW4gfSBmcm9tICcuL2kxOG4vbG9jYWxlcy9lbi50cyc7XG5leHBvcnQge1xuICBERUZBVUxUX0xBTkdVQUdFLFxuICBkZWZhdWx0VHJhbnNsYXRpb25zTWFwXG59IGZyb20gJy4vaTE4bi9sb2NhbGVzL3RyYW5zbGF0aW9ucy1tYXAudHMnO1xuZXhwb3J0IHsgaXNJbk9ic2lkaWFuIH0gZnJvbSAnLi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQge1xuICBpbmplY3RMaWJyYXJ5U3R5bGVzLFxuICBMQVNUX0xJQlJBUllfVkVSU0lPTl9LRVksXG4gIExJQlJBUllfU1RZTEVTX0VMRU1FTlRfSURcbn0gZnJvbSAnLi9saWJyYXJ5LXN0eWxlcy50cyc7XG5leHBvcnQge1xuICBPQlNJRElBTl9MSUJSQVJZX05BTUUsXG4gIE9ic2lkaWFuTGlicmFyeVxufSBmcm9tICcuL2xpYnJhcnkudHMnO1xuZXhwb3J0IHsgbm9ybWFsaXplTGlua05hbWUgfSBmcm9tICcuL2xpbmstbmFtZS50cyc7XG5leHBvcnQge1xuICBidWlsZEJhY2tsaW5rc1NuYXBzaG90LFxuICBjb252ZXJ0TGluayxcbiAgZWRpdEJhY2tsaW5rcyxcbiAgZWRpdEJhY2tsaW5rc1NuYXBzaG90LFxuICBlZGl0TGlua3MsXG4gIGVkaXRMaW5rc0luQ29udGVudCxcbiAgZXh0cmFjdExpbmtGaWxlLFxuICBnZW5lcmF0ZU1hcmtkb3duTGluayxcbiAgZ2VuZXJhdGVSYXdNYXJrZG93bkxpbmssXG4gIGdldEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdFBhcmFtc0ZucyxcbiAgaGFzQW5nbGVCcmFja2V0cyxcbiAgaGFzRW1iZWRTeW50YXgsXG4gIGhhc0xlYWRpbmdEb3QsXG4gIGhhc0xlYWRpbmdTbGFzaCxcbiAgaGFzV2lraWxpbmtTeW50YXgsXG4gIExpbmtQYXRoU3R5bGUsXG4gIExpbmtTdHlsZSxcbiAgc2hvdWxkUmVzZXRBbGlhcyxcbiAgc3BsaXRTdWJwYXRoLFxuICB1cGRhdGVGaWxlVXJsTGlua3NJbkNvbnRlbnQsXG4gIHVwZGF0ZUZpbGVVcmxMaW5rc0luRmlsZSxcbiAgdXBkYXRlTGluayxcbiAgdXBkYXRlTGlua3NJbkNvbnRlbnQsXG4gIHVwZGF0ZUxpbmtzSW5GaWxlXG59IGZyb20gJy4vbGluay50cyc7XG5leHBvcnQgeyBpbnZva2VBc3luY0FuZExvZyB9IGZyb20gJy4vbG9nZ2VyLnRzJztcbmV4cG9ydCB7IGxvb3AgfSBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0IHsgUGx1Z2luTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3JSZWdpc3RyYXIgfSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8sXG4gIGluc2VydEFmdGVyQ29kZUJsb2NrLFxuICBpbnNlcnRCZWZvcmVDb2RlQmxvY2ssXG4gIHJlbW92ZUNvZGVCbG9jayxcbiAgcmVwbGFjZUNvZGVCbG9ja1xufSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzJztcbmV4cG9ydCB7IFBsdWdpbk1hcmtkb3duUG9zdFByb2Nlc3NvclJlZ2lzdHJhciB9IGZyb20gJy4vbWFya2Rvd24tcG9zdC1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IGdldEZ1bGxDb250ZW50SHRtbCB9IGZyb20gJy4vbWFya2Rvd24tdmlldy50cyc7XG5leHBvcnQge1xuICBmdWxsUmVuZGVyLFxuICBtYXJrZG93blRvSHRtbCxcbiAgcmVnaXN0ZXJMaW5rSGFuZGxlcnMsXG4gIHJlbmRlckV4dGVybmFsTGluayxcbiAgcmVuZGVySW50ZXJuYWxMaW5rXG59IGZyb20gJy4vbWFya2Rvd24udHMnO1xuZXhwb3J0IHtcbiAgQURWQU5DRURfTUVUQURBVEFfQ0FDSEVfUExVR0lOX0lELFxuICBCQUNLTElOS19DQUNIRV9QTFVHSU5fSUQsXG4gIENhY2hlZE1ldGFkYXRhRXhGZWF0dXJlLFxuICBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHksXG4gIGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgsXG4gIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlLFxuICBnZXRDYWNoZVNhZmUsXG4gIGdldEZyb250bWF0dGVyU2FmZSxcbiAgZ2V0TGlua3MsXG4gIGhhc0JhY2tsaW5rQ2FjaGVQbHVnaW4sXG4gIGlzQ2FjaGVkTWV0YWRhdGFFeCxcbiAgcGFyc2VNZXRhZGF0YSxcbiAgcmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHJlZ2lzdGVyRmlsZXMsXG4gIHVucmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHVucmVnaXN0ZXJGaWxlc1xufSBmcm9tICcuL21ldGFkYXRhLWNhY2hlLnRzJztcbmV4cG9ydCB7IGFsZXJ0IH0gZnJvbSAnLi9tb2RhbHMvYWxlcnQudHMnO1xuZXhwb3J0IHsgY29uZmlybSB9IGZyb20gJy4vbW9kYWxzL2NvbmZpcm0udHMnO1xuZXhwb3J0IHsgTWluaW1pemFibGVNb2RhbCB9IGZyb20gJy4vbW9kYWxzL21pbmltaXphYmxlLW1vZGFsLnRzJztcbmV4cG9ydCB7XG4gIE1vZGFsQ29tbWFuZEJ1aWxkZXIsXG4gIE1vZGFsQ29tbWFuZHNSZW5kZXJNb2RlXG59IGZyb20gJy4vbW9kYWxzL21vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5leHBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFscy9tb2RhbC50cyc7XG5leHBvcnQgeyBwcm9tcHQgfSBmcm9tICcuL21vZGFscy9wcm9tcHQudHMnO1xuZXhwb3J0IHsgc2VsZWN0SXRlbSB9IGZyb20gJy4vbW9kYWxzL3NlbGVjdC1pdGVtLnRzJztcbmV4cG9ydCB7IHNlbGVjdE9wdGlvbiB9IGZyb20gJy4vbW9kYWxzL3NlbGVjdC1vcHRpb24udHMnO1xuZXhwb3J0IHsgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIgfSBmcm9tICcuL21vZGFscy9zdWdnZXN0LW1vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5leHBvcnQge1xuICBmaWx0ZXJIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aHMsXG4gIGZpbmROb1ByaW9yaXR5V2lubmVyUmVhc29uLFxuICBmaW5kTm90ZVByaW9yaXR5UmFuayxcbiAgTk9fUFJJT1JJVFlfTUFUQ0gsXG4gIE5vUHJpb3JpdHlXaW5uZXJSZWFzb24sXG4gIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aFxufSBmcm9tICcuL25vdGUtcHJpb3JpdHkudHMnO1xuZXhwb3J0IHtcbiAgTk9URUJPT0tfTkFWSUdBVE9SX01FTlVfU09VUkNFLFxuICBOT1RFQk9PS19OQVZJR0FUT1JfUExVR0lOX0lELFxuICByZXNvbHZlTm90ZWJvb2tOYXZpZ2F0b3JBcGlcbn0gZnJvbSAnLi9ub3RlYm9vay1uYXZpZ2F0b3IudHMnO1xuZXhwb3J0IHtcbiAgZ2V0T2JzaWRpYW5MaWJTdGF0ZSxcbiAgcmVzZXRPYnNpZGlhbkxpYlN0YXRlXG59IGZyb20gJy4vb2JzaWRpYW4tbGliLXN0YXRlLnRzJztcbmV4cG9ydCB7IFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi1wcm90b2NvbC1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXROZXdMaW5rRm9ybWF0LFxuICBpc1NwZWxsY2hlY2tFbmFibGVkLFxuICBpc1NwZWxsY2hlY2tFbmFibGVkRm9yTW9kZSxcbiAgc2hvdWxkVXNlV2lraWxpbmtzLFxuICBTcGVsbGNoZWNrTW9kZVxufSBmcm9tICcuL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmV4cG9ydCB7XG4gIGVzY2FwZUFsaWFzLFxuICBpc1BhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlLFxuICBpc1BhcnNlTGlua1JlZmVyZW5jZSxcbiAgcGFyc2VGcm9udG1hdHRlckxpbmtzLFxuICBwYXJzZUxpbmssXG4gIHBhcnNlTGlua3MsXG4gIHRvUGFyc2VMaW5rUmVmZXJlbmNlLFxuICB1bmVzY2FwZUFsaWFzXG59IGZyb20gJy4vcGFyc2UtbGluay50cyc7XG5leHBvcnQge1xuICBQYXRoU2V0dGluZ3MsXG4gIHBhdGhzVmFsaWRhdG9yXG59IGZyb20gJy4vcGF0aC1zZXR0aW5ncy50cyc7XG5leHBvcnQgeyBwcmludFRvUGRmIH0gZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ2xpSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vcGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBmaW5kUGx1Z2luQXBpLFxuICBnZXRWYWxpZGF0ZVBsdWdpbkFwaVBheWxvYWRzRGVidWdTd2l0Y2gsXG4gIFBsdWdpbkFwaVBheWxvYWRLaW5kLFxuICBQbHVnaW5BcGlSZXZva2VkRXJyb3IsXG4gIFBsdWdpbkFwaVVuYXZhaWxhYmlsaXR5UmVhc29uLFxuICBQbHVnaW5BcGlVbmF2YWlsYWJsZUVycm9yLFxuICBQbHVnaW5BcGlWYWxpZGF0aW9uRXJyb3IsXG4gIHB1Ymxpc2hQbHVnaW5BcGksXG4gIHdhdGNoUGx1Z2luQXBpXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1hcGkudHMnO1xuZXhwb3J0IHtcbiAgYWRkUGx1Z2luQ3NzQ2xhc3NlcyxcbiAgaW5pdERlYnVnQ29udHJvbGxlcixcbiAgaW5pdFBsdWdpbkNvbnRleHRcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luRXZlbnRTb3VyY2VJbXBsIH0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWV2ZW50LXNvdXJjZS50cyc7XG5leHBvcnQge1xuICBnZXRJbnN0YWxsZWRQbHVnaW5TdGF0ZSxcbiAgZ2V0SW5zdGFsbGVkUGx1Z2luVmVyc2lvbixcbiAgaW5zdGFsbEFuZEVuYWJsZVBsdWdpbixcbiAgSW5zdGFsbGVkUGx1Z2luU3RhdGUsXG4gIHVwZGF0ZVBsdWdpblxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4taW5zdGFsbC1zdGF0ZS50cyc7XG5leHBvcnQge1xuICBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUsXG4gIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FLFxuICB0cmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnRcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luU2V0dGluZ3NUYWJCYXNlLFxuICBTQVZFX1RPX0ZJTEVfQ09OVEVYVFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tc2V0dGluZ3MtdGFiLnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbkJhc2UsXG4gIHJlbG9hZFBsdWdpbixcbiAgc2hvd0Vycm9yQW5kRGlzYWJsZVBsdWdpblxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4udHMnO1xuZXhwb3J0IHsgZ2V0U2V0dGluZ3NNaWdyYXRpb25BcGlDb250cmFjdCB9IGZyb20gJy4vcGx1Z2luL3NldHRpbmdzLW1pZ3JhdGlvbi1hcGkudHMnO1xuZXhwb3J0IHsgZWRpdEZpZWxkc0luUG9wb3ZlciB9IGZyb20gJy4vcG9wb3ZlcnMvZmllbGQtcG9wb3Zlci50cyc7XG5leHBvcnQge1xuICBjcmVhdGVBbmNob3JGcm9tRG9jdW1lbnRDZW50ZXIsXG4gIGNyZWF0ZUFuY2hvckZyb21FbGVtZW50LFxuICBjcmVhdGVBbmNob3JGcm9tUG9pbnQsXG4gIGNyZWF0ZUFuY2hvckZyb21TZWxlY3Rpb25cbn0gZnJvbSAnLi9wb3BvdmVycy9wb3BvdmVyLWFuY2hvci50cyc7XG5leHBvcnQgeyBzaG93UG9wb3ZlciB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci50cyc7XG5leHBvcnQge1xuICBjaGVja1Byb3BlcnR5RW50cnlNYXRjaGVzLFxuICBpc1Byb3BlcnR5RW50cnksXG4gIFBST1BFUlRZX0VOVFJZX1BSRUZJWFxufSBmcm9tICcuL3Byb3BlcnR5LWVudHJ5LnRzJztcbmV4cG9ydCB7XG4gIGFkZFRvUXVldWUsXG4gIGFkZFRvUXVldWVBbmRXYWl0LFxuICBmbHVzaFF1ZXVlXG59IGZyb20gJy4vcXVldWUudHMnO1xuZXhwb3J0IHtcbiAgQXBwQ29udGV4dCxcbiAgdXNlQXBwXG59IGZyb20gJy4vcmVhY3QvYXBwLWNvbnRleHQudHMnO1xuZXhwb3J0IHtcbiAgaXNDYW52YXNGaWxlTm9kZVJlZmVyZW5jZSxcbiAgaXNDYW52YXNSZWZlcmVuY2UsXG4gIGlzQ2FudmFzVGV4dE5vZGVSZWZlcmVuY2UsXG4gIGlzUmVmZXJlbmNlSW5PZmZzZXRSYW5nZSxcbiAgcmVmZXJlbmNlVG9GaWxlQ2hhbmdlLFxuICBzb3J0UmVmZXJlbmNlc1xufSBmcm9tICcuL3JlZmVyZW5jZS50cyc7XG5leHBvcnQge1xuICBpc1Jlc291cmNlTG9ja2VkRm9yUGF0aCxcbiAgaXNSZXNvdXJjZUxvY2tlZEZvclBhdGhCeUFuY2VzdG9yLFxuICBsb2NrUmVzb3VyY2VGb3JQYXRoLFxuICByZXF1ZXN0UmVzb3VyY2VVbmxvY2tGb3JQYXRoLFxuICBSZXNvdXJjZUxvY2tDb21wb25lbnQsXG4gIFJlc291cmNlTG9ja2VkRXJyb3IsXG4gIHVubG9ja1Jlc291cmNlRm9yUGF0aFxufSBmcm9tICcuL3Jlc291cmNlLWxvY2sudHMnO1xuZXhwb3J0IHsgcmVsYXRpdmVQYXRoVG9SZXNvdXJjZVVybCB9IGZyb20gJy4vcmVzb3VyY2UtdXJsLnRzJztcbmV4cG9ydCB7IFBsdWdpblJpYmJvbkljb25SZWdpc3RyYXIgfSBmcm9tICcuL3JpYmJvbi1pY29uLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2NoZWNrYm94LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb2RlSGlnaGxpZ2h0ZXJDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9jb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZGF0ZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLXRpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZW1haWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEZpbGVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9maWxlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNb250aENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL21vbnRoLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlRW1haWxDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9tdWx0aXBsZS1lbWFpbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbnVtYmVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3Bhc3N3b3JkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBlbnN1cmVXcmFwcGVkIH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnQtd3JhcHBlci50cyc7XG5leHBvcnQgeyBUZWxlcGhvbmVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90ZWxlcGhvbmUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldFRleHRCYXNlZENvbXBvbmVudFZhbHVlIH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVGltZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRyaVN0YXRlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtcmFuZ2UtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVXJsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdXJsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBnZXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy92YWxpZGF0b3ItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFdlZWtDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy93ZWVrLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBhZG9wdFNldHRpbmdFeCxcbiAgU2V0dGluZ0V4XG59IGZyb20gJy4vc2V0dGluZy1leC50cyc7XG5leHBvcnQgeyBTZXR0aW5nR3JvdXBFeCB9IGZyb20gJy4vc2V0dGluZy1ncm91cC1leC50cyc7XG5leHBvcnQgeyBQbHVnaW5TdGF0dXNCYXJJdGVtUmVnaXN0cmFyIH0gZnJvbSAnLi9zdGF0dXMtYmFyLWl0ZW0tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGdldFRlbXBsYXRlckZ1bmN0aW9ucyxcbiAgZ2V0VGVtcGxhdGVyUmVuZGVyVGFyZ2V0RmlsZSxcbiAgcGFyc2VUZW1wbGF0ZSxcbiAgcmVxdWlyZVRlbXBsYXRlckFwaSxcbiAgcmVzb2x2ZVRlbXBsYXRlckFwaSxcbiAgVEVNUExBVEVSX1BMVUdJTl9JRCxcbiAgVGVtcGxhdGVyQWN0aXZlRmlsZVByb3ZpZGVyLFxuICBUZW1wbGF0ZXJSdW5Nb2RlLFxuICBUZW1wbGF0ZXJVbmF2YWlsYWJpbGl0eVJlYXNvbixcbiAgVGVtcGxhdGVyVW5hdmFpbGFibGVFcnJvclxufSBmcm9tICcuL3RlbXBsYXRlci50cyc7XG5leHBvcnQgeyBEdXJhdGlvblRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZHVyYXRpb24tdHJhbnNmb3JtZXIudHMnO1xuZXhwb3J0IHtcbiAgY2xpY2tFbGVtZW50LFxuICBjbGlja01vdXNlLFxuICBob3ZlckVsZW1lbnQsXG4gIG1vdmVNb3VzZSxcbiAgcHJlc3NLZXksXG4gIHR5cGVJbnRvRWRpdG9yLFxuICB1bmhvdmVyRWxlbWVudFxufSBmcm9tICcuL3RydXN0ZWQtaW5wdXQudHMnO1xuZXhwb3J0IHtcbiAgZ2V0T3NBbmRPYnNpZGlhblVuc2FmZVBhdGhDaGFyc1JlZ0V4cCxcbiAgZ2V0T3NVbnNhZmVQYXRoQ2hhcnNSZWdFeHAsXG4gIGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzLFxuICBpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyLFxuICBpc1dpbmRvd3NSZXNlcnZlZE5hbWUsXG4gIE9CU0lESUFOX1VOU0FGRV9GSUxFTkFNRV9DSEFSUyxcbiAgdHJpbVdpbmRvd3NUcmFpbGluZ0NoYXJzLFxuICBVTklYX1VOU0FGRV9QQVRIX0NIQVJTLFxuICBXSU5ET1dTX1VOU0FGRV9QQVRIX0NIQVJTXG59IGZyb20gJy4vdmFsaWRhdGlvbi50cyc7XG5leHBvcnQge1xuICBkZWxldGVJZk5vdFVzZWQsXG4gIERlbGV0ZUlmTm90VXNlZFJlc3VsdFxufSBmcm9tICcuL3ZhdWx0LWRlbGV0ZS50cyc7XG5leHBvcnQgeyBWYXVsdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi92YXVsdC10cmFuc2FjdGlvbi50cyc7XG5leHBvcnQge1xuICBjbGVhbnVwRW1wdHlGb2xkZXJzLFxuICBjb3B5U2FmZSxcbiAgY3JlYXRlRm9sZGVyU2FmZSxcbiAgQ3JlYXRlRm9sZGVyU2FmZVJlc3VsdCxcbiAgY3JlYXRlVGVtcG9yYXJ5RmlsZSxcbiAgY3JlYXRlVGVtcG9yYXJ5Rm9sZGVyLFxuICBkZWxldGVFbXB0eUZvbGRlcixcbiAgZGVsZXRlRW1wdHlGb2xkZXJIaWVyYXJjaHksXG4gIGdldEFic3RyYWN0RmlsZVBhdGhTYWZlLFxuICBnZXRBdmFpbGFibGVQYXRoLFxuICBnZXRGaWxlUGF0aFNhZmUsXG4gIGdldEZvbGRlclBhdGhTYWZlLFxuICBnZXRNYXJrZG93bkZpbGVzU29ydGVkLFxuICBnZXROb3RlRmlsZXNTb3J0ZWQsXG4gIGdldE9yQ3JlYXRlQWJzdHJhY3RGaWxlU2FmZSxcbiAgZ2V0T3JDcmVhdGVGaWxlU2FmZSxcbiAgZ2V0T3JDcmVhdGVGb2xkZXJTYWZlLFxuICBnZXRTYWZlUmVuYW1lUGF0aCxcbiAgSW52b2tlRmlsZUFjdGlvblNhZmVSZXN1bHQsXG4gIGludm9rZVdpdGhGaWxlU3lzdGVtTG9jayxcbiAgaXNDaGlsZCxcbiAgaXNDaGlsZE9yU2VsZixcbiAgaXNFbXB0eUZvbGRlcixcbiAgbGlzdFNhZmUsXG4gIHByb2Nlc3MsXG4gIHJlYWRTYWZlLFxuICByZW5hbWVTYWZlLFxuICBzYXZlTm90ZSxcbiAgdHJhc2hTYWZlXG59IGZyb20gJy4vdmF1bHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luVmlld1JlZ2lzdHJhciB9IGZyb20gJy4vdmlldy1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZW5zdXJlTGF5b3V0UmVhZHksXG4gIGdldEFsbENvbnRhaW5lcnMsXG4gIGdldEFsbERvbVdpbmRvd3MsXG4gIGdldE1haW5XaW5kb3csXG4gIHN3aXRjaFRvTWFpbldpbmRvdyxcbiAgc3dpdGNoVG9XaW5kb3dcbn0gZnJvbSAnLi93b3Jrc3BhY2UudHMnO1xuZXhwb3J0IHtcbiAgYWJvcnRTaWduYWxBbnksXG4gIGFib3J0U2lnbmFsTmV2ZXIsXG4gIGFib3J0U2lnbmFsVGltZW91dCxcbiAgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyLFxuICBnZXRTaGFyZWRBYm9ydFNpZ25hbCxcbiAgSU5GSU5JVEVfVElNRU9VVCxcbiAgb25BYm9ydCxcbiAgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcixcbiAgd2FpdEZvckFib3J0XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hYm9ydC1jb250cm9sbGVyJztcbmV4cG9ydCB7IGNyZWF0ZUFnZ3JlZ2F0ZUVycm9yIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FnZ3JlZ2F0ZS1lcnJvcic7XG5leHBvcnQge1xuICBhcnJheUd1YXJkLFxuICBCT09MRUFOX0dVQVJELFxuICBjcmVhdGVBcGlDb250cmFjdFNjaGVtYUJ1aWxkZXJzLFxuICBjcmVhdGVBcmd1bWVudHNTY2hlbWEsXG4gIGNyZWF0ZUV4cGVjdGVkVHlwZUd1YXJkLFxuICBjcmVhdGVUeXBlR3VhcmRTY2hlbWEsXG4gIGRlZmluZUFwaUNvbnRyYWN0LFxuICBpbnN0YW5jZU9mR3VhcmQsXG4gIGxpdGVyYWxHdWFyZCxcbiAgbnVsbGFibGVHdWFyZCxcbiAgTlVNQkVSX0dVQVJELFxuICBvYmplY3RHdWFyZCxcbiAgb3B0aW9uYWxHdWFyZCxcbiAgb3B0aW9uc0d1YXJkLFxuICBTVFJJTkdfQVJSQVlfR1VBUkQsXG4gIFNUUklOR19HVUFSRCxcbiAgVU5ERUZJTkVEX0dVQVJELFxuICB1bmlvbkd1YXJkXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hcGktY29udHJhY3QnO1xuZXhwb3J0IHtcbiAgdmFsaWRhdGVTeW5jLFxuICB2ZXJpZnlBcGlDb250cmFjdFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0LXZlcmlmaWVyJztcbmV4cG9ydCB7XG4gIGZpbHRlckluUGxhY2UsXG4gIHNuYXBzaG90LFxuICB1bmlxdWUsXG4gIHVuaXF1ZUluUGxhY2Vcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FycmF5JztcbmV4cG9ydCB7IHRvQXJyYXlCdWZmZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXJyYXktYnVmZmVyJztcbmV4cG9ydCB7XG4gIGFkZEVycm9ySGFuZGxlcixcbiAgYXN5bmNGaWx0ZXIsXG4gIGFzeW5jRmlsdGVySW5QbGFjZSxcbiAgYXN5bmNGbGF0TWFwLFxuICBhc3luY01hcCxcbiAgY2hhaW4sXG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgY29udmVydFN5bmNUb0FzeW5jLFxuICBoYW5kbGVTaWxlbnRFcnJvcixcbiAgaWdub3JlRXJyb3IsXG4gIGludm9rZUFzeW5jU2FmZWx5LFxuICBpbnZva2VBc3luY1NhZmVseUFmdGVyRGVsYXksXG4gIGlzVGVybWluYXRpb25PblRpbWVvdXRFbmFibGVkLFxuICBtYXJrc0FzVGVybWluYXRlUmV0cnksXG4gIG5ldmVyRW5kcyxcbiAgbmV4dFRpY2tBc3luYyxcbiAgbm9ybWFsaXplUHJvbWlzYWJsZSxcbiAgcHJvbWlzZUFsbEFzeW5jRm5zU2VxdWVudGlhbGx5LFxuICBwcm9taXNlQWxsU2VxdWVudGlhbGx5LFxuICBxdWV1ZU1pY3JvdGFza0FzeW5jLFxuICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYyxcbiAgcmV0cnlXaXRoVGltZW91dCxcbiAgcnVuV2l0aFRpbWVvdXQsXG4gIHNldEltbWVkaWF0ZUFzeW5jLFxuICBzZXRUZXJtaW5hdGlvbk9uVGltZW91dEVuYWJsZWQsXG4gIHNldFRpbWVvdXRBc3luYyxcbiAgc2xlZXAsXG4gIHRpbWVvdXQsXG4gIHRvQXJyYXlcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcbmV4cG9ydCB7XG4gIEFzeW5jRXZlbnRSZWZEaXNwb3NhYmxlLFxuICBBc3luY0V2ZW50cyxcbiAgQXN5bmNFdmVudHNCYXNlLFxuICBtaXhpbkFzeW5jRXZlbnRzLFxuICBzdWJzY3JpYmVBc3luY0Rpc3Bvc2FibGVFdmVudFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXN5bmMtZXZlbnRzJztcbmV4cG9ydCB7XG4gIEFTWU5DX09QRVJBVElPTl9IT09LX0tFWSxcbiAgQVNZTkNfT1BFUkFUSU9OX0hPT0tfVkVSU0lPTixcbiAgZ2V0QXN5bmNPcGVyYXRpb25Ib29rLFxuICBub3RpZnlBc3luY09wZXJhdGlvblN0YXJ0ZWQsXG4gIHNldEFzeW5jT3BlcmF0aW9uSG9va1xufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXN5bmMtb3BlcmF0aW9uLWhvb2snO1xuZXhwb3J0IHsgQmVlcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2JlZXBlcic7XG5leHBvcnQge1xuICBibG9iVG9BcnJheUJ1ZmZlcixcbiAgYmxvYlRvRGF0YVVybCxcbiAgYmxvYlRvSnBlZ0FycmF5QnVmZmVyLFxuICBkYXRhVXJsVG9BcnJheUJ1ZmZlcixcbiAgaXNJbWFnZUZpbGVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Jsb2InO1xuZXhwb3J0IHsgZm9ybWF0Qnl0ZXMgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYnl0ZXMnO1xuZXhwb3J0IHtcbiAgZW5hYmxlTGlicmFyeURlYnVnZ2VycyxcbiAgZ2V0RGVidWdDb250cm9sbGVyLFxuICBnZXREZWJ1Z2dlcixcbiAgZ2V0TGliRGVidWdnZXIsXG4gIHByaW50V2l0aFN0YWNrVHJhY2UsXG4gIHNob3dJbml0aWFsRGVidWdNZXNzYWdlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kZWJ1Zyc7XG5leHBvcnQge1xuICBnZXREZWJ1Z1N3aXRjaCxcbiAgZ2V0RGVidWdTd2l0Y2hlcyxcbiAgZ2V0VGVybWluYXRlT25UaW1lb3V0RGVidWdTd2l0Y2gsXG4gIG9uRGVidWdTd2l0Y2hDaGFuZ2VkLFxuICByZWdpc3RlckRlYnVnU3dpdGNoLFxuICBzZXREZWJ1Z1N3aXRjaFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVidWctc3dpdGNoZXMnO1xuZXhwb3J0IHsgZXh0cmFjdFppcEFyY2hpdmUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVza3RvcC16aXAtZXh0cmFjdG9yJztcbmV4cG9ydCB7XG4gIEFzeW5jQ2FsbGJhY2tEaXNwb3NhYmxlLFxuICBBc3luY0Rpc3Bvc2FibGVCYXNlLFxuICBDYWxsYmFja0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVBc3luY0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVEaXNwb3NhYmxlLFxuICBEaXNwb3NhYmxlQmFzZSxcbiAgZGlzcG9zZSxcbiAgZGlzcG9zZUFzeW5jLFxuICBEaXNwb3NlRXJyb3JCZWhhdmlvcixcbiAgRGlzcG9zZU9yZGVyLFxuICBpc0FzeW5jRGlzcG9zYWJsZSxcbiAgaXNBc3luY0Rpc3Bvc2FibGVFeCxcbiAgaXNEaXNwb3NhYmxlLFxuICBpc0Rpc3Bvc2FibGVFeCxcbiAgTXVsdGlwbGVEaXNwb3NlQmVoYXZpb3IsXG4gIHRvQXN5bmNEaXNwb3NhYmxlRXgsXG4gIHRvRGlzcG9zYWJsZUV4XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kaXNwb3NhYmxlJztcbmV4cG9ydCB7XG4gIGdldEVudW1LZXksXG4gIGdldEVudW1WYWx1ZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZW51bSc7XG5leHBvcnQge1xuICBBU1lOQ19XUkFQUEVSX0VSUk9SX01FU1NBR0UsXG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZHJhaW5Db2xsZWN0ZWRVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgZW1pdEFzeW5jRXJyb3JFdmVudCxcbiAgZXJyb3JUb1N0cmluZyxcbiAgRXJyb3JXcmFwcGVyLFxuICBnZXRTdGFja1RyYWNlLFxuICBpc0FzeW5jRXJyb3JJZ25vcmVDb250ZXh0QWN0aXZlLFxuICBwcmludEVycm9yLFxuICByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIsXG4gIFNpbGVudEVycm9yLFxuICBzdGFydEFzeW5jRXJyb3JJZ25vcmVDb250ZXh0LFxuICBzdGFydENvbGxlY3RpbmdVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgc3RvcENvbGxlY3RpbmdVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgdGhyb3dFeHByZXNzaW9uXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9lcnJvcic7XG5leHBvcnQge1xuICBjbG9uZUZ1bmN0aW9uLFxuICBjcmVhdGVGdW5jdGlvbixcbiAgZ2V0RnVuY3Rpb25FeHByZXNzaW9uU3RyaW5nLFxuICBub29wLFxuICBub29wQXN5bmMsXG4gIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UsXG4gIG9taXRBc3luY1JldHVyblR5cGUsXG4gIG9taXRSZXR1cm5UeXBlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9mdW5jdGlvbic7XG5leHBvcnQge1xuICBjcmVhdGVEaXZBc3luYyxcbiAgY3JlYXRlRWxBc3luYyxcbiAgY3JlYXRlRnJhZ21lbnRBc3luYyxcbiAgY3JlYXRlU3BhbkFzeW5jLFxuICBjcmVhdGVTdmdBc3luYyxcbiAgZW5zdXJlTG9hZGVkLFxuICBnZXREb2N1bWVudFdpbmRvdyxcbiAgZ2V0WkluZGV4LFxuICBpc0VsZW1lbnRWaXNpYmxlSW5PZmZzZXRQYXJlbnQsXG4gIGlzTG9hZGVkLFxuICBvbkFuY2VzdG9yU2Nyb2xsT3JSZXNpemUsXG4gIHRvUHgsXG4gIHdhaXRVbnRpbENvbm5lY3RlZFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvaHRtbC1lbGVtZW50JztcbmV4cG9ydCB7XG4gIGV4dHJhY3RKcGVnTWV0YWRhdGFTZWdtZW50cyxcbiAgaW5qZWN0SnBlZ01ldGFkYXRhU2VnbWVudHNcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2pwZWctbWV0YWRhdGEnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9ERUJVR19OQU1FU1BBQ0UsXG4gIExpYnJhcnksXG4gIExJQlJBUllfTkFNRVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvbGlicmFyeSc7XG5leHBvcnQge1xuICBhc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsXG4gIGNhc3RUbyxcbiAgY2xvbmVXaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsXG4gIGRlbGV0ZVByb3BlcnRpZXMsXG4gIGRlbGV0ZVByb3BlcnR5LFxuICBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AsXG4gIEZ1bmN0aW9uSGFuZGxpbmdNb2RlLFxuICBnZXRBbGxFbnRyaWVzLFxuICBnZXRBbGxLZXlzLFxuICBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlLFxuICBnZXRQcm90b3R5cGVPZixcbiAgaXNEZWVwRXF1YWwsXG4gIG5hbWVvZixcbiAgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzLFxuICByZW1vdmVVbmRlZmluZWRQcm9wZXJ0aWVzLFxuICBzZXROZXN0ZWRQcm9wZXJ0eVZhbHVlLFxuICB0b0pzb25cbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL29iamVjdC11dGlscyc7XG5leHBvcnQge1xuICBiYXNlbmFtZSxcbiAgZGVsaW1pdGVyLFxuICBkaXJuYW1lLFxuICBleHRuYW1lLFxuICBmb3JtYXQsXG4gIGdldEZpbGVOYW1lLFxuICBnZXRGb2xkZXJOYW1lLFxuICBpc0Fic29sdXRlLFxuICBqb2luLFxuICBtYWtlRmlsZU5hbWUsXG4gIG5vcm1hbGl6ZUlmUmVsYXRpdmUsXG4gIG5vcm1hbGl6ZVBhdGgsXG4gIHBhcnNlLFxuICBwb3NpeCxcbiAgcmVsYXRpdmUsXG4gIHJlc29sdmUsXG4gIHNlcGFyYXRvcixcbiAgdG9Qb3NpeEJ1ZmZlcixcbiAgdG9Qb3NpeFBhdGhcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuZXhwb3J0IHtcbiAgQUxXQVlTX01BVENIX1JFR19FWFAsXG4gIGVzY2FwZVJlZ0V4cCxcbiAgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCxcbiAgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwLFxuICBpc1ZhbGlkUmVnRXhwLFxuICBORVZFUl9NQVRDSF9SRUdfRVhQLFxuICBvbmVPZixcbiAgUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3lcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuZXhwb3J0IHtcbiAgRU1QVFksXG4gIGVuc3VyZUVuZHNXaXRoLFxuICBlbnN1cmVMZkVuZGluZ3MsXG4gIGVuc3VyZVN0YXJ0c1dpdGgsXG4gIGVzY2FwZSxcbiAgZ2V0TGZOb3JtYWxpemVkT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcHBlcixcbiAgaGFzU2luZ2xlT2NjdXJyZW5jZSxcbiAgaW5kZW50LFxuICBpbnNlcnRBdCxcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICBub3JtYWxpemVTdHJpbmcsXG4gIHJlcGxhY2UsXG4gIHJlcGxhY2VBbGwsXG4gIHJlcGxhY2VBbGxBc3luYyxcbiAgdHJpbUVuZCxcbiAgdHJpbVN0YXJ0LFxuICB1bmVzY2FwZSxcbiAgdW5pbmRlbnRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5leHBvcnQgeyBEYXRlVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL2RhdGUtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgR3JvdXBUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvZ3JvdXAtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgTWFwVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL21hcC10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBTZXRUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvc2V0LXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFNraXBQcml2YXRlUHJvcGVydHlUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvc2tpcC1wcml2YXRlLXByb3BlcnR5LXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy90cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBUd29XYXlNYXBUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHdvLXdheS1tYXAtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgVHlwZWRUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHlwZWQtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgVHdvV2F5TWFwIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R3by13YXktbWFwJztcbmV4cG9ydCB7IFR5cGVBc3NlcnRlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlJztcbmV4cG9ydCB7XG4gIGFycmF5VHlwZUd1YXJkLFxuICBhc3NlcnQsXG4gIGFzc2VydEdlbmVyaWNPYmplY3QsXG4gIGFzc2VydE5ldmVyLFxuICBhc3NlcnROb25OdWxsYWJsZSxcbiAgZW5zdXJlR2VuZXJpY09iamVjdCxcbiAgZW5zdXJlTm9uTnVsbGFibGUsXG4gIGZ1bmN0aW9uVHlwZUd1YXJkLFxuICBpbnN0YW5jZU9mVHlwZUd1YXJkLFxuICBpc0Jvb2xlYW4sXG4gIGlzRnVuY3Rpb24sXG4gIGlzTnVsbCxcbiAgaXNOdW1iZXIsXG4gIGlzT2JqZWN0LFxuICBpc1N0cmluZyxcbiAgaXNTdHJpbmdBcnJheSxcbiAgaXNVbmRlZmluZWQsXG4gIGxpdGVyYWxUeXBlR3VhcmQsXG4gIG51bGxhYmxlVHlwZUd1YXJkLFxuICBvYmplY3RUeXBlR3VhcmQsXG4gIG9wdGlvbmFsVHlwZUd1YXJkLFxuICB1bmlvblR5cGVHdWFyZFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuZXhwb3J0IHtcbiAgZ2V0VHlwZXNjcmlwdExpYlN0YXRlLFxuICBnZXRUeXBlc2NyaXB0TGliU3RhdGVTbG90LFxuICByZXNldFR5cGVzY3JpcHRMaWJTdGF0ZSxcbiAgVFlQRVNDUklQVF9MSUJfU1RBVEVfS0VZLFxuICBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlc2NyaXB0LWxpYi1zdGF0ZSc7XG5leHBvcnQge1xuICBlbmNvZGVVcmwsXG4gIGlzRmlsZVVybCxcbiAgaXNVcmwsXG4gIG5vcm1hbGl6ZUZpbGVVcmwsXG4gIHBhdGhUb0ZpbGVVcmxcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3VybCc7XG5leHBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdmFsdWUtcHJvdmlkZXInO1xuZXhwb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXdyYXBwZXInO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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
1744
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX21lcmdlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgeyBnZXRBcHAgfSBmcm9tICcuL2FwcC50cyc7XG5leHBvcnQge1xuICByZXRyeVdpdGhUaW1lb3V0Tm90aWNlLFxuICBydW5XaXRoVGltZW91dE5vdGljZVxufSBmcm9tICcuL2FzeW5jLXdpdGgtbm90aWNlLnRzJztcbmV4cG9ydCB7XG4gIEF0dGFjaG1lbnRQYXRoQ29udGV4dCxcbiAgQ1VTVE9NX0FUVEFDSE1FTlRfTE9DQVRJT05fUExVR0lOX0lELFxuICBEVU1NWV9QQVRILFxuICBnZXRBdHRhY2htZW50RmlsZVBhdGgsXG4gIGdldEF0dGFjaG1lbnRGb2xkZXJQYXRoLFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aFN5bmNPck51bGwsXG4gIGdldEF2YWlsYWJsZVBhdGhGb3JBdHRhY2htZW50cyxcbiAgZ2V0Q2hlY2tJc0F0dGFjaG1lbnRVbml0Rm9sZGVyRnVuY3Rpb24sXG4gIGhhc093bkF0dGFjaG1lbnRGb2xkZXIsXG4gIGlzQXRQcm9wZXJBdHRhY2htZW50UGF0aFxufSBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQge1xuICBmaW5kQXR0YWNobWVudFVuaXRGb2xkZXJQYXRoLFxuICByZWJhc2VQYXRoT250b0ZvbGRlclxufSBmcm9tICcuL2F0dGFjaG1lbnQtdW5pdC1mb2xkZXIudHMnO1xuZXhwb3J0IHsgZ2V0SW5kZXhlZEJhY2tsaW5rc0ZvckZpbGUgfSBmcm9tICcuL2JhY2tsaW5rLWluZGV4LnRzJztcbmV4cG9ydCB7XG4gIHJlbmRlckJhY2tsaW5rc1RhYmxlLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyXG59IGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0IHsgUGx1Z2luQmFzZXNWaWV3UmVnaXN0cmFyIH0gZnJvbSAnLi9iYXNlcy12aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBDYWxsb3V0TW9kZSxcbiAgcmVuZGVyQ2FsbG91dCxcbiAgd3JhcEZvckNhbGxvdXRcbn0gZnJvbSAnLi9jYWxsb3V0LnRzJztcbmV4cG9ydCB7IGdldENhbnZhc1JlZmVyZW5jZXMgfSBmcm9tICcuL2NhbnZhcy50cyc7XG5leHBvcnQge1xuICBDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgsXG4gIGdldENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleCxcbiAgc2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LFxuICB1bnNldENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleFxufSBmcm9tICcuL2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC50cyc7XG5leHBvcnQgeyBjcmVhdGVDb2RlQmxvY2tSZWdFeHAgfSBmcm9tICcuL2NvZGUtYmxvY2stcmVnLWV4cC50cyc7XG5leHBvcnQgeyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9hYnN0cmFjdC1maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBDb21tYW5kSGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9jb21tYW5kLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2NvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBFZGl0b3JDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9lZGl0b3ItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBGb2xkZXJDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9mb2xkZXItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEdsb2JhbENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkRlbW9WYXVsdENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZGVtby12YXVsdC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlblNldHRpbmdzQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1zZXR0aW5ncy1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgVW5sb2NrQWN0aXZlTm90ZUNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL3VubG9jay1hY3RpdmUtbm90ZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ29tbWFuZFJlZ2lzdHJhciB9IGZyb20gJy4vY29tbWFuZC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgY29uZmlndXJlQ29tbXVuaXR5UGx1Z2luLFxuICBDb25maWd1cmVDb21tdW5pdHlQbHVnaW5SZXN1bHQsXG4gIGRpc2FibGVDb21tdW5pdHlQbHVnaW4sXG4gIGVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZ2V0Q29tbXVuaXR5UGx1Z2luUmVwbyxcbiAgZ2V0TGF0ZXN0UmVsZWFzZVZlcnNpb24sXG4gIGluc3RhbGxDb21tdW5pdHlQbHVnaW4sXG4gIGluc3RhbGxDb25maWd1cmVFbmFibGVDb21tdW5pdHlQbHVnaW4sXG4gIHNlYXJjaENvbW11bml0eVBsdWdpbnMsXG4gIHRvZ2dsZUVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgdG9nZ2xlSW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgdW5pbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICB1cGRhdGVDb21tdW5pdHlQbHVnaW4sXG4gIFVwZGF0ZUNvbW11bml0eVBsdWdpblJlc3VsdFxufSBmcm9tICcuL2NvbW11bml0eS1wbHVnaW5zLnRzJztcbmV4cG9ydCB7IEFib3J0U2lnbmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fib3J0LXNpZ25hbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsbC13aW5kb3dzLWV2ZW50LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBBc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyByZWdpc3RlckFzeW5jRXZlbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXN5bmMtZXZlbnRzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb21wb25lbnRFeCB9IGZyb20gJy4vY29tcG9uZW50cy9jb21wb25lbnQtZXgudHMnO1xuZXhwb3J0IHsgQ29uc29sZURlYnVnQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnNvbGUtZGVidWctY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvcmVQbHVnaW5Ub2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS1wbHVnaW4tdG9nZ2xlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBhc0Rpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRW1iZWRFeHRlbnNpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtYmVkLWV4dGVuc2lvbnMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdFBhcmFtc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmF0ZS1tYXJrZG93bi1saW5rLWRlZmF1bHQtcGFyYW1zLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBDYWxsYmFja0xheW91dFJlYWR5Q29tcG9uZW50LFxuICBMYXlvdXRSZWFkeUNvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0LXJlYWR5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIGFyb3VuZCxcbiAgaGFzUGF0Y2hUb2tlbixcbiAgTW9ua2V5QXJvdW5kQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9tb25rZXktYXJvdW5kLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBOb3RlYm9va05hdmlnYXRvck1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ub3RlYm9vay1uYXZpZ2F0b3ItbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpbkNvbnRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbkNvbmZsaWN0U2V2ZXJpdHksXG4gIFBsdWdpbkdhdGVDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1nYXRlLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBQbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gIFBsdWdpbk5vdGljZU1vZGVcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBsdWdpblNldHRpbmdzVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy10YWItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpblN1Z2dlc3Rpb25Db21wb25lbnQsXG4gIFN1Z2dlc3RlZFBsdWdpblN0YXRlXG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tc3VnZ2VzdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUG9pbnRlclBvc2l0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvaW50ZXItcG9zaXRpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFJlZ2lzdHJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZ2lzdHJ5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBSZWxlYXNlTm90ZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVsZWFzZS1ub3Rlcy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgRW1wdHlGb2xkZXJCZWhhdmlvcixcbiAgUmVuYW1lRGVsZXRlSGFuZGxlckNvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvcmVuYW1lLWRlbGV0ZS1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBOT1RfRU1QVFlfRElSRUNUT1JZX0VSUk9SX0NPREUsXG4gIFJtZGlyR3VhcmRDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3JtZGlyLWd1YXJkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBTZXR0aW5nc01pZ3JhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5ncy1taWdyYXRpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFN5bnRheEhpZ2hsaWdodGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUZW1wbGF0ZXNMYW5ndWFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZXMtbGFuZ3VhZ2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9ycy9nZXQtZG9tLWV2ZW50cy1oYW5kbGVycy1jb25zdHJ1Y3Rvci50cyc7XG5leHBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4vY3NzLWNsYXNzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkRhdGFIYW5kbGVyIH0gZnJvbSAnLi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0IHtcbiAgZml4VGl0bGUsXG4gIG1ha2VMaW5rV2l0aFBhdGhcbn0gZnJvbSAnLi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCB7XG4gIGdldFJlbmRlcmVkQ29udGFpbmVyLFxuICBpbnNlcnRDb2RlQmxvY2ssXG4gIHJlbG9hZEN1cnJlbnRGaWxlQ2FjaGUsXG4gIHJlbmRlcklmcmFtZSxcbiAgcmVuZGVyUGFnaW5hdGVkTGlzdCxcbiAgcmVuZGVyUGFnaW5hdGVkVGFibGVcbn0gZnJvbSAnLi9kYXRhdmlldy50cyc7XG5leHBvcnQgeyBnZXRPYnNpZGlhbkxpYkRlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy50cyc7XG5leHBvcnQgeyBib290c3RyYXBEZW1vVmF1bHQgfSBmcm9tICcuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCB7XG4gIGdldERlbW9WYXVsdEFyY2hpdmVGaWxlTmFtZSxcbiAgZ2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZVxufSBmcm9tICcuL2RlbW8tdmF1bHQtbmFtaW5nLnRzJztcbmV4cG9ydCB7IG9wZW5EZW1vVmF1bHQgfSBmcm9tICcuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMnO1xuZXhwb3J0IHsgUGx1Z2luRWRpdG9yRXh0ZW5zaW9uUmVnaXN0cmFyIH0gZnJvbSAnLi9lZGl0b3ItZXh0ZW5zaW9uLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgeyBQbHVnaW5FZGl0b3JTdWdnZXN0UmVnaXN0cmFyIH0gZnJvbSAnLi9lZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgc3luY09wZW5FZGl0b3JCdWZmZXJzRm9yUGF0aCxcbiAgdG9nZ2xlRWRpdG9yUmVhZE9ubHlcbn0gZnJvbSAnLi9lZGl0b3IudHMnO1xuZXhwb3J0IHtcbiAgRXZlbnRSZWZEaXNwb3NhYmxlLFxuICBzdWJzY3JpYmVEaXNwb3NhYmxlRXZlbnQsXG4gIHN1YnNjcmliZUV2ZW50XG59IGZyb20gJy4vZXZlbnRzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkV4dGVuc2lvbnNSZWdpc3RyYXIgfSBmcm9tICcuL2V4dGVuc2lvbnMtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGFwcGx5Q29udGVudENoYW5nZXMsXG4gIGFwcGx5RmlsZUNoYW5nZXMsXG4gIGlzQ2FudmFzQ2hhbmdlLFxuICBpc0NhbnZhc0ZpbGVOb2RlQ2hhbmdlLFxuICBpc0NhbnZhc1RleHROb2RlQ2hhbmdlLFxuICBpc0NvbnRlbnRDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyxcbiAgdG9Gcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzXG59IGZyb20gJy4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0IHsgcmV2ZWFsSW5GaWxlRXhwbG9yZXIgfSBmcm9tICcuL2ZpbGUtZXhwbG9yZXIudHMnO1xuZXhwb3J0IHtcbiAgYWRkQWxpYXMsXG4gIGRlbGV0ZUFsaWFzLFxuICBwcm9jZXNzRnJvbnRtYXR0ZXIsXG4gIHdhaXRGb3JQZW5kaW5nTGlua1VwZGF0ZXNcbn0gZnJvbSAnLi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0IHtcbiAgYXNBcnJheU9mRmlsZXMsXG4gIGFzQXJyYXlPZkZvbGRlcnMsXG4gIGFzRmlsZSxcbiAgYXNGaWxlT3JOdWxsLFxuICBhc0ZvbGRlcixcbiAgYXNGb2xkZXJPck51bGwsXG4gIEJBU0VfRklMRV9FWFRFTlNJT04sXG4gIENBTlZBU19GSUxFX0VYVEVOU0lPTixcbiAgY2hlY2tFeHRlbnNpb24sXG4gIGRvZXNFeGlzdCxcbiAgRmlsZVN5c3RlbVR5cGUsXG4gIGdldEFic3RyYWN0RmlsZSxcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRCYXNlbmFtZSxcbiAgZ2V0RXh0ZW5zaW9uLFxuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICBnZXRGaWxlU3lzdGVtVHlwZSxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRGb2xkZXJPck51bGwsXG4gIGdldE1hcmtkb3duRmlsZXMsXG4gIGdldE9yQ3JlYXRlRmlsZSxcbiAgZ2V0T3JDcmVhdGVGb2xkZXIsXG4gIGdldFBhdGgsXG4gIGlzQWJzdHJhY3RGaWxlLFxuICBpc0Jhc2VGaWxlLFxuICBpc0NhbnZhc0ZpbGUsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXIsXG4gIGlzTWFya2Rvd25GaWxlLFxuICBpc05vdGUsXG4gIGlzUGF0aE9yRmlsZSxcbiAgaXNUcmVhdGVkQXNBdHRhY2htZW50LFxuICBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTixcbiAgTWlzc2luZ1BhdGhUcmVhdG1lbnQsXG4gIHRyaW1NYXJrZG93bkV4dGVuc2lvblxufSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmV4cG9ydCB7XG4gIEZPTERFUl9OT1RFU19QTFVHSU5fSUQsXG4gIEZvbGRlck5vdGVMb2NhdGlvbixcbiAgcmVzb2x2ZUZvbGRlck5vdGUsXG4gIHJlc29sdmVGb2xkZXJOb3RlQ29uZmlnXG59IGZyb20gJy4vZm9sZGVyLW5vdGUudHMnO1xuZXhwb3J0IHtcbiAgZW5hYmxlRnJvbnRtYXR0ZXJGb3JtYXR0aW5nUHJlc2VydmF0aW9uLFxuICBwcmVzZXJ2ZUZyb250bWF0dGVyRm9ybWF0dGluZ1xufSBmcm9tICcuL2Zyb250bWF0dGVyLWZvcm1hdHRpbmcudHMnO1xuZXhwb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5leHBvcnQge1xuICBjaGVja0lzUGxhaW5PYmplY3QsXG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHJlZ2lzdGVyRnJvbnRtYXR0ZXJGb3JtYXR0aW5nUHJlc2VydmVyLFxuICByZW1vdmVFbXB0eUZyb250bWF0dGVyVmFsdWVzLFxuICBzZXRGcm9udG1hdHRlclxufSBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcbmV4cG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi9nZW5lcmF0ZWQtZHVyaW5nLWJ1aWxkLnRzJztcbmV4cG9ydCB7IFBsdWdpbkhvdmVyTGlua1NvdXJjZVJlZ2lzdHJhciB9IGZyb20gJy4vaG92ZXItbGluay1zb3VyY2UtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGFwcGVuZENvZGVCbG9jayxcbiAgYXBwZW5kVGV4dE9yRnJhZ21lbnRDbG9uZSxcbiAgYXBwbHlTcGVsbGNoZWNrTW9kZSxcbiAgYXNDb2RlQmxvY2ssXG4gIGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3Ncbn0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9OUyxcbiAgaW5pdEkxOE4sXG4gIHRcbn0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuZXhwb3J0IHsgZW4gfSBmcm9tICcuL2kxOG4vbG9jYWxlcy9lbi50cyc7XG5leHBvcnQge1xuICBERUZBVUxUX0xBTkdVQUdFLFxuICBkZWZhdWx0VHJhbnNsYXRpb25zTWFwXG59IGZyb20gJy4vaTE4bi9sb2NhbGVzL3RyYW5zbGF0aW9ucy1tYXAudHMnO1xuZXhwb3J0IHsgaXNJbk9ic2lkaWFuIH0gZnJvbSAnLi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQge1xuICBpbmplY3RMaWJyYXJ5U3R5bGVzLFxuICBMQVNUX0xJQlJBUllfVkVSU0lPTl9LRVksXG4gIExJQlJBUllfU1RZTEVTX0VMRU1FTlRfSURcbn0gZnJvbSAnLi9saWJyYXJ5LXN0eWxlcy50cyc7XG5leHBvcnQge1xuICBPQlNJRElBTl9MSUJSQVJZX05BTUUsXG4gIE9ic2lkaWFuTGlicmFyeVxufSBmcm9tICcuL2xpYnJhcnkudHMnO1xuZXhwb3J0IHsgbm9ybWFsaXplTGlua05hbWUgfSBmcm9tICcuL2xpbmstbmFtZS50cyc7XG5leHBvcnQge1xuICBidWlsZEJhY2tsaW5rc1NuYXBzaG90LFxuICBjb252ZXJ0TGluayxcbiAgZWRpdEJhY2tsaW5rcyxcbiAgZWRpdEJhY2tsaW5rc1NuYXBzaG90LFxuICBlZGl0TGlua3MsXG4gIGVkaXRMaW5rc0luQ29udGVudCxcbiAgZXh0cmFjdExpbmtGaWxlLFxuICBnZW5lcmF0ZU1hcmtkb3duTGluayxcbiAgZ2VuZXJhdGVSYXdNYXJrZG93bkxpbmssXG4gIGdldEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdFBhcmFtc0ZucyxcbiAgaGFzQW5nbGVCcmFja2V0cyxcbiAgaGFzRW1iZWRTeW50YXgsXG4gIGhhc0xlYWRpbmdEb3QsXG4gIGhhc0xlYWRpbmdTbGFzaCxcbiAgaGFzV2lraWxpbmtTeW50YXgsXG4gIExpbmtQYXRoU3R5bGUsXG4gIExpbmtTdHlsZSxcbiAgc2hvdWxkUmVzZXRBbGlhcyxcbiAgc3BsaXRTdWJwYXRoLFxuICB1cGRhdGVGaWxlVXJsTGlua3NJbkNvbnRlbnQsXG4gIHVwZGF0ZUZpbGVVcmxMaW5rc0luRmlsZSxcbiAgdXBkYXRlTGluayxcbiAgdXBkYXRlTGlua3NJbkNvbnRlbnQsXG4gIHVwZGF0ZUxpbmtzSW5GaWxlXG59IGZyb20gJy4vbGluay50cyc7XG5leHBvcnQgeyBpbnZva2VBc3luY0FuZExvZyB9IGZyb20gJy4vbG9nZ2VyLnRzJztcbmV4cG9ydCB7IGxvb3AgfSBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0IHsgUGx1Z2luTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3JSZWdpc3RyYXIgfSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8sXG4gIGluc2VydEFmdGVyQ29kZUJsb2NrLFxuICBpbnNlcnRCZWZvcmVDb2RlQmxvY2ssXG4gIHJlbW92ZUNvZGVCbG9jayxcbiAgcmVwbGFjZUNvZGVCbG9ja1xufSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzJztcbmV4cG9ydCB7IFBsdWdpbk1hcmtkb3duUG9zdFByb2Nlc3NvclJlZ2lzdHJhciB9IGZyb20gJy4vbWFya2Rvd24tcG9zdC1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IGdldEZ1bGxDb250ZW50SHRtbCB9IGZyb20gJy4vbWFya2Rvd24tdmlldy50cyc7XG5leHBvcnQge1xuICBmdWxsUmVuZGVyLFxuICBtYXJrZG93blRvSHRtbCxcbiAgcmVnaXN0ZXJMaW5rSGFuZGxlcnMsXG4gIHJlbmRlckV4dGVybmFsTGluayxcbiAgcmVuZGVySW50ZXJuYWxMaW5rXG59IGZyb20gJy4vbWFya2Rvd24udHMnO1xuZXhwb3J0IHtcbiAgQURWQU5DRURfTUVUQURBVEFfQ0FDSEVfUExVR0lOX0lELFxuICBCQUNLTElOS19DQUNIRV9QTFVHSU5fSUQsXG4gIENhY2hlZE1ldGFkYXRhRXhGZWF0dXJlLFxuICBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHksXG4gIGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgsXG4gIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlLFxuICBnZXRDYWNoZVNhZmUsXG4gIGdldEZyb250bWF0dGVyU2FmZSxcbiAgZ2V0TGlua3MsXG4gIGhhc0JhY2tsaW5rQ2FjaGVQbHVnaW4sXG4gIGlzQ2FjaGVkTWV0YWRhdGFFeCxcbiAgcGFyc2VNZXRhZGF0YSxcbiAgcmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHJlZ2lzdGVyRmlsZXMsXG4gIHVucmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHVucmVnaXN0ZXJGaWxlc1xufSBmcm9tICcuL21ldGFkYXRhLWNhY2hlLnRzJztcbmV4cG9ydCB7IGFsZXJ0IH0gZnJvbSAnLi9tb2RhbHMvYWxlcnQudHMnO1xuZXhwb3J0IHsgY29uZmlybSB9IGZyb20gJy4vbW9kYWxzL2NvbmZpcm0udHMnO1xuZXhwb3J0IHsgTWluaW1pemFibGVNb2RhbCB9IGZyb20gJy4vbW9kYWxzL21pbmltaXphYmxlLW1vZGFsLnRzJztcbmV4cG9ydCB7XG4gIE1vZGFsQ29tbWFuZEJ1aWxkZXIsXG4gIE1vZGFsQ29tbWFuZHNSZW5kZXJNb2RlXG59IGZyb20gJy4vbW9kYWxzL21vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5leHBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFscy9tb2RhbC50cyc7XG5leHBvcnQgeyBwcm9tcHQgfSBmcm9tICcuL21vZGFscy9wcm9tcHQudHMnO1xuZXhwb3J0IHsgc2VsZWN0SXRlbSB9IGZyb20gJy4vbW9kYWxzL3NlbGVjdC1pdGVtLnRzJztcbmV4cG9ydCB7IHNlbGVjdE9wdGlvbiB9IGZyb20gJy4vbW9kYWxzL3NlbGVjdC1vcHRpb24udHMnO1xuZXhwb3J0IHsgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIgfSBmcm9tICcuL21vZGFscy9zdWdnZXN0LW1vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5leHBvcnQge1xuICBmaWx0ZXJIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aHMsXG4gIGZpbmROb1ByaW9yaXR5V2lubmVyUmVhc29uLFxuICBmaW5kTm90ZVByaW9yaXR5UmFuayxcbiAgTk9fUFJJT1JJVFlfTUFUQ0gsXG4gIE5vUHJpb3JpdHlXaW5uZXJSZWFzb24sXG4gIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aFxufSBmcm9tICcuL25vdGUtcHJpb3JpdHkudHMnO1xuZXhwb3J0IHtcbiAgTk9URUJPT0tfTkFWSUdBVE9SX01FTlVfU09VUkNFLFxuICBOT1RFQk9PS19OQVZJR0FUT1JfUExVR0lOX0lELFxuICByZXNvbHZlTm90ZWJvb2tOYXZpZ2F0b3JBcGlcbn0gZnJvbSAnLi9ub3RlYm9vay1uYXZpZ2F0b3IudHMnO1xuZXhwb3J0IHtcbiAgZ2V0T2JzaWRpYW5MaWJTdGF0ZSxcbiAgcmVzZXRPYnNpZGlhbkxpYlN0YXRlXG59IGZyb20gJy4vb2JzaWRpYW4tbGliLXN0YXRlLnRzJztcbmV4cG9ydCB7IFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi1wcm90b2NvbC1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXROZXdMaW5rRm9ybWF0LFxuICBpc1NwZWxsY2hlY2tFbmFibGVkLFxuICBpc1NwZWxsY2hlY2tFbmFibGVkRm9yTW9kZSxcbiAgc2hvdWxkVXNlV2lraWxpbmtzLFxuICBTcGVsbGNoZWNrTW9kZVxufSBmcm9tICcuL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmV4cG9ydCB7XG4gIGVzY2FwZUFsaWFzLFxuICBpc1BhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlLFxuICBpc1BhcnNlTGlua1JlZmVyZW5jZSxcbiAgcGFyc2VGcm9udG1hdHRlckxpbmtzLFxuICBwYXJzZUxpbmssXG4gIHBhcnNlTGlua3MsXG4gIHRvUGFyc2VMaW5rUmVmZXJlbmNlLFxuICB1bmVzY2FwZUFsaWFzXG59IGZyb20gJy4vcGFyc2UtbGluay50cyc7XG5leHBvcnQge1xuICBQYXRoU2V0dGluZ3MsXG4gIHBhdGhzVmFsaWRhdG9yXG59IGZyb20gJy4vcGF0aC1zZXR0aW5ncy50cyc7XG5leHBvcnQgeyBwcmludFRvUGRmIH0gZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ2xpSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vcGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBmaW5kUGx1Z2luQXBpLFxuICBnZXRWYWxpZGF0ZVBsdWdpbkFwaVBheWxvYWRzRGVidWdTd2l0Y2gsXG4gIFBsdWdpbkFwaVBheWxvYWRLaW5kLFxuICBQbHVnaW5BcGlSZXZva2VkRXJyb3IsXG4gIFBsdWdpbkFwaVVuYXZhaWxhYmlsaXR5UmVhc29uLFxuICBQbHVnaW5BcGlVbmF2YWlsYWJsZUVycm9yLFxuICBQbHVnaW5BcGlWYWxpZGF0aW9uRXJyb3IsXG4gIHB1Ymxpc2hQbHVnaW5BcGksXG4gIHdhdGNoUGx1Z2luQXBpXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1hcGkudHMnO1xuZXhwb3J0IHtcbiAgYWRkUGx1Z2luQ3NzQ2xhc3NlcyxcbiAgaW5pdERlYnVnQ29udHJvbGxlcixcbiAgaW5pdFBsdWdpbkNvbnRleHRcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luRXZlbnRTb3VyY2VJbXBsIH0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWV2ZW50LXNvdXJjZS50cyc7XG5leHBvcnQge1xuICBnZXRJbnN0YWxsZWRQbHVnaW5TdGF0ZSxcbiAgZ2V0SW5zdGFsbGVkUGx1Z2luVmVyc2lvbixcbiAgaW5zdGFsbEFuZEVuYWJsZVBsdWdpbixcbiAgSW5zdGFsbGVkUGx1Z2luU3RhdGUsXG4gIHVwZGF0ZVBsdWdpblxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4taW5zdGFsbC1zdGF0ZS50cyc7XG5leHBvcnQge1xuICBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUsXG4gIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FLFxuICB0cmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnRcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luU2V0dGluZ3NUYWJCYXNlLFxuICBTQVZFX1RPX0ZJTEVfQ09OVEVYVFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tc2V0dGluZ3MtdGFiLnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbkJhc2UsXG4gIHJlbG9hZFBsdWdpbixcbiAgc2hvd0Vycm9yQW5kRGlzYWJsZVBsdWdpblxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4udHMnO1xuZXhwb3J0IHsgZ2V0U2V0dGluZ3NNaWdyYXRpb25BcGlDb250cmFjdCB9IGZyb20gJy4vcGx1Z2luL3NldHRpbmdzLW1pZ3JhdGlvbi1hcGkudHMnO1xuZXhwb3J0IHsgZWRpdEZpZWxkc0luUG9wb3ZlciB9IGZyb20gJy4vcG9wb3ZlcnMvZmllbGQtcG9wb3Zlci50cyc7XG5leHBvcnQge1xuICBjcmVhdGVBbmNob3JGcm9tRG9jdW1lbnRDZW50ZXIsXG4gIGNyZWF0ZUFuY2hvckZyb21FbGVtZW50LFxuICBjcmVhdGVBbmNob3JGcm9tUG9pbnQsXG4gIGNyZWF0ZUFuY2hvckZyb21TZWxlY3Rpb25cbn0gZnJvbSAnLi9wb3BvdmVycy9wb3BvdmVyLWFuY2hvci50cyc7XG5leHBvcnQgeyBzaG93UG9wb3ZlciB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci50cyc7XG5leHBvcnQge1xuICBjaGVja1Byb3BlcnR5RW50cnlNYXRjaGVzLFxuICBpc1Byb3BlcnR5RW50cnksXG4gIFBST1BFUlRZX0VOVFJZX1BSRUZJWFxufSBmcm9tICcuL3Byb3BlcnR5LWVudHJ5LnRzJztcbmV4cG9ydCB7XG4gIGFkZFRvUXVldWUsXG4gIGFkZFRvUXVldWVBbmRXYWl0LFxuICBmbHVzaFF1ZXVlXG59IGZyb20gJy4vcXVldWUudHMnO1xuZXhwb3J0IHtcbiAgQXBwQ29udGV4dCxcbiAgdXNlQXBwXG59IGZyb20gJy4vcmVhY3QvYXBwLWNvbnRleHQudHMnO1xuZXhwb3J0IHtcbiAgZ2V0UmVmZXJlbmNlTGlua1RleHQsXG4gIGlzQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UsXG4gIGlzQ2FudmFzUmVmZXJlbmNlLFxuICBpc0NhbnZhc1RleHROb2RlUmVmZXJlbmNlLFxuICBpc1JlZmVyZW5jZUluT2Zmc2V0UmFuZ2UsXG4gIHJlZmVyZW5jZVRvRmlsZUNoYW5nZSxcbiAgc29ydFJlZmVyZW5jZXNcbn0gZnJvbSAnLi9yZWZlcmVuY2UudHMnO1xuZXhwb3J0IHtcbiAgaXNSZXNvdXJjZUxvY2tlZEZvclBhdGgsXG4gIGlzUmVzb3VyY2VMb2NrZWRGb3JQYXRoQnlBbmNlc3RvcixcbiAgbG9ja1Jlc291cmNlRm9yUGF0aCxcbiAgcmVxdWVzdFJlc291cmNlVW5sb2NrRm9yUGF0aCxcbiAgUmVzb3VyY2VMb2NrQ29tcG9uZW50LFxuICBSZXNvdXJjZUxvY2tlZEVycm9yLFxuICB1bmxvY2tSZXNvdXJjZUZvclBhdGhcbn0gZnJvbSAnLi9yZXNvdXJjZS1sb2NrLnRzJztcbmV4cG9ydCB7IHJlbGF0aXZlUGF0aFRvUmVzb3VyY2VVcmwgfSBmcm9tICcuL3Jlc291cmNlLXVybC50cyc7XG5leHBvcnQgeyBQbHVnaW5SaWJib25JY29uUmVnaXN0cmFyIH0gZnJvbSAnLi9yaWJib24taWNvbi1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9jaGVja2JveC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvY29kZS1oaWdobGlnaHRlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2RhdGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IERhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZGF0ZS10aW1lLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2VtYWlsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTW9udGhDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9tb250aC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNdWx0aXBsZUVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZW1haWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWZpbGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLXRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL251bWJlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9wYXNzd29yZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgZW5zdXJlV3JhcHBlZCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3NldHRpbmctY29tcG9uZW50LXdyYXBwZXIudHMnO1xuZXhwb3J0IHsgVGVsZXBob25lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGVsZXBob25lLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBnZXRUZXh0QmFzZWRDb21wb25lbnRWYWx1ZSB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RleHQtYmFzZWQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRpbWVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90aW1lLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHJpLXN0YXRlLWNoZWNrYm94LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUeXBlZERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3R5cGVkLW11bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUeXBlZFJhbmdlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3R5cGVkLXJhbmdlLXRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3R5cGVkLXRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFVybENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3VybC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgZ2V0VmFsaWRhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdmFsaWRhdG9yLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvd2Vlay1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgYWRvcHRTZXR0aW5nRXgsXG4gIFNldHRpbmdFeFxufSBmcm9tICcuL3NldHRpbmctZXgudHMnO1xuZXhwb3J0IHsgU2V0dGluZ0dyb3VwRXggfSBmcm9tICcuL3NldHRpbmctZ3JvdXAtZXgudHMnO1xuZXhwb3J0IHsgUGx1Z2luU3RhdHVzQmFySXRlbVJlZ2lzdHJhciB9IGZyb20gJy4vc3RhdHVzLWJhci1pdGVtLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRUZW1wbGF0ZXJGdW5jdGlvbnMsXG4gIGdldFRlbXBsYXRlclJlbmRlclRhcmdldEZpbGUsXG4gIHBhcnNlVGVtcGxhdGUsXG4gIHJlcXVpcmVUZW1wbGF0ZXJBcGksXG4gIHJlc29sdmVUZW1wbGF0ZXJBcGksXG4gIFRFTVBMQVRFUl9QTFVHSU5fSUQsXG4gIFRlbXBsYXRlckFjdGl2ZUZpbGVQcm92aWRlcixcbiAgVGVtcGxhdGVyUnVuTW9kZSxcbiAgVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb24sXG4gIFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3Jcbn0gZnJvbSAnLi90ZW1wbGF0ZXIudHMnO1xuZXhwb3J0IHsgRHVyYXRpb25UcmFuc2Zvcm1lciB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2R1cmF0aW9uLXRyYW5zZm9ybWVyLnRzJztcbmV4cG9ydCB7XG4gIGNsaWNrRWxlbWVudCxcbiAgY2xpY2tNb3VzZSxcbiAgaG92ZXJFbGVtZW50LFxuICBtb3ZlTW91c2UsXG4gIHByZXNzS2V5LFxuICB0eXBlSW50b0VkaXRvcixcbiAgdW5ob3ZlckVsZW1lbnRcbn0gZnJvbSAnLi90cnVzdGVkLWlucHV0LnRzJztcbmV4cG9ydCB7XG4gIGdldE9zQW5kT2JzaWRpYW5VbnNhZmVQYXRoQ2hhcnNSZWdFeHAsXG4gIGdldE9zVW5zYWZlUGF0aENoYXJzUmVnRXhwLFxuICBoYXNXaW5kb3dzVHJhaWxpbmdDaGFycyxcbiAgaXNWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcixcbiAgaXNXaW5kb3dzUmVzZXJ2ZWROYW1lLFxuICBPQlNJRElBTl9VTlNBRkVfRklMRU5BTUVfQ0hBUlMsXG4gIHRyaW1XaW5kb3dzVHJhaWxpbmdDaGFycyxcbiAgVU5JWF9VTlNBRkVfUEFUSF9DSEFSUyxcbiAgV0lORE9XU19VTlNBRkVfUEFUSF9DSEFSU1xufSBmcm9tICcuL3ZhbGlkYXRpb24udHMnO1xuZXhwb3J0IHtcbiAgZGVsZXRlSWZOb3RVc2VkLFxuICBEZWxldGVJZk5vdFVzZWRSZXN1bHRcbn0gZnJvbSAnLi92YXVsdC1kZWxldGUudHMnO1xuZXhwb3J0IHsgVmF1bHRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdmF1bHQtdHJhbnNhY3Rpb24udHMnO1xuZXhwb3J0IHtcbiAgY2xlYW51cEVtcHR5Rm9sZGVycyxcbiAgY29weVNhZmUsXG4gIGNyZWF0ZUZvbGRlclNhZmUsXG4gIENyZWF0ZUZvbGRlclNhZmVSZXN1bHQsXG4gIGNyZWF0ZVRlbXBvcmFyeUZpbGUsXG4gIGNyZWF0ZVRlbXBvcmFyeUZvbGRlcixcbiAgZGVsZXRlRW1wdHlGb2xkZXIsXG4gIGRlbGV0ZUVtcHR5Rm9sZGVySGllcmFyY2h5LFxuICBnZXRBYnN0cmFjdEZpbGVQYXRoU2FmZSxcbiAgZ2V0QXZhaWxhYmxlUGF0aCxcbiAgZ2V0RmlsZVBhdGhTYWZlLFxuICBnZXRGb2xkZXJQYXRoU2FmZSxcbiAgZ2V0TWFya2Rvd25GaWxlc1NvcnRlZCxcbiAgZ2V0Tm90ZUZpbGVzU29ydGVkLFxuICBnZXRPckNyZWF0ZUFic3RyYWN0RmlsZVNhZmUsXG4gIGdldE9yQ3JlYXRlRmlsZVNhZmUsXG4gIGdldE9yQ3JlYXRlRm9sZGVyU2FmZSxcbiAgZ2V0U2FmZVJlbmFtZVBhdGgsXG4gIEludm9rZUZpbGVBY3Rpb25TYWZlUmVzdWx0LFxuICBpbnZva2VXaXRoRmlsZVN5c3RlbUxvY2ssXG4gIGlzQ2hpbGQsXG4gIGlzQ2hpbGRPclNlbGYsXG4gIGlzRW1wdHlGb2xkZXIsXG4gIGxpc3RTYWZlLFxuICBwcm9jZXNzLFxuICByZWFkU2FmZSxcbiAgcmVuYW1lU2FmZSxcbiAgc2F2ZU5vdGUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcbmV4cG9ydCB7IFBsdWdpblZpZXdSZWdpc3RyYXIgfSBmcm9tICcuL3ZpZXctcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGVuc3VyZUxheW91dFJlYWR5LFxuICBnZXRBbGxDb250YWluZXJzLFxuICBnZXRBbGxEb21XaW5kb3dzLFxuICBnZXRNYWluV2luZG93LFxuICBzd2l0Y2hUb01haW5XaW5kb3csXG4gIHN3aXRjaFRvV2luZG93XG59IGZyb20gJy4vd29ya3NwYWNlLnRzJztcbmV4cG9ydCB7XG4gIGFib3J0U2lnbmFsQW55LFxuICBhYm9ydFNpZ25hbE5ldmVyLFxuICBhYm9ydFNpZ25hbFRpbWVvdXQsXG4gIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcixcbiAgZ2V0U2hhcmVkQWJvcnRTaWduYWwsXG4gIElORklOSVRFX1RJTUVPVVQsXG4gIG9uQWJvcnQsXG4gIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIsXG4gIHdhaXRGb3JBYm9ydFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYWJvcnQtY29udHJvbGxlcic7XG5leHBvcnQgeyBjcmVhdGVBZ2dyZWdhdGVFcnJvciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hZ2dyZWdhdGUtZXJyb3InO1xuZXhwb3J0IHtcbiAgYXJyYXlHdWFyZCxcbiAgQk9PTEVBTl9HVUFSRCxcbiAgY3JlYXRlQXBpQ29udHJhY3RTY2hlbWFCdWlsZGVycyxcbiAgY3JlYXRlQXJndW1lbnRzU2NoZW1hLFxuICBjcmVhdGVFeHBlY3RlZFR5cGVHdWFyZCxcbiAgY3JlYXRlVHlwZUd1YXJkU2NoZW1hLFxuICBkZWZpbmVBcGlDb250cmFjdCxcbiAgaW5zdGFuY2VPZkd1YXJkLFxuICBsaXRlcmFsR3VhcmQsXG4gIG51bGxhYmxlR3VhcmQsXG4gIE5VTUJFUl9HVUFSRCxcbiAgb2JqZWN0R3VhcmQsXG4gIG9wdGlvbmFsR3VhcmQsXG4gIG9wdGlvbnNHdWFyZCxcbiAgU1RSSU5HX0FSUkFZX0dVQVJELFxuICBTVFJJTkdfR1VBUkQsXG4gIFVOREVGSU5FRF9HVUFSRCxcbiAgdW5pb25HdWFyZFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0JztcbmV4cG9ydCB7XG4gIHZhbGlkYXRlU3luYyxcbiAgdmVyaWZ5QXBpQ29udHJhY3Rcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FwaS1jb250cmFjdC12ZXJpZmllcic7XG5leHBvcnQge1xuICBmaWx0ZXJJblBsYWNlLFxuICBzbmFwc2hvdCxcbiAgdW5pcXVlLFxuICB1bmlxdWVJblBsYWNlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hcnJheSc7XG5leHBvcnQgeyB0b0FycmF5QnVmZmVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FycmF5LWJ1ZmZlcic7XG5leHBvcnQge1xuICBhZGRFcnJvckhhbmRsZXIsXG4gIGFzeW5jRmlsdGVyLFxuICBhc3luY0ZpbHRlckluUGxhY2UsXG4gIGFzeW5jRmxhdE1hcCxcbiAgYXN5bmNNYXAsXG4gIGNoYWluLFxuICBjb252ZXJ0QXN5bmNUb1N5bmMsXG4gIGNvbnZlcnRTeW5jVG9Bc3luYyxcbiAgaGFuZGxlU2lsZW50RXJyb3IsXG4gIGlnbm9yZUVycm9yLFxuICBpbnZva2VBc3luY1NhZmVseSxcbiAgaW52b2tlQXN5bmNTYWZlbHlBZnRlckRlbGF5LFxuICBpc1Rlcm1pbmF0aW9uT25UaW1lb3V0RW5hYmxlZCxcbiAgbWFya3NBc1Rlcm1pbmF0ZVJldHJ5LFxuICBuZXZlckVuZHMsXG4gIG5leHRUaWNrQXN5bmMsXG4gIG5vcm1hbGl6ZVByb21pc2FibGUsXG4gIHByb21pc2VBbGxBc3luY0Zuc1NlcXVlbnRpYWxseSxcbiAgcHJvbWlzZUFsbFNlcXVlbnRpYWxseSxcbiAgcXVldWVNaWNyb3Rhc2tBc3luYyxcbiAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lQXN5bmMsXG4gIHJldHJ5V2l0aFRpbWVvdXQsXG4gIHJ1bldpdGhUaW1lb3V0LFxuICBzZXRJbW1lZGlhdGVBc3luYyxcbiAgc2V0VGVybWluYXRpb25PblRpbWVvdXRFbmFibGVkLFxuICBzZXRUaW1lb3V0QXN5bmMsXG4gIHNsZWVwLFxuICB0aW1lb3V0LFxuICB0b0FycmF5XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5leHBvcnQge1xuICBBc3luY0V2ZW50UmVmRGlzcG9zYWJsZSxcbiAgQXN5bmNFdmVudHMsXG4gIEFzeW5jRXZlbnRzQmFzZSxcbiAgbWl4aW5Bc3luY0V2ZW50cyxcbiAgc3Vic2NyaWJlQXN5bmNEaXNwb3NhYmxlRXZlbnRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jLWV2ZW50cyc7XG5leHBvcnQge1xuICBBU1lOQ19PUEVSQVRJT05fSE9PS19LRVksXG4gIEFTWU5DX09QRVJBVElPTl9IT09LX1ZFUlNJT04sXG4gIGdldEFzeW5jT3BlcmF0aW9uSG9vayxcbiAgbm90aWZ5QXN5bmNPcGVyYXRpb25TdGFydGVkLFxuICBzZXRBc3luY09wZXJhdGlvbkhvb2tcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jLW9wZXJhdGlvbi1ob29rJztcbmV4cG9ydCB7IEJlZXBlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9iZWVwZXInO1xuZXhwb3J0IHtcbiAgYmxvYlRvQXJyYXlCdWZmZXIsXG4gIGJsb2JUb0RhdGFVcmwsXG4gIGJsb2JUb0pwZWdBcnJheUJ1ZmZlcixcbiAgZGF0YVVybFRvQXJyYXlCdWZmZXIsXG4gIGlzSW1hZ2VGaWxlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9ibG9iJztcbmV4cG9ydCB7IGZvcm1hdEJ5dGVzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2J5dGVzJztcbmV4cG9ydCB7XG4gIGVuYWJsZUxpYnJhcnlEZWJ1Z2dlcnMsXG4gIGdldERlYnVnQ29udHJvbGxlcixcbiAgZ2V0RGVidWdnZXIsXG4gIGdldExpYkRlYnVnZ2VyLFxuICBwcmludFdpdGhTdGFja1RyYWNlLFxuICBzaG93SW5pdGlhbERlYnVnTWVzc2FnZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVidWcnO1xuZXhwb3J0IHtcbiAgZ2V0RGVidWdTd2l0Y2gsXG4gIGdldERlYnVnU3dpdGNoZXMsXG4gIGdldFRlcm1pbmF0ZU9uVGltZW91dERlYnVnU3dpdGNoLFxuICBvbkRlYnVnU3dpdGNoQ2hhbmdlZCxcbiAgcmVnaXN0ZXJEZWJ1Z1N3aXRjaCxcbiAgc2V0RGVidWdTd2l0Y2hcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnLXN3aXRjaGVzJztcbmV4cG9ydCB7IGV4dHJhY3RaaXBBcmNoaXZlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rlc2t0b3AtemlwLWV4dHJhY3Rvcic7XG5leHBvcnQge1xuICBBc3luY0NhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQXN5bmNEaXNwb3NhYmxlQmFzZSxcbiAgQ2FsbGJhY2tEaXNwb3NhYmxlLFxuICBDb21iaW5lQXN5bmNEaXNwb3NhYmxlLFxuICBDb21iaW5lRGlzcG9zYWJsZSxcbiAgRGlzcG9zYWJsZUJhc2UsXG4gIGRpc3Bvc2UsXG4gIGRpc3Bvc2VBc3luYyxcbiAgRGlzcG9zZUVycm9yQmVoYXZpb3IsXG4gIERpc3Bvc2VPcmRlcixcbiAgaXNBc3luY0Rpc3Bvc2FibGUsXG4gIGlzQXN5bmNEaXNwb3NhYmxlRXgsXG4gIGlzRGlzcG9zYWJsZSxcbiAgaXNEaXNwb3NhYmxlRXgsXG4gIE11bHRpcGxlRGlzcG9zZUJlaGF2aW9yLFxuICB0b0FzeW5jRGlzcG9zYWJsZUV4LFxuICB0b0Rpc3Bvc2FibGVFeFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGlzcG9zYWJsZSc7XG5leHBvcnQge1xuICBnZXRFbnVtS2V5LFxuICBnZXRFbnVtVmFsdWVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2VudW0nO1xuZXhwb3J0IHtcbiAgQVNZTkNfV1JBUFBFUl9FUlJPUl9NRVNTQUdFLFxuICBDdXN0b21TdGFja1RyYWNlRXJyb3IsXG4gIGRyYWluQ29sbGVjdGVkVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIGVtaXRBc3luY0Vycm9yRXZlbnQsXG4gIGVycm9yVG9TdHJpbmcsXG4gIEVycm9yV3JhcHBlcixcbiAgZ2V0U3RhY2tUcmFjZSxcbiAgaXNBc3luY0Vycm9ySWdub3JlQ29udGV4dEFjdGl2ZSxcbiAgcHJpbnRFcnJvcixcbiAgcmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyLFxuICBTaWxlbnRFcnJvcixcbiAgc3RhcnRBc3luY0Vycm9ySWdub3JlQ29udGV4dCxcbiAgc3RhcnRDb2xsZWN0aW5nVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIHN0b3BDb2xsZWN0aW5nVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIHRocm93RXhwcmVzc2lvblxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZXJyb3InO1xuZXhwb3J0IHtcbiAgY2xvbmVGdW5jdGlvbixcbiAgY3JlYXRlRnVuY3Rpb24sXG4gIGdldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyxcbiAgbm9vcCxcbiAgbm9vcEFzeW5jLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlLFxuICBvbWl0QXN5bmNSZXR1cm5UeXBlLFxuICBvbWl0UmV0dXJuVHlwZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZnVuY3Rpb24nO1xuZXhwb3J0IHtcbiAgY3JlYXRlRGl2QXN5bmMsXG4gIGNyZWF0ZUVsQXN5bmMsXG4gIGNyZWF0ZUZyYWdtZW50QXN5bmMsXG4gIGNyZWF0ZVNwYW5Bc3luYyxcbiAgY3JlYXRlU3ZnQXN5bmMsXG4gIGVuc3VyZUxvYWRlZCxcbiAgZ2V0RG9jdW1lbnRXaW5kb3csXG4gIGdldFpJbmRleCxcbiAgaXNFbGVtZW50VmlzaWJsZUluT2Zmc2V0UGFyZW50LFxuICBpc0xvYWRlZCxcbiAgb25BbmNlc3RvclNjcm9sbE9yUmVzaXplLFxuICB0b1B4LFxuICB3YWl0VW50aWxDb25uZWN0ZWRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2h0bWwtZWxlbWVudCc7XG5leHBvcnQge1xuICBleHRyYWN0SnBlZ01ldGFkYXRhU2VnbWVudHMsXG4gIGluamVjdEpwZWdNZXRhZGF0YVNlZ21lbnRzXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9qcGVnLW1ldGFkYXRhJztcbmV4cG9ydCB7XG4gIERFRkFVTFRfREVCVUdfTkFNRVNQQUNFLFxuICBMaWJyYXJ5LFxuICBMSUJSQVJZX05BTUVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2xpYnJhcnknO1xuZXhwb3J0IHtcbiAgYXNzaWduV2l0aE5vbkVudW1lcmFibGVQcm9wZXJ0aWVzLFxuICBjYXN0VG8sXG4gIGNsb25lV2l0aE5vbkVudW1lcmFibGVQcm9wZXJ0aWVzLFxuICBkZWxldGVQcm9wZXJ0aWVzLFxuICBkZWxldGVQcm9wZXJ0eSxcbiAgZXh0cmFjdERlZmF1bHRFeHBvcnRJbnRlcm9wLFxuICBGdW5jdGlvbkhhbmRsaW5nTW9kZSxcbiAgZ2V0QWxsRW50cmllcyxcbiAgZ2V0QWxsS2V5cyxcbiAgZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgZ2V0UHJvdG90eXBlT2YsXG4gIGlzRGVlcEVxdWFsLFxuICBuYW1lb2YsXG4gIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyxcbiAgcmVtb3ZlVW5kZWZpbmVkUHJvcGVydGllcyxcbiAgc2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgdG9Kc29uXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9vYmplY3QtdXRpbHMnO1xuZXhwb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGRlbGltaXRlcixcbiAgZGlybmFtZSxcbiAgZXh0bmFtZSxcbiAgZm9ybWF0LFxuICBnZXRGaWxlTmFtZSxcbiAgZ2V0Rm9sZGVyTmFtZSxcbiAgaXNBYnNvbHV0ZSxcbiAgam9pbixcbiAgbWFrZUZpbGVOYW1lLFxuICBub3JtYWxpemVJZlJlbGF0aXZlLFxuICBub3JtYWxpemVQYXRoLFxuICBwYXJzZSxcbiAgcG9zaXgsXG4gIHJlbGF0aXZlLFxuICByZXNvbHZlLFxuICBzZXBhcmF0b3IsXG4gIHRvUG9zaXhCdWZmZXIsXG4gIHRvUG9zaXhQYXRoXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmV4cG9ydCB7XG4gIEFMV0FZU19NQVRDSF9SRUdfRVhQLFxuICBlc2NhcGVSZWdFeHAsXG4gIGdldE1hbmRhdG9yeU5hbWVkR3JvdXAsXG4gIGdldE9wdGlvbmFsTmFtZWRHcm91cCxcbiAgaXNWYWxpZFJlZ0V4cCxcbiAgTkVWRVJfTUFUQ0hfUkVHX0VYUCxcbiAgb25lT2YsXG4gIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmV4cG9ydCB7XG4gIEVNUFRZLFxuICBlbnN1cmVFbmRzV2l0aCxcbiAgZW5zdXJlTGZFbmRpbmdzLFxuICBlbnN1cmVTdGFydHNXaXRoLFxuICBlc2NhcGUsXG4gIGdldExmTm9ybWFsaXplZE9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXBwZXIsXG4gIGhhc1NpbmdsZU9jY3VycmVuY2UsXG4gIGluZGVudCxcbiAgaW5zZXJ0QXQsXG4gIG1ha2VWYWxpZFZhcmlhYmxlTmFtZSxcbiAgbm9ybWFsaXplU3RyaW5nLFxuICByZXBsYWNlLFxuICByZXBsYWNlQWxsLFxuICByZXBsYWNlQWxsQXN5bmMsXG4gIHRyaW1FbmQsXG4gIHRyaW1TdGFydCxcbiAgdW5lc2NhcGUsXG4gIHVuaW5kZW50XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdHJpbmcnO1xuZXhwb3J0IHsgRGF0ZVRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9kYXRlLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IEdyb3VwVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL2dyb3VwLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IE1hcFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9tYXAtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgU2V0VHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3NldC10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBTa2lwUHJpdmF0ZVByb3BlcnR5VHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3NraXAtcHJpdmF0ZS1wcm9wZXJ0eS10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgVHdvV2F5TWFwVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3R3by13YXktbWFwLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFR5cGVkVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3R5cGVkLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFR3b1dheU1hcCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90d28td2F5LW1hcCc7XG5leHBvcnQgeyBUeXBlQXNzZXJ0ZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZSc7XG5leHBvcnQge1xuICBhcnJheVR5cGVHdWFyZCxcbiAgYXNzZXJ0LFxuICBhc3NlcnRHZW5lcmljT2JqZWN0LFxuICBhc3NlcnROZXZlcixcbiAgYXNzZXJ0Tm9uTnVsbGFibGUsXG4gIGVuc3VyZUdlbmVyaWNPYmplY3QsXG4gIGVuc3VyZU5vbk51bGxhYmxlLFxuICBmdW5jdGlvblR5cGVHdWFyZCxcbiAgaW5zdGFuY2VPZlR5cGVHdWFyZCxcbiAgaXNCb29sZWFuLFxuICBpc0Z1bmN0aW9uLFxuICBpc051bGwsXG4gIGlzTnVtYmVyLFxuICBpc09iamVjdCxcbiAgaXNTdHJpbmcsXG4gIGlzU3RyaW5nQXJyYXksXG4gIGlzVW5kZWZpbmVkLFxuICBsaXRlcmFsVHlwZUd1YXJkLFxuICBudWxsYWJsZVR5cGVHdWFyZCxcbiAgb2JqZWN0VHlwZUd1YXJkLFxuICBvcHRpb25hbFR5cGVHdWFyZCxcbiAgdW5pb25UeXBlR3VhcmRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcbmV4cG9ydCB7XG4gIGdldFR5cGVzY3JpcHRMaWJTdGF0ZSxcbiAgZ2V0VHlwZXNjcmlwdExpYlN0YXRlU2xvdCxcbiAgcmVzZXRUeXBlc2NyaXB0TGliU3RhdGUsXG4gIFRZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWSxcbiAgVFlQRVNDUklQVF9MSUJfU1RBVEVfVkVSU0lPTlxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZXNjcmlwdC1saWItc3RhdGUnO1xuZXhwb3J0IHtcbiAgZW5jb2RlVXJsLFxuICBpc0ZpbGVVcmwsXG4gIGlzVXJsLFxuICBub3JtYWxpemVGaWxlVXJsLFxuICBwYXRoVG9GaWxlVXJsXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi91cmwnO1xuZXhwb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXByb3ZpZGVyJztcbmV4cG9ydCB7IFZhbHVlV3JhcHBlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi92YWx1ZS13cmFwcGVyJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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
@@ -125,7 +125,7 @@ export { showPopover } from './popovers/popover.cjs';
125
125
  export { checkPropertyEntryMatches, isPropertyEntry, PROPERTY_ENTRY_PREFIX } from './property-entry.cjs';
126
126
  export { addToQueue, addToQueueAndWait, flushQueue } from './queue.cjs';
127
127
  export { AppContext, useApp } from './react/app-context.cjs';
128
- export { isCanvasFileNodeReference, isCanvasReference, isCanvasTextNodeReference, isReferenceInOffsetRange, referenceToFileChange, sortReferences } from './reference.cjs';
128
+ export { getReferenceLinkText, isCanvasFileNodeReference, isCanvasReference, isCanvasTextNodeReference, isReferenceInOffsetRange, referenceToFileChange, sortReferences } from './reference.cjs';
129
129
  export { isResourceLockedForPath, isResourceLockedForPathByAncestor, lockResourceForPath, requestResourceUnlockForPath, ResourceLockComponent, ResourceLockedError, unlockResourceForPath } from './resource-lock.cjs';
130
130
  export { relativePathToResourceUrl } from './resource-url.cjs';
131
131
  export { PluginRibbonIconRegistrar } from './ribbon-icon-registrar.cjs';
@@ -146,6 +146,7 @@ const SANDBOX_NOTICE_DURATION_IN_MILLISECONDS = 0;
146
146
  async function bootstrapDemoVault(params) {
147
147
  const { app } = params;
148
148
  const demoedPluginId = await getDemoedPluginId(app);
149
+ closeSettingsBeforeEnablingPlugins(app);
149
150
  await (0, import_community_plugins.installCommunityPlugin)({ app, pluginId: CODE_SCRIPT_TOOLKIT_PLUGIN_ID });
150
151
  const result = await (0, import_community_plugins.configureCommunityPlugin)({
151
152
  app,
@@ -179,6 +180,9 @@ function buildSandboxNoticeFragment(pluginName) {
179
180
  fragment.appendText(" command again creates a new copy with the latest plugin version, so your notes will not appear in it.");
180
181
  });
181
182
  }
183
+ function closeSettingsBeforeEnablingPlugins(app) {
184
+ app.setting.close();
185
+ }
182
186
  async function ensureInvocableScriptsFolder(app) {
183
187
  const invocableScriptsFolderPath = (0, import_path.join)(CODE_SCRIPT_TOOLKIT_MODULES_ROOT, CODE_SCRIPT_TOOLKIT_SETTINGS.invocableScriptsFolder);
184
188
  if (!await app.vault.adapter.exists(invocableScriptsFolderPath)) {
@@ -212,4 +216,4 @@ function showSandboxNotice(app, demoedPluginId) {
212
216
  0 && (module.exports = {
213
217
  bootstrapDemoVault
214
218
  });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgYnkgaW5zdGFsbGluZywgY29uZmlndXJpbmcsIGFuZCBlbmFibGluZyBgQ29kZVNjcmlwdCBUb29sa2l0YC5cbiAqXG4gKiBBIHBsdWdpbidzIGRlbW8gdmF1bHQgc2hvd2Nhc2VzIHRoZSBwbHVnaW4gdGhyb3VnaCBub3RlcyB3aG9zZSBgY29kZS1idXR0b25gcyBydW4gVHlwZVNjcmlwdCB2aWFcbiAqIGBDb2RlU2NyaXB0IFRvb2xraXRgLiBBIGRlbW8gdmF1bHQgdGhhdCBkb2VzIG5vdCBpdHNlbGYgc2hpcCBgQ29kZVNjcmlwdCBUb29sa2l0YCB0aGVyZWZvcmUgbmVlZHMgaXRcbiAqIGluc3RhbGxlZCwgY29uZmlndXJlZCwgYW5kIGVuYWJsZWQgYmVmb3JlIHRob3NlIGJ1dHRvbnMgd29yay4ge0BsaW5rIGJvb3RzdHJhcERlbW9WYXVsdH0gZG9lcyBleGFjdGx5XG4gKiB0aGF0IHdpdGggbm8gY29tbWl0dGVkIGBDb2RlU2NyaXB0IFRvb2xraXRgIGNvbmZpZyBhbmQgbm8gbWFudWFsIHNldHVwLCBzbyBpdCBjYW4gYmUgZHJpdmVuIGZyb20gYSB0aW55XG4gKiBjb21taXR0ZWQgYm9vdHN0cmFwIHBsdWdpbiAoYGRlbW8tdmF1bHQtaGVscGVyYCkgdGhhdCBpcyBpbmplY3RlZCBpbnRvIGV2ZXJ5IGRlbW8gdmF1bHQgYXQgcmVsZWFzZVxuICogdGltZS5cbiAqXG4gKiBUaGUgcGx1Z2luIHRoZSB2YXVsdCBkZW1vbnN0cmF0ZXMgaXMgcmVhZCBmcm9tIHRoZSBoZWxwZXIncyBvd24gYGRhdGEuanNvbmAsIHdyaXR0ZW4gYnkgdGhlIHBhY2thZ2luZ1xuICogc3RlcCAoe0BsaW5rIERlbW9WYXVsdEhlbHBlclNldHRpbmdzfSk7IGEgdmF1bHQgd2l0aG91dCB0aGF0IG1hcmtlciBpcyByZWZ1c2VkIGFzIG5vdCBhIGRlbW8gdmF1bHQuXG4gKlxuICogSXQgd3JpdGVzIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIGl0LCBzbyB0aGUgcGx1Z2luIGxvYWRzIGFscmVhZHkgY29uZmlndXJlZCDigJRcbiAqIG5vIHJlbG9hZC4gYENvZGVTY3JpcHQgVG9vbGtpdGAgdGhlbiBydW5zIHRoZSB2YXVsdCdzIGBzdGFydHVwLnRzYCAodmlhIGl0cyBgc3RhcnR1cFNjcmlwdFBhdGhgXG4gKiBzZXR0aW5nKSwgd2hpY2ggaXMgd2hlcmUgZWFjaCB2YXVsdCBvcGVucyBpdHMgc3RhcnQgbm90ZSBhbmQgZG9lcyBhbnkgcGx1Z2luLXNwZWNpZmljIHNldHVwLlxuICpcbiAqIEl0IGFsc28gY3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciBpZiBpdCBpcyBtaXNzaW5nLCBzbyBldmVyeSBkZW1vIHZhdWx0XG4gKiBoYXMgdGhlIHNhbWUgbGF5b3V0IGV2ZW4gd2hlbiB0aGUgdmF1bHQgc2hpcHMgbm8gaW52b2NhYmxlIHNjcmlwdHMg4oCUIHRoZSB2YXVsdHMgdGhlbXNlbHZlcyBjb21taXQgbm9cbiAqIGVtcHR5IGZvbGRlciBmb3IgaXQuXG4gKlxuICogSXQgdGhlbiBpbnN0YWxscyB0aGUgYEZvbGRlciBOb3Rlc2AgcGx1Z2luLCBjb25maWd1cmVkIHRvIHRyZWF0IGBSRUFETUUubWRgIGFzIGEgZm9sZGVyJ3Mgb3duIG5vdGUuIEFcbiAqIGRlbW8gdmF1bHQgdGhhdCBoYXMgb3V0Z3Jvd24gYSBmbGF0IG5vdGUgbGlzdCBncm91cHMgaXRzIG5vdGVzIGludG8gZm9sZGVycywgYW5kIGEgZ3JvdXAgZm9sZGVyIG9ubHlcbiAqIHNheXMgd2hhdCBpdCBpcyBmb3IgaWYgaXQgaGFzIGEgbm90ZSBvZiBpdHMgb3duIOKAlCBgUkVBRE1FLm1kYCwgYmVjYXVzZSB0aGF0IGlzIGFsc28gdGhlIGZpbGUgR2l0SHViXG4gKiByZW5kZXJzIHVuZGVyIHRoZSBmaWxlIGxpc3Qgd2hlbiB0aGUgc2FtZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgc28gb25lIGZpbGUgc2VydmVzIGJvdGhcbiAqIHJlYWRlcnMuXG4gKlxuICogRmluYWxseSBpdCByYWlzZXMgdGhlIHNhbmRib3ggbm90aWNlIGV4cGxhaW5pbmcgdGhhdCB0aGUgb3BlbmVkIHZhdWx0IGlzIGEgdGhyb3dhd2F5IGNvcHksIHNvIGEgdXNlclxuICogd2hvIHdyaXRlcyB0aGVpciBvd24gbm90ZXMgaW4gaXQgaXMgbmV2ZXIgc3VycHJpc2VkIGJ5IHRoZW0gYmVpbmcgYWJzZW50IGZyb20gdGhlIG5leHQgY29weS4gU2V0dGluZ3NcbiAqIGlzIGNsb3NlZCBmaXJzdCwgc28gdGhlIG5vdGljZSBsYW5kcyBpbiB0aGUgdmF1bHQncyBtYWluIHdpbmRvdyByYXRoZXIgdGhhbiBpbiB0aGUgc2V0dGluZ3MgcG9wb3V0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyB9IGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuXG5pbXBvcnQge1xuICBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4sXG4gIENvbmZpZ3VyZUNvbW11bml0eVBsdWdpblJlc3VsdCxcbiAgZGlzYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgYXBwZW5kQ29kZUJsb2NrIH0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBib290c3RyYXBEZW1vVmF1bHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcERlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG59XG5cbi8qKlxuICogYENvZGVTY3JpcHQgVG9vbGtpdGAncyBzZXR0aW5ncywgd3JpdHRlbiBpbnRvIGl0cyBgZGF0YS5qc29uYCBiZWZvcmUgaXQgaXMgZW5hYmxlZC5cbiAqL1xuaW50ZXJmYWNlIENvZGVTY3JpcHRUb29sa2l0U2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIFlBTUwgZnJvbnRtYXR0ZXIgbWVyZ2VkIGludG8gZXZlcnkgYGNvZGUtYnV0dG9uYCBibG9jaydzIG93biBjb25maWcsIHVzZWQgaGVyZSB0byB0dXJuIHRoZVxuICAgKiBzb3VyY2Ugdmlld2VyIG9uIGZvciBldmVyeSBidXR0b24gaW4gZXZlcnkgZGVtbyB2YXVsdCB3aXRob3V0IGVkaXRpbmcgYSBzaW5nbGUgbm90ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDb2RlQnV0dG9uQ29uZmlnOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgaG9sZGluZyBpbnZvY2FibGUgc2NyaXB0cy5cbiAgICovXG4gIHJlYWRvbmx5IGludm9jYWJsZVNjcmlwdHNGb2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhdWx0LXJlbGF0aXZlIGZvbGRlciB0aGF0IGByZXF1aXJlKCcv4oCmJylgIHJlc29sdmVzIG1vZHVsZSBwYXRocyBhZ2FpbnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlc1Jvb3Q6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciBgQ29kZVNjcmlwdCBUb29sa2l0YCBoYW5kbGVzIGBvYnNpZGlhbjovL2AgcHJvdG9jb2wgVVJMcy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEhhbmRsZVByb3RvY29sVXJsczogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgb2YgdGhlIHNjcmlwdCBydW4gb24gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0dXBTY3JpcHRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogYEZvbGRlciBOb3Rlc2AnIHNldHRpbmdzLCB3cml0dGVuIGludG8gaXRzIGBkYXRhLmpzb25gIGJlZm9yZSBpdCBpcyBlbmFibGVkLlxuICovXG5pbnRlcmZhY2UgRm9sZGVyTm90ZXNTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGxvb2tlZCBmb3IgdW5kZXIsIHdpdGhvdXQgdGhlIGV4dGVuc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZvbGRlck5vdGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBmb2xkZXIncyBvd24gbm90ZSBpcyBoaWRkZW4gZnJvbSB0aGUgZmlsZSBleHBsb3Jlciwgc28gdGhlIGZvbGRlciBpdHNlbGYgc3RhbmRzIGZvciBpdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZGVGb2xkZXJOb3RlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGtlcHQsIHJlbGF0aXZlIHRvIHRoZSBmb2xkZXIgaXQgZGVzY3JpYmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZUxvY2F0aW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEID0gJ2ZpeC1yZXF1aXJlLW1vZHVsZXMnO1xuY29uc3QgQ09ERV9TQ1JJUFRfVE9PTEtJVF9NT0RVTEVTX1JPT1QgPSAnX2Fzc2V0cy9Db2RlU2NyaXB0VG9vbGtpdCc7XG5jb25zdCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTOiBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzID0ge1xuICBkZWZhdWx0Q29kZUJ1dHRvbkNvbmZpZzogJy0tLVxcbnNvdXJjZVZpc2liaWxpdHk6IGNvbGxhcHNlZFxcbi0tLScsXG4gIGludm9jYWJsZVNjcmlwdHNGb2xkZXI6ICdJbnZvY2FibGVzJyxcbiAgbW9kdWxlc1Jvb3Q6IENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULFxuICBzaG91bGRIYW5kbGVQcm90b2NvbFVybHM6IHRydWUsXG4gIHN0YXJ0dXBTY3JpcHRQYXRoOiAnc3RhcnR1cC50cydcbn07XG5cbmNvbnN0IEZPTERFUl9OT1RFU19QTFVHSU5fSUQgPSAnZm9sZGVyLW5vdGVzJztcbi8vIGBSRUFETUVgIHJhdGhlciB0aGFuIGBGb2xkZXIgTm90ZXNgJyBvd24gYHt7Zm9sZGVyX25hbWV9fWAgZGVmYXVsdDogdGhlIHNhbWUgZmlsZSBoYXMgdG8gYmUgdGhlIGZvbGRlcidzXG4vLyBub3RlIGluIE9ic2lkaWFuIEFORCB0aGUgcGFnZSBHaXRIdWIgcmVuZGVycyB3aGVuIHRoZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgYW5kIEdpdEh1YlxuLy8gb25seSBkb2VzIHRoYXQgZm9yIGBSRUFETUUubWRgLiBgaW5zaWRlRm9sZGVyYCBrZWVwcyBpdCB3aXRoIHRoZSBub3RlcyBpdCBkZXNjcmliZXMgcmF0aGVyIHRoYW4gYmVzaWRlXG4vLyB0aGUgZm9sZGVyLCBhbmQgaGlkaW5nIGl0IGxldHMgdGhlIGZvbGRlciBpdHNlbGYgc3RhbmQgZm9yIHRoZSBub3RlIGluc3RlYWQgb2YgbGlzdGluZyBib3RoLlxuY29uc3QgRk9MREVSX05PVEVTX1NFVFRJTkdTOiBGb2xkZXJOb3Rlc1NldHRpbmdzID0ge1xuICBmb2xkZXJOb3RlTmFtZTogJ1JFQURNRScsXG4gIGhpZGVGb2xkZXJOb3RlOiB0cnVlLFxuICBzdG9yYWdlTG9jYXRpb246ICdpbnNpZGVGb2xkZXInXG59O1xuXG5jb25zdCBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSUQgPSAnZGVtby12YXVsdC1oZWxwZXInO1xuY29uc3QgUExVR0lOU19GT0xERVJfTkFNRSA9ICdwbHVnaW5zJztcbmNvbnN0IERBVEFfSlNPTl9GSUxFX05BTUUgPSAnZGF0YS5qc29uJztcbmNvbnN0IElOVkFMSURfREVNT19WQVVMVF9FUlJPUl9NRVNTQUdFID0gJ0ludmFsaWQgZGVtbyB2YXVsdCc7XG5jb25zdCBPUEVOX0RFTU9fVkFVTFRfQ09NTUFORF9OQU1FID0gJ09wZW4gZGVtbyB2YXVsdCc7XG4vLyBgMGAgYXNrcyBPYnNpZGlhbiB0byBrZWVwIHRoZSBub3RpY2UgdXAgdW50aWwgdGhlIHVzZXIgY2xpY2tzIGl0IOKAlCB0aGUgc2FtZSB0cmVhdG1lbnQgT2JzaWRpYW4gZ2l2ZXNcbi8vIGl0cyBvd24gc2FuZGJveC12YXVsdCBub3RpY2UsIGFuZCB3aGF0IHRoZSBkZW1vLXZhdWx0IG5vdGljZSBpcyBtb2RlbGxlZCBvbi5cbmNvbnN0IFNBTkRCT1hfTk9USUNFX0RVUkFUSU9OX0lOX01JTExJU0VDT05EUyA9IDA7XG5cbi8qKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgc28gaXRzIG5vdGVzJyBgY29kZS1idXR0b25gcyB3b3JrIHdpdGggbm8gbWFudWFsIHNldHVwOiBpbnN0YWxscyBDb2RlU2NyaXB0XG4gKiBUb29sa2l0IGZyb20gdGhlIGNvbW11bml0eSBzdG9yZSAoaWYgaXQgaXMgbm90IGFscmVhZHkgaW5zdGFsbGVkKSwgd3JpdGVzIGl0cyBzZXR0aW5ncywgdGhlbiBlbmFibGVzXG4gKiBpdCDigJQgd3JpdGluZyB0aGUgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIHNvIGEgZnJlc2ggZW5hYmxlIGxvYWRzIGl0IGFscmVhZHkgY29uZmlndXJlZCwgd2l0aCBub1xuICogcmVsb2FkLiBJZiBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBhbHJlYWR5IGVuYWJsZWQgYnV0IHRoZSBzZXR0aW5ncyBqdXN0IGNoYW5nZWQsIGl0IGlzIHJlbG9hZGVkXG4gKiAoZGlzYWJsZWQgdGhlbiBlbmFibGVkKSBzbyBpdCByZS1yZWFkcyBgZGF0YS5qc29uYDsgd2hlbiB0aGUgc2V0dGluZ3Mgd2VyZSBhbHJlYWR5IGluIHBsYWNlLCBub3RoaW5nIGlzXG4gKiByZWxvYWRlZCAoc28gYSByb3V0aW5lIHZhdWx0IHJlLW9wZW4gZG9lcyBub3QgcmUtcnVuIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc3RhcnR1cCkuIGBDb2RlU2NyaXB0IFRvb2xraXRgXG4gKiB0aGVuIHJ1bnMgdGhlIHZhdWx0J3MgYHN0YXJ0dXAudHNgLiBgRm9sZGVyIE5vdGVzYCBpcyBpbnN0YWxsZWQgbmV4dCwgY29uZmlndXJlZCB0byB0cmVhdCBgUkVBRE1FLm1kYCBhc1xuICogYSBmb2xkZXIncyBvd24gbm90ZSwgc28gYSB2YXVsdCB3aG9zZSBub3RlcyBhcmUgZ3JvdXBlZCBpbnRvIGZvbGRlcnMgZGVzY3JpYmVzIGVhY2ggZ3JvdXAgaW4gdGhlIGZpbGVcbiAqIGV4cGxvcmVyLiBGaW5hbGx5IGl0IGNsb3NlcyBTZXR0aW5ncyAoc28gdGhlIG5vdGljZSBjYW5ub3QgYmUgcmFpc2VkIGluc2lkZSB0aGUgc2V0dGluZ3MgcG9wb3V0KSBhbmRcbiAqIHJhaXNlcyB0aGUgc2FuZGJveCBub3RpY2UgZGVzY3JpYmluZyB0aGUgb3BlbmVkIHZhdWx0IGFzIGEgdGhyb3dhd2F5IGNvcHkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBpbnN0YWxsZWQsIGNvbmZpZ3VyZWQsIGFuZCBlbmFibGVkXG4gKiBhbmQgdGhlIHNhbmRib3ggbm90aWNlIGhhcyBiZWVuIHNob3duLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYm9vdHN0cmFwRGVtb1ZhdWx0KHBhcmFtczogQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwIH0gPSBwYXJhbXM7XG4gIC8vIFJlc29sdmVkIGZpcnN0LCBzbyBhIHZhdWx0IHRoYXQgaXMgbm90IGEgZGVtbyB2YXVsdCBpcyByZWZ1c2VkIGJlZm9yZSBhbnl0aGluZyBpcyBpbnN0YWxsZWQgaW50byBpdC5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSBhd2FpdCBnZXREZW1vZWRQbHVnaW5JZChhcHApO1xuICBhd2FpdCBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luKHsgYXBwLCBwbHVnaW5JZDogQ09ERV9TQ1JJUFRfVE9PTEtJVF9QTFVHSU5fSUQgfSk7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbmZpZ3VyZUNvbW11bml0eVBsdWdpbih7XG4gICAgYXBwLFxuICAgIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCxcbiAgICBzZXR0aW5nczogQ09ERV9TQ1JJUFRfVE9PTEtJVF9TRVRUSU5HU1xuICB9KTtcbiAgYXdhaXQgZW5zdXJlSW52b2NhYmxlU2NyaXB0c0ZvbGRlcihhcHApO1xuXG4gIGlmICghYXBwLnBsdWdpbnMuZW5hYmxlZFBsdWdpbnMuaGFzKENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEKSkge1xuICAgIGF3YWl0IGVuYWJsZUNvbW11bml0eVBsdWdpbih7IGFwcCwgcGx1Z2luSWQ6IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEIH0pO1xuICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gQ29uZmlndXJlQ29tbXVuaXR5UGx1Z2luUmVzdWx0LlN1Y2Nlc3MpIHtcbiAgICAvLyBBbHJlYWR5IGVuYWJsZWQgd2l0aCBzdGFsZSBzZXR0aW5ncyDigJQgcmVsb2FkIHNvIGBDb2RlU2NyaXB0IFRvb2xraXRgIHJlLXJlYWRzIHRoZSBmcmVzaGx5IHdyaXR0ZW4gZGF0YS5qc29uLlxuICAgIGF3YWl0IGRpc2FibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgICBhd2FpdCBlbmFibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgfVxuXG4gIC8vIEFmdGVyIGBDb2RlU2NyaXB0IFRvb2xraXRgLCBzbyB0aGUgdmF1bHQncyBzdGFydHVwIHNjcmlwdCBoYXMgYWxyZWFkeSBvcGVuZWQgdGhlIHN0YXJ0IG5vdGUgYnkgdGhlIHRpbWVcbiAgLy8gdGhlIGZpbGUgZXhwbG9yZXIgZ2FpbnMgaXRzIGZvbGRlci1ub3RlIGJlaGF2aW9yLlxuICBhd2FpdCBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luKHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQ6IEZPTERFUl9OT1RFU19QTFVHSU5fSUQsXG4gICAgc2V0dGluZ3M6IEZPTERFUl9OT1RFU19TRVRUSU5HU1xuICB9KTtcblxuICBzaG93U2FuZGJveE5vdGljZShhcHAsIGRlbW9lZFBsdWdpbklkKTtcbn1cblxuLy8gQnVpbGRzIHRoZSBzYW5kYm94IG5vdGljZSBjb250ZW50OiB3aGF0IHRoaXMgdmF1bHQgaXMsIHdoZXJlIGl0IGxpdmVzLCBob3cgbG9uZyBpdCBsaXZlcywgYW5kIHdoeVxuLy8gcmUtcnVubmluZyB0aGUgY29tbWFuZCBwcm9kdWNlcyBhIHZhdWx0IHdpdGhvdXQgdGhlIG5vdGVzIGp1c3Qgd3JpdHRlbiBoZXJlLlxuLy9cbi8vIEV2ZXJ5IGNsYWltIGhhcyB0byBzdGF5IHRydWUgb2YgdGhlIG9wZW5lciAoYGRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHNgKTogaXQgZXh0cmFjdHMgYSBGUkVTSCBjb3B5XG4vLyBpbnRvIGl0cyBvd24gZm9sZGVyIG9uIGV2ZXJ5IG9wZW4sIGFuZCBkZWxldGVzIGV4dHJhY3RlZCBmb2xkZXJzIG9sZGVyIHRoYW4gYSBkYXkgb24gZWFjaCBsYXRlciBvcGVuLlxuLy8gU28gdGhlIHZhdWx0IGlzIGEgdGVtcG9yYXJ5IHNhbmRib3gg4oCUIGl0IG11c3QgbmV2ZXIgYmUgZGVzY3JpYmVkIGFzIGEgcGxhY2Ugd29yayBjYW4gYmUgbGVmdC5cbmZ1bmN0aW9uIGJ1aWxkU2FuZGJveE5vdGljZUZyYWdtZW50KHBsdWdpbk5hbWU6IHN0cmluZyk6IERvY3VtZW50RnJhZ21lbnQge1xuICByZXR1cm4gY3JlYXRlRnJhZ21lbnQoKGZyYWdtZW50KSA9PiB7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnVGhpcyBpcyBhIGRlbW8gdmF1bHQgZm9yICcpO1xuICAgIGFwcGVuZENvZGVCbG9jayhmcmFnbWVudCwgcGx1Z2luTmFtZSk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnLicpO1xuXG4gICAgZnJhZ21lbnQuY3JlYXRlRWwoJ2JyJyk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnSXQgaXMgYSB0ZW1wb3Jhcnkgc2FuZGJveCwgY2xlYW5lZCB1cCBhdXRvbWF0aWNhbGx5IGFib3V0IGEgZGF5IGFmdGVyIHlvdSBsYXN0IHVzZSBpdC4nKTtcblxuICAgIGZyYWdtZW50LmNyZWF0ZUVsKCdicicpO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJ0V4ZWN1dGluZyAnKTtcbiAgICBmcmFnbWVudC5jcmVhdGVFbCgnYicsIHsgdGV4dDogYCR7cGx1Z2luTmFtZX06ICR7T1BFTl9ERU1PX1ZBVUxUX0NPTU1BTkRfTkFNRX1gIH0pO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJyBjb21tYW5kIGFnYWluIGNyZWF0ZXMgYSBuZXcgY29weSB3aXRoIHRoZSBsYXRlc3QgcGx1Z2luIHZlcnNpb24sIHNvIHlvdXIgbm90ZXMgd2lsbCBub3QgYXBwZWFyIGluIGl0LicpO1xuICB9KTtcbn1cblxuLy8gQ3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciAodW5kZXIgYG1vZHVsZXNSb290YCkgaWYgaXQgaXMgbWlzc2luZy5cbi8vIEV2ZXJ5IGRlbW8gdmF1bHQgdGhlbiBoYXMgdGhlIHNhbWUgYENvZGVTY3JpcHQgVG9vbGtpdGAgbGF5b3V0IGV2ZW4gd2hlbiBpdCBzaGlwcyBubyBpbnZvY2FibGUgc2NyaXB0cy5cbi8vIFRoZSBjb21taXR0ZWQgdmF1bHQgdGhlcmVmb3JlIGNhcnJpZXMgbm8gb3RoZXJ3aXNlLWVtcHR5IHBsYWNlaG9sZGVyIGZvbGRlci5cbmFzeW5jIGZ1bmN0aW9uIGVuc3VyZUludm9jYWJsZVNjcmlwdHNGb2xkZXIoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaW52b2NhYmxlU2NyaXB0c0ZvbGRlclBhdGggPSBqb2luKENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTLmludm9jYWJsZVNjcmlwdHNGb2xkZXIpO1xuICBpZiAoIWF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCkpIHtcbiAgICBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5ta2RpcihpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCk7XG4gIH1cbn1cblxuLy8gUmVhZHMgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzIG91dCBvZiB0aGlzIGhlbHBlcidzIG93biBgZGF0YS5qc29uYCwgd3JpdHRlbiBieSB0aGVcbi8vIHBhY2thZ2luZyBzdGVwIChzZWUgYERlbW9WYXVsdEhlbHBlclNldHRpbmdzYCkuIEEgdmF1bHQgd2l0aG91dCBhIHJlYWRhYmxlIG1hcmtlciB3YXMgbm90IHByb2R1Y2VkIGJ5XG4vLyB0aGF0IHN0ZXAg4oCUIGhhbmQtYXNzZW1ibGVkLCBvciB1bnBhY2tlZCBmcm9tIHNvbWV0aGluZyB0aGF0IGlzIG5vdCBhIGRlbW8gdmF1bHQg4oCUIHNvIGl0IGlzIHJlZnVzZWRcbi8vIHJhdGhlciB0aGFuIGJvb3RzdHJhcHBlZCBhZ2FpbnN0IGEgZ3Vlc3MuXG5hc3luYyBmdW5jdGlvbiBnZXREZW1vZWRQbHVnaW5JZChhcHA6IEFwcCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHNldHRpbmdzUGF0aCA9IGpvaW4oYXBwLnZhdWx0LmNvbmZpZ0RpciwgUExVR0lOU19GT0xERVJfTkFNRSwgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lELCBEQVRBX0pTT05fRklMRV9OQU1FKTtcbiAgaWYgKCFhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5leGlzdHMoc2V0dGluZ3NQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihJTlZBTElEX0RFTU9fVkFVTFRfRVJST1JfTUVTU0FHRSk7XG4gIH1cblxuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2UoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIucmVhZChzZXR0aW5nc1BhdGgpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UsIHsgY2F1c2U6IGVycm9yIH0pO1xuICB9XG5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSAocGFyc2VkIGFzIG51bGwgfCBQYXJ0aWFsPERlbW9WYXVsdEhlbHBlclNldHRpbmdzPik/LmRlbW9lZFBsdWdpbklkO1xuICBpZiAodHlwZW9mIGRlbW9lZFBsdWdpbklkICE9PSAnc3RyaW5nJyB8fCBkZW1vZWRQbHVnaW5JZCA9PT0gRU1QVFkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UpO1xuICB9XG4gIHJldHVybiBkZW1vZWRQbHVnaW5JZDtcbn1cblxuLy8gVGVsbHMgdGhlIHVzZXIgdGhpcyB2YXVsdCBpcyBhIHNhbmRib3gsIHVzaW5nIE9ic2lkaWFuJ3Mgb3duIHNhbmRib3gtdmF1bHQgdHJlYXRtZW50OiBhbiBpbmZpbml0ZVxuLy8gZHVyYXRpb24sIGRpc21pc3NlZCBieSBjbGlja2luZyBpdC4gUmFpc2VkIGxhc3QsIHNvIGl0IGlzIHRoZSBuZXdlc3Qgbm90aWNlIG9uIHNjcmVlbiBvbmNlXG4vLyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIHN0YXJ0dXAgc2NyaXB0IGhhcyBkb25lIGl0cyBvd24gd29yay5cbi8vXG4vLyBBIGBOb3RpY2VgIGlzIGJ1aWx0IGluc2lkZSB3aGF0ZXZlciB3aW5kb3cgaXMgYWN0aXZlIGF0IHRoYXQgbW9tZW50LCBhbmQgU2V0dGluZ3MgaXMgYSBQT1BPVVQgV0lORE9XXG4vLyAodmVyaWZpZWQgb24gMS4xMy42KSB0aGF0IGJlY29tZXMgdGhlIGFjdGl2ZSBvbmUgd2hpbGUgaXQgaXMgb3BlbiDigJQgc28gYSBub3RpY2UgcmFpc2VkIHRoZW4gd291bGQgYmVcbi8vIGNyZWF0ZWQgaW4gdGhlIHNldHRpbmdzIHdpbmRvdyBhbmQgdmFuaXNoIHdpdGggaXQuIFNldHRpbmdzIGlzIHRoZXJlZm9yZSBjbG9zZWQgZmlyc3Q6IE9ic2lkaWFuIGhhbmRzXG4vLyB0aGUgbWFpbiB3aW5kb3cgYmFjayBhcyB0aGUgcG9wb3V0IGdvZXMgYXdheSAoc3luY2hyb25vdXNseSwgYmVmb3JlIHRoZSBub3RpY2UgaXMgYnVpbHQpLCBhbmQgYSB1c2VyXG4vLyB3aG8gaGFzIGp1c3Qgb3BlbmVkIGEgZGVtbyB2YXVsdCB3YW50cyB0byBzZWUgdGhlIHZhdWx0IHJhdGhlciB0aGFuIGEgc2V0dGluZ3Mgd2luZG93IGFueXdheS4gQ2xvc2luZ1xuLy8gYW4gYWxyZWFkeS1jbG9zZWQgU2V0dGluZ3MgaXMgYSBuby1vcCwgc28gbm8gb3Blbi1zdGF0ZSBwcm9iZSBpcyBuZWVkZWQuXG5mdW5jdGlvbiBzaG93U2FuZGJveE5vdGljZShhcHA6IEFwcCwgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBwbHVnaW5OYW1lID0gYXBwLnBsdWdpbnMubWFuaWZlc3RzW2RlbW9lZFBsdWdpbklkXT8ubmFtZSA/PyBkZW1vZWRQbHVnaW5JZDtcbiAgY29uc3QgZnJhZ21lbnQgPSBidWlsZFNhbmRib3hOb3RpY2VGcmFnbWVudChwbHVnaW5OYW1lKTtcbiAgYXBwLnNldHRpbmcuY2xvc2UoKTtcbiAgbmV3IE5vdGljZShmcmFnbWVudCwgU0FOREJPWF9OT1RJQ0VfRFVSQVRJT05fSU5fTUlMTElTRUNPTkRTKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW9DQSxrQkFBcUI7QUFDckIsb0JBQXNCO0FBQ3RCLHNCQUF1QjtBQUl2QiwrQkFPTztBQUNQLDBCQUFnQztBQStEaEMsTUFBTSxnQ0FBZ0M7QUFDdEMsTUFBTSxtQ0FBbUM7QUFDekMsTUFBTSwrQkFBMEQ7QUFBQSxFQUM5RCx5QkFBeUI7QUFBQSxFQUN6Qix3QkFBd0I7QUFBQSxFQUN4QixhQUFhO0FBQUEsRUFDYiwwQkFBMEI7QUFBQSxFQUMxQixtQkFBbUI7QUFDckI7QUFFQSxNQUFNLHlCQUF5QjtBQUsvQixNQUFNLHdCQUE2QztBQUFBLEVBQ2pELGdCQUFnQjtBQUFBLEVBQ2hCLGdCQUFnQjtBQUFBLEVBQ2hCLGlCQUFpQjtBQUNuQjtBQUVBLE1BQU0sOEJBQThCO0FBQ3BDLE1BQU0sc0JBQXNCO0FBQzVCLE1BQU0sc0JBQXNCO0FBQzVCLE1BQU0sbUNBQW1DO0FBQ3pDLE1BQU0sK0JBQStCO0FBR3JDLE1BQU0sMENBQTBDO0FBa0JoRCxlQUFzQixtQkFBbUIsUUFBaUQ7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
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgYnkgaW5zdGFsbGluZywgY29uZmlndXJpbmcsIGFuZCBlbmFibGluZyBgQ29kZVNjcmlwdCBUb29sa2l0YC5cbiAqXG4gKiBBIHBsdWdpbidzIGRlbW8gdmF1bHQgc2hvd2Nhc2VzIHRoZSBwbHVnaW4gdGhyb3VnaCBub3RlcyB3aG9zZSBgY29kZS1idXR0b25gcyBydW4gVHlwZVNjcmlwdCB2aWFcbiAqIGBDb2RlU2NyaXB0IFRvb2xraXRgLiBBIGRlbW8gdmF1bHQgdGhhdCBkb2VzIG5vdCBpdHNlbGYgc2hpcCBgQ29kZVNjcmlwdCBUb29sa2l0YCB0aGVyZWZvcmUgbmVlZHMgaXRcbiAqIGluc3RhbGxlZCwgY29uZmlndXJlZCwgYW5kIGVuYWJsZWQgYmVmb3JlIHRob3NlIGJ1dHRvbnMgd29yay4ge0BsaW5rIGJvb3RzdHJhcERlbW9WYXVsdH0gZG9lcyBleGFjdGx5XG4gKiB0aGF0IHdpdGggbm8gY29tbWl0dGVkIGBDb2RlU2NyaXB0IFRvb2xraXRgIGNvbmZpZyBhbmQgbm8gbWFudWFsIHNldHVwLCBzbyBpdCBjYW4gYmUgZHJpdmVuIGZyb20gYSB0aW55XG4gKiBjb21taXR0ZWQgYm9vdHN0cmFwIHBsdWdpbiAoYGRlbW8tdmF1bHQtaGVscGVyYCkgdGhhdCBpcyBpbmplY3RlZCBpbnRvIGV2ZXJ5IGRlbW8gdmF1bHQgYXQgcmVsZWFzZVxuICogdGltZS5cbiAqXG4gKiBUaGUgcGx1Z2luIHRoZSB2YXVsdCBkZW1vbnN0cmF0ZXMgaXMgcmVhZCBmcm9tIHRoZSBoZWxwZXIncyBvd24gYGRhdGEuanNvbmAsIHdyaXR0ZW4gYnkgdGhlIHBhY2thZ2luZ1xuICogc3RlcCAoe0BsaW5rIERlbW9WYXVsdEhlbHBlclNldHRpbmdzfSk7IGEgdmF1bHQgd2l0aG91dCB0aGF0IG1hcmtlciBpcyByZWZ1c2VkIGFzIG5vdCBhIGRlbW8gdmF1bHQuXG4gKlxuICogU2V0dGluZ3MgaXMgY2xvc2VkIGJlZm9yZSBhbnkgcGx1Z2luIGlzIGVuYWJsZWQuIEFmdGVyIHRoZSB0cnVzdCBwcm9tcHQgT2JzaWRpYW4gbGVhdmVzIFNldHRpbmdzIG9wZW4gYXNcbiAqIGEgcG9wb3V0IHdpbmRvdywgYW5kIGEgcmVhZGluZyB2aWV3IHJlLXJlbmRlcmVkIHdoaWxlIHRoYXQgcG9wb3V0IGlzIHRoZSBhY3RpdmUgd2luZG93IHF1ZXVlcyBpdHNcbiAqIHJlbmRlciBvbiB0aGUgcG9wb3V0J3MgYW5pbWF0aW9uIGZyYW1lIOKAlCB3aGljaCBuZXZlciBmaXJlcyBvbmNlIHRoZSBwb3BvdXQgY2xvc2VzLCBsZWF2aW5nIHRoZSBzdGFydFxuICogbm90ZSBibGFuayB1bnRpbCBpdHMgdGFiIGlzIHJlb3BlbmVkLlxuICpcbiAqIEl0IHdyaXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIHNldHRpbmdzIEJFRk9SRSBlbmFibGluZyBpdCwgc28gdGhlIHBsdWdpbiBsb2FkcyBhbHJlYWR5IGNvbmZpZ3VyZWQg4oCUXG4gKiBubyByZWxvYWQuIGBDb2RlU2NyaXB0IFRvb2xraXRgIHRoZW4gcnVucyB0aGUgdmF1bHQncyBgc3RhcnR1cC50c2AgKHZpYSBpdHMgYHN0YXJ0dXBTY3JpcHRQYXRoYFxuICogc2V0dGluZyksIHdoaWNoIGlzIHdoZXJlIGVhY2ggdmF1bHQgb3BlbnMgaXRzIHN0YXJ0IG5vdGUgYW5kIGRvZXMgYW55IHBsdWdpbi1zcGVjaWZpYyBzZXR1cC5cbiAqXG4gKiBJdCBhbHNvIGNyZWF0ZXMgYENvZGVTY3JpcHQgVG9vbGtpdGAncyBpbnZvY2FibGUtc2NyaXB0cyBmb2xkZXIgaWYgaXQgaXMgbWlzc2luZywgc28gZXZlcnkgZGVtbyB2YXVsdFxuICogaGFzIHRoZSBzYW1lIGxheW91dCBldmVuIHdoZW4gdGhlIHZhdWx0IHNoaXBzIG5vIGludm9jYWJsZSBzY3JpcHRzIOKAlCB0aGUgdmF1bHRzIHRoZW1zZWx2ZXMgY29tbWl0IG5vXG4gKiBlbXB0eSBmb2xkZXIgZm9yIGl0LlxuICpcbiAqIEl0IHRoZW4gaW5zdGFsbHMgdGhlIGBGb2xkZXIgTm90ZXNgIHBsdWdpbiwgY29uZmlndXJlZCB0byB0cmVhdCBgUkVBRE1FLm1kYCBhcyBhIGZvbGRlcidzIG93biBub3RlLiBBXG4gKiBkZW1vIHZhdWx0IHRoYXQgaGFzIG91dGdyb3duIGEgZmxhdCBub3RlIGxpc3QgZ3JvdXBzIGl0cyBub3RlcyBpbnRvIGZvbGRlcnMsIGFuZCBhIGdyb3VwIGZvbGRlciBvbmx5XG4gKiBzYXlzIHdoYXQgaXQgaXMgZm9yIGlmIGl0IGhhcyBhIG5vdGUgb2YgaXRzIG93biDigJQgYFJFQURNRS5tZGAsIGJlY2F1c2UgdGhhdCBpcyBhbHNvIHRoZSBmaWxlIEdpdEh1YlxuICogcmVuZGVycyB1bmRlciB0aGUgZmlsZSBsaXN0IHdoZW4gdGhlIHNhbWUgdmF1bHQgaXMgYnJvd3NlZCBhcyBhIHJlcG9zaXRvcnksIHNvIG9uZSBmaWxlIHNlcnZlcyBib3RoXG4gKiByZWFkZXJzLlxuICpcbiAqIEZpbmFsbHkgaXQgcmFpc2VzIHRoZSBzYW5kYm94IG5vdGljZSBleHBsYWluaW5nIHRoYXQgdGhlIG9wZW5lZCB2YXVsdCBpcyBhIHRocm93YXdheSBjb3B5LCBzbyBhIHVzZXJcbiAqIHdobyB3cml0ZXMgdGhlaXIgb3duIG5vdGVzIGluIGl0IGlzIG5ldmVyIHN1cnByaXNlZCBieSB0aGVtIGJlaW5nIGFic2VudCBmcm9tIHRoZSBuZXh0IGNvcHkuIFNldHRpbmdzXG4gKiBpcyBjbG9zZWQgZmlyc3QsIHNvIHRoZSBub3RpY2UgbGFuZHMgaW4gdGhlIHZhdWx0J3MgbWFpbiB3aW5kb3cgcmF0aGVyIHRoYW4gaW4gdGhlIHNldHRpbmdzIHBvcG91dC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgam9pbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5pbXBvcnQgeyBOb3RpY2UgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgRGVtb1ZhdWx0SGVscGVyU2V0dGluZ3MgfSBmcm9tICcuL2RlbW8tdmF1bHQtaGVscGVyLXNldHRpbmdzLnRzJztcblxuaW1wb3J0IHtcbiAgY29uZmlndXJlQ29tbXVuaXR5UGx1Z2luLFxuICBDb25maWd1cmVDb21tdW5pdHlQbHVnaW5SZXN1bHQsXG4gIGRpc2FibGVDb21tdW5pdHlQbHVnaW4sXG4gIGVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgaW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgaW5zdGFsbENvbmZpZ3VyZUVuYWJsZUNvbW11bml0eVBsdWdpblxufSBmcm9tICcuL2NvbW11bml0eS1wbHVnaW5zLnRzJztcbmltcG9ydCB7IGFwcGVuZENvZGVCbG9jayB9IGZyb20gJy4vaHRtbC1lbGVtZW50LnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYm9vdHN0cmFwRGVtb1ZhdWx0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCb290c3RyYXBEZW1vVmF1bHRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xufVxuXG4vKipcbiAqIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc2V0dGluZ3MsIHdyaXR0ZW4gaW50byBpdHMgYGRhdGEuanNvbmAgYmVmb3JlIGl0IGlzIGVuYWJsZWQuXG4gKi9cbmludGVyZmFjZSBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBZQU1MIGZyb250bWF0dGVyIG1lcmdlZCBpbnRvIGV2ZXJ5IGBjb2RlLWJ1dHRvbmAgYmxvY2sncyBvd24gY29uZmlnLCB1c2VkIGhlcmUgdG8gdHVybiB0aGVcbiAgICogc291cmNlIHZpZXdlciBvbiBmb3IgZXZlcnkgYnV0dG9uIGluIGV2ZXJ5IGRlbW8gdmF1bHQgd2l0aG91dCBlZGl0aW5nIGEgc2luZ2xlIG5vdGUuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0Q29kZUJ1dHRvbkNvbmZpZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyICh1bmRlciB7QGxpbmsgQ29kZVNjcmlwdFRvb2xraXRTZXR0aW5ncy5tb2R1bGVzUm9vdH0pIGhvbGRpbmcgaW52b2NhYmxlIHNjcmlwdHMuXG4gICAqL1xuICByZWFkb25seSBpbnZvY2FibGVTY3JpcHRzRm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YXVsdC1yZWxhdGl2ZSBmb2xkZXIgdGhhdCBgcmVxdWlyZSgnL+KApicpYCByZXNvbHZlcyBtb2R1bGUgcGF0aHMgYWdhaW5zdC5cbiAgICovXG4gIHJlYWRvbmx5IG1vZHVsZXNSb290OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYENvZGVTY3JpcHQgVG9vbGtpdGAgaGFuZGxlcyBgb2JzaWRpYW46Ly9gIHByb3RvY29sIFVSTHMuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRIYW5kbGVQcm90b2NvbFVybHM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoICh1bmRlciB7QGxpbmsgQ29kZVNjcmlwdFRvb2xraXRTZXR0aW5ncy5tb2R1bGVzUm9vdH0pIG9mIHRoZSBzY3JpcHQgcnVuIG9uIGxvYWQuXG4gICAqL1xuICByZWFkb25seSBzdGFydHVwU2NyaXB0UGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIGBGb2xkZXIgTm90ZXNgJyBzZXR0aW5ncywgd3JpdHRlbiBpbnRvIGl0cyBgZGF0YS5qc29uYCBiZWZvcmUgaXQgaXMgZW5hYmxlZC5cbiAqL1xuaW50ZXJmYWNlIEZvbGRlck5vdGVzU2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIG5hbWUgYSBmb2xkZXIncyBvd24gbm90ZSBpcyBsb29rZWQgZm9yIHVuZGVyLCB3aXRob3V0IHRoZSBleHRlbnNpb24uXG4gICAqL1xuICByZWFkb25seSBmb2xkZXJOb3RlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgZm9sZGVyJ3Mgb3duIG5vdGUgaXMgaGlkZGVuIGZyb20gdGhlIGZpbGUgZXhwbG9yZXIsIHNvIHRoZSBmb2xkZXIgaXRzZWxmIHN0YW5kcyBmb3IgaXQuXG4gICAqL1xuICByZWFkb25seSBoaWRlRm9sZGVyTm90ZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlcmUgYSBmb2xkZXIncyBvd24gbm90ZSBpcyBrZXB0LCByZWxhdGl2ZSB0byB0aGUgZm9sZGVyIGl0IGRlc2NyaWJlcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0b3JhZ2VMb2NhdGlvbjogc3RyaW5nO1xufVxuXG5jb25zdCBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCA9ICdmaXgtcmVxdWlyZS1tb2R1bGVzJztcbmNvbnN0IENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09UID0gJ19hc3NldHMvQ29kZVNjcmlwdFRvb2xraXQnO1xuY29uc3QgQ09ERV9TQ1JJUFRfVE9PTEtJVF9TRVRUSU5HUzogQ29kZVNjcmlwdFRvb2xraXRTZXR0aW5ncyA9IHtcbiAgZGVmYXVsdENvZGVCdXR0b25Db25maWc6ICctLS1cXG5zb3VyY2VWaXNpYmlsaXR5OiBjb2xsYXBzZWRcXG4tLS0nLFxuICBpbnZvY2FibGVTY3JpcHRzRm9sZGVyOiAnSW52b2NhYmxlcycsXG4gIG1vZHVsZXNSb290OiBDT0RFX1NDUklQVF9UT09MS0lUX01PRFVMRVNfUk9PVCxcbiAgc2hvdWxkSGFuZGxlUHJvdG9jb2xVcmxzOiB0cnVlLFxuICBzdGFydHVwU2NyaXB0UGF0aDogJ3N0YXJ0dXAudHMnXG59O1xuXG5jb25zdCBGT0xERVJfTk9URVNfUExVR0lOX0lEID0gJ2ZvbGRlci1ub3Rlcyc7XG4vLyBgUkVBRE1FYCByYXRoZXIgdGhhbiBgRm9sZGVyIE5vdGVzYCcgb3duIGB7e2ZvbGRlcl9uYW1lfX1gIGRlZmF1bHQ6IHRoZSBzYW1lIGZpbGUgaGFzIHRvIGJlIHRoZSBmb2xkZXInc1xuLy8gbm90ZSBpbiBPYnNpZGlhbiBBTkQgdGhlIHBhZ2UgR2l0SHViIHJlbmRlcnMgd2hlbiB0aGUgdmF1bHQgaXMgYnJvd3NlZCBhcyBhIHJlcG9zaXRvcnksIGFuZCBHaXRIdWJcbi8vIG9ubHkgZG9lcyB0aGF0IGZvciBgUkVBRE1FLm1kYC4gYGluc2lkZUZvbGRlcmAga2VlcHMgaXQgd2l0aCB0aGUgbm90ZXMgaXQgZGVzY3JpYmVzIHJhdGhlciB0aGFuIGJlc2lkZVxuLy8gdGhlIGZvbGRlciwgYW5kIGhpZGluZyBpdCBsZXRzIHRoZSBmb2xkZXIgaXRzZWxmIHN0YW5kIGZvciB0aGUgbm90ZSBpbnN0ZWFkIG9mIGxpc3RpbmcgYm90aC5cbmNvbnN0IEZPTERFUl9OT1RFU19TRVRUSU5HUzogRm9sZGVyTm90ZXNTZXR0aW5ncyA9IHtcbiAgZm9sZGVyTm90ZU5hbWU6ICdSRUFETUUnLFxuICBoaWRlRm9sZGVyTm90ZTogdHJ1ZSxcbiAgc3RvcmFnZUxvY2F0aW9uOiAnaW5zaWRlRm9sZGVyJ1xufTtcblxuY29uc3QgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lEID0gJ2RlbW8tdmF1bHQtaGVscGVyJztcbmNvbnN0IFBMVUdJTlNfRk9MREVSX05BTUUgPSAncGx1Z2lucyc7XG5jb25zdCBEQVRBX0pTT05fRklMRV9OQU1FID0gJ2RhdGEuanNvbic7XG5jb25zdCBJTlZBTElEX0RFTU9fVkFVTFRfRVJST1JfTUVTU0FHRSA9ICdJbnZhbGlkIGRlbW8gdmF1bHQnO1xuY29uc3QgT1BFTl9ERU1PX1ZBVUxUX0NPTU1BTkRfTkFNRSA9ICdPcGVuIGRlbW8gdmF1bHQnO1xuLy8gYDBgIGFza3MgT2JzaWRpYW4gdG8ga2VlcCB0aGUgbm90aWNlIHVwIHVudGlsIHRoZSB1c2VyIGNsaWNrcyBpdCDigJQgdGhlIHNhbWUgdHJlYXRtZW50IE9ic2lkaWFuIGdpdmVzXG4vLyBpdHMgb3duIHNhbmRib3gtdmF1bHQgbm90aWNlLCBhbmQgd2hhdCB0aGUgZGVtby12YXVsdCBub3RpY2UgaXMgbW9kZWxsZWQgb24uXG5jb25zdCBTQU5EQk9YX05PVElDRV9EVVJBVElPTl9JTl9NSUxMSVNFQ09ORFMgPSAwO1xuXG4vKipcbiAqIEJvb3RzdHJhcHMgYSBkZW1vIHZhdWx0IHNvIGl0cyBub3RlcycgYGNvZGUtYnV0dG9uYHMgd29yayB3aXRoIG5vIG1hbnVhbCBzZXR1cC4gSXQgZmlyc3QgY2xvc2VzIFNldHRpbmdzLFxuICogc28gbm8gcmVhZGluZyB2aWV3IHF1ZXVlcyBhIHJlLXJlbmRlciBvbiB0aGUgc2V0dGluZ3MgcG9wb3V0J3MgYW5pbWF0aW9uIGZyYW1lLiBJdCB0aGVuIGluc3RhbGxzIENvZGVTY3JpcHRcbiAqIFRvb2xraXQgZnJvbSB0aGUgY29tbXVuaXR5IHN0b3JlIChpZiBpdCBpcyBub3QgYWxyZWFkeSBpbnN0YWxsZWQpLCB3cml0ZXMgaXRzIHNldHRpbmdzLCB0aGVuIGVuYWJsZXNcbiAqIGl0IOKAlCB3cml0aW5nIHRoZSBzZXR0aW5ncyBCRUZPUkUgZW5hYmxpbmcgc28gYSBmcmVzaCBlbmFibGUgbG9hZHMgaXQgYWxyZWFkeSBjb25maWd1cmVkLCB3aXRoIG5vXG4gKiByZWxvYWQuIElmIGBDb2RlU2NyaXB0IFRvb2xraXRgIGlzIGFscmVhZHkgZW5hYmxlZCBidXQgdGhlIHNldHRpbmdzIGp1c3QgY2hhbmdlZCwgaXQgaXMgcmVsb2FkZWRcbiAqIChkaXNhYmxlZCB0aGVuIGVuYWJsZWQpIHNvIGl0IHJlLXJlYWRzIGBkYXRhLmpzb25gOyB3aGVuIHRoZSBzZXR0aW5ncyB3ZXJlIGFscmVhZHkgaW4gcGxhY2UsIG5vdGhpbmcgaXNcbiAqIHJlbG9hZGVkIChzbyBhIHJvdXRpbmUgdmF1bHQgcmUtb3BlbiBkb2VzIG5vdCByZS1ydW4gYENvZGVTY3JpcHQgVG9vbGtpdGAncyBzdGFydHVwKS4gYENvZGVTY3JpcHQgVG9vbGtpdGBcbiAqIHRoZW4gcnVucyB0aGUgdmF1bHQncyBgc3RhcnR1cC50c2AuIGBGb2xkZXIgTm90ZXNgIGlzIGluc3RhbGxlZCBuZXh0LCBjb25maWd1cmVkIHRvIHRyZWF0IGBSRUFETUUubWRgIGFzXG4gKiBhIGZvbGRlcidzIG93biBub3RlLCBzbyBhIHZhdWx0IHdob3NlIG5vdGVzIGFyZSBncm91cGVkIGludG8gZm9sZGVycyBkZXNjcmliZXMgZWFjaCBncm91cCBpbiB0aGUgZmlsZVxuICogZXhwbG9yZXIuIEZpbmFsbHkgaXQgY2xvc2VzIFNldHRpbmdzIGFnYWluIChzbyB0aGUgbm90aWNlIGNhbm5vdCBiZSByYWlzZWQgaW5zaWRlIHRoZSBzZXR0aW5ncyBwb3BvdXQpIGFuZFxuICogcmFpc2VzIHRoZSBzYW5kYm94IG5vdGljZSBkZXNjcmliaW5nIHRoZSBvcGVuZWQgdmF1bHQgYXMgYSB0aHJvd2F3YXkgY29weS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBCb290c3RyYXBEZW1vVmF1bHRQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIGBDb2RlU2NyaXB0IFRvb2xraXRgIGlzIGluc3RhbGxlZCwgY29uZmlndXJlZCwgYW5kIGVuYWJsZWRcbiAqIGFuZCB0aGUgc2FuZGJveCBub3RpY2UgaGFzIGJlZW4gc2hvd24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBib290c3RyYXBEZW1vVmF1bHQocGFyYW1zOiBCb290c3RyYXBEZW1vVmF1bHRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBhcHAgfSA9IHBhcmFtcztcbiAgLy8gUmVzb2x2ZWQgZmlyc3QsIHNvIGEgdmF1bHQgdGhhdCBpcyBub3QgYSBkZW1vIHZhdWx0IGlzIHJlZnVzZWQgYmVmb3JlIGFueXRoaW5nIGlzIGluc3RhbGxlZCBpbnRvIGl0LlxuICBjb25zdCBkZW1vZWRQbHVnaW5JZCA9IGF3YWl0IGdldERlbW9lZFBsdWdpbklkKGFwcCk7XG4gIGNsb3NlU2V0dGluZ3NCZWZvcmVFbmFibGluZ1BsdWdpbnMoYXBwKTtcbiAgYXdhaXQgaW5zdGFsbENvbW11bml0eVBsdWdpbih7IGFwcCwgcGx1Z2luSWQ6IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEIH0pO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4oe1xuICAgIGFwcCxcbiAgICBwbHVnaW5JZDogQ09ERV9TQ1JJUFRfVE9PTEtJVF9QTFVHSU5fSUQsXG4gICAgc2V0dGluZ3M6IENPREVfU0NSSVBUX1RPT0xLSVRfU0VUVElOR1NcbiAgfSk7XG4gIGF3YWl0IGVuc3VyZUludm9jYWJsZVNjcmlwdHNGb2xkZXIoYXBwKTtcblxuICBpZiAoIWFwcC5wbHVnaW5zLmVuYWJsZWRQbHVnaW5zLmhhcyhDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCkpIHtcbiAgICBhd2FpdCBlbmFibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgfSBlbHNlIGlmIChyZXN1bHQgPT09IENvbmZpZ3VyZUNvbW11bml0eVBsdWdpblJlc3VsdC5TdWNjZXNzKSB7XG4gICAgLy8gQWxyZWFkeSBlbmFibGVkIHdpdGggc3RhbGUgc2V0dGluZ3Mg4oCUIHJlbG9hZCBzbyBgQ29kZVNjcmlwdCBUb29sa2l0YCByZS1yZWFkcyB0aGUgZnJlc2hseSB3cml0dGVuIGRhdGEuanNvbi5cbiAgICBhd2FpdCBkaXNhYmxlQ29tbXVuaXR5UGx1Z2luKHsgYXBwLCBwbHVnaW5JZDogQ09ERV9TQ1JJUFRfVE9PTEtJVF9QTFVHSU5fSUQgfSk7XG4gICAgYXdhaXQgZW5hYmxlQ29tbXVuaXR5UGx1Z2luKHsgYXBwLCBwbHVnaW5JZDogQ09ERV9TQ1JJUFRfVE9PTEtJVF9QTFVHSU5fSUQgfSk7XG4gIH1cblxuICAvLyBBZnRlciBgQ29kZVNjcmlwdCBUb29sa2l0YCwgc28gdGhlIHZhdWx0J3Mgc3RhcnR1cCBzY3JpcHQgaGFzIGFscmVhZHkgb3BlbmVkIHRoZSBzdGFydCBub3RlIGJ5IHRoZSB0aW1lXG4gIC8vIHRoZSBmaWxlIGV4cGxvcmVyIGdhaW5zIGl0cyBmb2xkZXItbm90ZSBiZWhhdmlvci5cbiAgYXdhaXQgaW5zdGFsbENvbmZpZ3VyZUVuYWJsZUNvbW11bml0eVBsdWdpbih7XG4gICAgYXBwLFxuICAgIHBsdWdpbklkOiBGT0xERVJfTk9URVNfUExVR0lOX0lELFxuICAgIHNldHRpbmdzOiBGT0xERVJfTk9URVNfU0VUVElOR1NcbiAgfSk7XG5cbiAgc2hvd1NhbmRib3hOb3RpY2UoYXBwLCBkZW1vZWRQbHVnaW5JZCk7XG59XG5cbi8vIEJ1aWxkcyB0aGUgc2FuZGJveCBub3RpY2UgY29udGVudDogd2hhdCB0aGlzIHZhdWx0IGlzLCB3aGVyZSBpdCBsaXZlcywgaG93IGxvbmcgaXQgbGl2ZXMsIGFuZCB3aHlcbi8vIHJlLXJ1bm5pbmcgdGhlIGNvbW1hbmQgcHJvZHVjZXMgYSB2YXVsdCB3aXRob3V0IHRoZSBub3RlcyBqdXN0IHdyaXR0ZW4gaGVyZS5cbi8vXG4vLyBFdmVyeSBjbGFpbSBoYXMgdG8gc3RheSB0cnVlIG9mIHRoZSBvcGVuZXIgKGBkZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyLnRzYCk6IGl0IGV4dHJhY3RzIGEgRlJFU0ggY29weVxuLy8gaW50byBpdHMgb3duIGZvbGRlciBvbiBldmVyeSBvcGVuLCBhbmQgZGVsZXRlcyBleHRyYWN0ZWQgZm9sZGVycyBvbGRlciB0aGFuIGEgZGF5IG9uIGVhY2ggbGF0ZXIgb3Blbi5cbi8vIFNvIHRoZSB2YXVsdCBpcyBhIHRlbXBvcmFyeSBzYW5kYm94IOKAlCBpdCBtdXN0IG5ldmVyIGJlIGRlc2NyaWJlZCBhcyBhIHBsYWNlIHdvcmsgY2FuIGJlIGxlZnQuXG5mdW5jdGlvbiBidWlsZFNhbmRib3hOb3RpY2VGcmFnbWVudChwbHVnaW5OYW1lOiBzdHJpbmcpOiBEb2N1bWVudEZyYWdtZW50IHtcbiAgcmV0dXJuIGNyZWF0ZUZyYWdtZW50KChmcmFnbWVudCkgPT4ge1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJ1RoaXMgaXMgYSBkZW1vIHZhdWx0IGZvciAnKTtcbiAgICBhcHBlbmRDb2RlQmxvY2soZnJhZ21lbnQsIHBsdWdpbk5hbWUpO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJy4nKTtcblxuICAgIGZyYWdtZW50LmNyZWF0ZUVsKCdicicpO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJ0l0IGlzIGEgdGVtcG9yYXJ5IHNhbmRib3gsIGNsZWFuZWQgdXAgYXV0b21hdGljYWxseSBhYm91dCBhIGRheSBhZnRlciB5b3UgbGFzdCB1c2UgaXQuJyk7XG5cbiAgICBmcmFnbWVudC5jcmVhdGVFbCgnYnInKTtcbiAgICBmcmFnbWVudC5hcHBlbmRUZXh0KCdFeGVjdXRpbmcgJyk7XG4gICAgZnJhZ21lbnQuY3JlYXRlRWwoJ2InLCB7IHRleHQ6IGAke3BsdWdpbk5hbWV9OiAke09QRU5fREVNT19WQVVMVF9DT01NQU5EX05BTUV9YCB9KTtcbiAgICBmcmFnbWVudC5hcHBlbmRUZXh0KCcgY29tbWFuZCBhZ2FpbiBjcmVhdGVzIGEgbmV3IGNvcHkgd2l0aCB0aGUgbGF0ZXN0IHBsdWdpbiB2ZXJzaW9uLCBzbyB5b3VyIG5vdGVzIHdpbGwgbm90IGFwcGVhciBpbiBpdC4nKTtcbiAgfSk7XG59XG5cbi8vIENsb3NlcyBTZXR0aW5ncyBiZWZvcmUgYW55IHBsdWdpbiBpcyBlbmFibGVkLiBUaGlzIGlzIGxvYWQtYmVhcmluZywgbm90IGNvc21ldGljLiBBIGZyZXNobHkgb3BlbmVkIGRlbW9cbi8vIHZhdWx0IGFza3MgdGhlIHVzZXIgdG8gdHJ1c3QgaXRzIGF1dGhvciwgYW5kIE9ic2lkaWFuIHRoZW4gb3BlbnMgU2V0dGluZ3MgYXMgYSBQT1BPVVQgV0lORE9XIHRoYXQgYmVjb21lc1xuLy8gYGFjdGl2ZVdpbmRvd2AuIEVuYWJsaW5nIGEgcGx1Z2luIHRoYXQgcmVnaXN0ZXJzIGEgbWFya2Rvd24gcG9zdC1wcm9jZXNzb3IgKGBGb2xkZXIgTm90ZXNgKSBtYWtlcyBldmVyeVxuLy8gcmVhZGluZyB2aWV3IGByZXJlbmRlcih0cnVlKWA6IGl0IGVtcHRpZXMgdGhlIGJvZHkgc2VjdGlvbnMgYW5kIHF1ZXVlcyB0aGUgcmVuZGVyIHRocm91Z2hcbi8vIGBhY3RpdmVXaW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lYC4gSWYgdGhhdCBpcyB0aGUgU2V0dGluZ3MgcG9wb3V0LCBjbG9zaW5nIGl0IGxhdGVyIGRlc3Ryb3lzIHRoZSB3aW5kb3dcbi8vIGJlZm9yZSB0aGUgZnJhbWUgZmlyZXMsIHRoZSByZW5kZXJlcidzIHF1ZXVlZCBoYW5kbGUgbmV2ZXIgY2xlYXJzLCBhbmQgZXZlcnkgbGF0ZXIgcmVuZGVyIHJlcXVlc3QgaXNcbi8vIGlnbm9yZWQsIHNvIHRoZSBzdGFydCBub3RlIHN0YXlzIGJsYW5rIHVudGlsIGl0cyB0YWIgaXMgY2xvc2VkLiBXaXRoIFNldHRpbmdzIGNsb3NlZCBmaXJzdCwgZXZlcnkgc3VjaFxuLy8gZnJhbWUgaXMgYm9va2VkIG9uIHRoZSBtYWluIHdpbmRvdy4gQ2xvc2luZyBhbiBhbHJlYWR5LWNsb3NlZCBTZXR0aW5ncyBpcyBhIG5vLW9wLlxuZnVuY3Rpb24gY2xvc2VTZXR0aW5nc0JlZm9yZUVuYWJsaW5nUGx1Z2lucyhhcHA6IEFwcCk6IHZvaWQge1xuICBhcHAuc2V0dGluZy5jbG9zZSgpO1xufVxuXG4vLyBDcmVhdGVzIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3MgaW52b2NhYmxlLXNjcmlwdHMgZm9sZGVyICh1bmRlciBgbW9kdWxlc1Jvb3RgKSBpZiBpdCBpcyBtaXNzaW5nLlxuLy8gRXZlcnkgZGVtbyB2YXVsdCB0aGVuIGhhcyB0aGUgc2FtZSBgQ29kZVNjcmlwdCBUb29sa2l0YCBsYXlvdXQgZXZlbiB3aGVuIGl0IHNoaXBzIG5vIGludm9jYWJsZSBzY3JpcHRzLlxuLy8gVGhlIGNvbW1pdHRlZCB2YXVsdCB0aGVyZWZvcmUgY2FycmllcyBubyBvdGhlcndpc2UtZW1wdHkgcGxhY2Vob2xkZXIgZm9sZGVyLlxuYXN5bmMgZnVuY3Rpb24gZW5zdXJlSW52b2NhYmxlU2NyaXB0c0ZvbGRlcihhcHA6IEFwcCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCA9IGpvaW4oQ09ERV9TQ1JJUFRfVE9PTEtJVF9NT0RVTEVTX1JPT1QsIENPREVfU0NSSVBUX1RPT0xLSVRfU0VUVElOR1MuaW52b2NhYmxlU2NyaXB0c0ZvbGRlcik7XG4gIGlmICghYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuZXhpc3RzKGludm9jYWJsZVNjcmlwdHNGb2xkZXJQYXRoKSkge1xuICAgIGF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLm1rZGlyKGludm9jYWJsZVNjcmlwdHNGb2xkZXJQYXRoKTtcbiAgfVxufVxuXG4vLyBSZWFkcyB0aGUgcGx1Z2luIHRoZSB2YXVsdCBkZW1vbnN0cmF0ZXMgb3V0IG9mIHRoaXMgaGVscGVyJ3Mgb3duIGBkYXRhLmpzb25gLCB3cml0dGVuIGJ5IHRoZVxuLy8gcGFja2FnaW5nIHN0ZXAgKHNlZSBgRGVtb1ZhdWx0SGVscGVyU2V0dGluZ3NgKS4gQSB2YXVsdCB3aXRob3V0IGEgcmVhZGFibGUgbWFya2VyIHdhcyBub3QgcHJvZHVjZWQgYnlcbi8vIHRoYXQgc3RlcCDigJQgaGFuZC1hc3NlbWJsZWQsIG9yIHVucGFja2VkIGZyb20gc29tZXRoaW5nIHRoYXQgaXMgbm90IGEgZGVtbyB2YXVsdCDigJQgc28gaXQgaXMgcmVmdXNlZFxuLy8gcmF0aGVyIHRoYW4gYm9vdHN0cmFwcGVkIGFnYWluc3QgYSBndWVzcy5cbmFzeW5jIGZ1bmN0aW9uIGdldERlbW9lZFBsdWdpbklkKGFwcDogQXBwKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3Qgc2V0dGluZ3NQYXRoID0gam9pbihhcHAudmF1bHQuY29uZmlnRGlyLCBQTFVHSU5TX0ZPTERFUl9OQU1FLCBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSUQsIERBVEFfSlNPTl9GSUxFX05BTUUpO1xuICBpZiAoIWF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhzZXR0aW5nc1BhdGgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKElOVkFMSURfREVNT19WQVVMVF9FUlJPUl9NRVNTQUdFKTtcbiAgfVxuXG4gIGxldCBwYXJzZWQ6IHVua25vd247XG4gIHRyeSB7XG4gICAgcGFyc2VkID0gSlNPTi5wYXJzZShhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5yZWFkKHNldHRpbmdzUGF0aCkpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihJTlZBTElEX0RFTU9fVkFVTFRfRVJST1JfTUVTU0FHRSwgeyBjYXVzZTogZXJyb3IgfSk7XG4gIH1cblxuICBjb25zdCBkZW1vZWRQbHVnaW5JZCA9IChwYXJzZWQgYXMgbnVsbCB8IFBhcnRpYWw8RGVtb1ZhdWx0SGVscGVyU2V0dGluZ3M+KT8uZGVtb2VkUGx1Z2luSWQ7XG4gIGlmICh0eXBlb2YgZGVtb2VkUGx1Z2luSWQgIT09ICdzdHJpbmcnIHx8IGRlbW9lZFBsdWdpbklkID09PSBFTVBUWSkge1xuICAgIHRocm93IG5ldyBFcnJvcihJTlZBTElEX0RFTU9fVkFVTFRfRVJST1JfTUVTU0FHRSk7XG4gIH1cbiAgcmV0dXJuIGRlbW9lZFBsdWdpbklkO1xufVxuXG4vLyBUZWxscyB0aGUgdXNlciB0aGlzIHZhdWx0IGlzIGEgc2FuZGJveCwgdXNpbmcgT2JzaWRpYW4ncyBvd24gc2FuZGJveC12YXVsdCB0cmVhdG1lbnQ6IGFuIGluZmluaXRlXG4vLyBkdXJhdGlvbiwgZGlzbWlzc2VkIGJ5IGNsaWNraW5nIGl0LiBSYWlzZWQgbGFzdCwgc28gaXQgaXMgdGhlIG5ld2VzdCBub3RpY2Ugb24gc2NyZWVuIG9uY2Vcbi8vIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc3RhcnR1cCBzY3JpcHQgaGFzIGRvbmUgaXRzIG93biB3b3JrLlxuLy9cbi8vIEEgYE5vdGljZWAgaXMgYnVpbHQgaW5zaWRlIHdoYXRldmVyIHdpbmRvdyBpcyBhY3RpdmUgYXQgdGhhdCBtb21lbnQsIGFuZCBTZXR0aW5ncyBpcyBhIFBPUE9VVCBXSU5ET1dcbi8vICh2ZXJpZmllZCBvbiAxLjEzLjYpIHRoYXQgYmVjb21lcyB0aGUgYWN0aXZlIG9uZSB3aGlsZSBpdCBpcyBvcGVuIOKAlCBzbyBhIG5vdGljZSByYWlzZWQgdGhlbiB3b3VsZCBiZVxuLy8gY3JlYXRlZCBpbiB0aGUgc2V0dGluZ3Mgd2luZG93IGFuZCB2YW5pc2ggd2l0aCBpdC4gYGJvb3RzdHJhcERlbW9WYXVsdGAgYWxyZWFkeSBjbG9zZWQgU2V0dGluZ3MgYmVmb3JlXG4vLyBlbmFibGluZyBhbnl0aGluZywgYnV0IGEgcGx1Z2luIGVuYWJsZWQgc2luY2UgbWF5IGhhdmUgb3BlbmVkIGl0IGFnYWluLCBzbyBpdCBpcyBjbG9zZWQgb25jZSBtb3JlIGhlcmU6XG4vLyBPYnNpZGlhbiBoYW5kcyB0aGUgbWFpbiB3aW5kb3cgYmFjayBhcyB0aGUgcG9wb3V0IGdvZXMgYXdheSAoc3luY2hyb25vdXNseSwgYmVmb3JlIHRoZSBub3RpY2UgaXMgYnVpbHQpLFxuLy8gYW5kIGEgdXNlciB3aG8gaGFzIGp1c3Qgb3BlbmVkIGEgZGVtbyB2YXVsdCB3YW50cyB0byBzZWUgdGhlIHZhdWx0IHJhdGhlciB0aGFuIGEgc2V0dGluZ3Mgd2luZG93IGFueXdheS5cbi8vIENsb3NpbmcgYW4gYWxyZWFkeS1jbG9zZWQgU2V0dGluZ3MgaXMgYSBuby1vcCwgc28gbm8gb3Blbi1zdGF0ZSBwcm9iZSBpcyBuZWVkZWQuXG5mdW5jdGlvbiBzaG93U2FuZGJveE5vdGljZShhcHA6IEFwcCwgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBwbHVnaW5OYW1lID0gYXBwLnBsdWdpbnMubWFuaWZlc3RzW2RlbW9lZFBsdWdpbklkXT8ubmFtZSA/PyBkZW1vZWRQbHVnaW5JZDtcbiAgY29uc3QgZnJhZ21lbnQgPSBidWlsZFNhbmRib3hOb3RpY2VGcmFnbWVudChwbHVnaW5OYW1lKTtcbiAgYXBwLnNldHRpbmcuY2xvc2UoKTtcbiAgbmV3IE5vdGljZShmcmFnbWVudCwgU0FOREJPWF9OT1RJQ0VfRFVSQVRJT05fSU5fTUlMTElTRUNPTkRTKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlDQSxrQkFBcUI7QUFDckIsb0JBQXNCO0FBQ3RCLHNCQUF1QjtBQUl2QiwrQkFPTztBQUNQLDBCQUFnQztBQStEaEMsTUFBTSxnQ0FBZ0M7QUFDdEMsTUFBTSxtQ0FBbUM7QUFDekMsTUFBTSwrQkFBMEQ7QUFBQSxFQUM5RCx5QkFBeUI7QUFBQSxFQUN6Qix3QkFBd0I7QUFBQSxFQUN4QixhQUFhO0FBQUEsRUFDYiwwQkFBMEI7QUFBQSxFQUMxQixtQkFBbUI7QUFDckI7QUFFQSxNQUFNLHlCQUF5QjtBQUsvQixNQUFNLHdCQUE2QztBQUFBLEVBQ2pELGdCQUFnQjtBQUFBLEVBQ2hCLGdCQUFnQjtBQUFBLEVBQ2hCLGlCQUFpQjtBQUNuQjtBQUVBLE1BQU0sOEJBQThCO0FBQ3BDLE1BQU0sc0JBQXNCO0FBQzVCLE1BQU0sc0JBQXNCO0FBQzVCLE1BQU0sbUNBQW1DO0FBQ3pDLE1BQU0sK0JBQStCO0FBR3JDLE1BQU0sMENBQTBDO0FBbUJoRCxlQUFzQixtQkFBbUIsUUFBaUQ7QUFDeEYsUUFBTSxFQUFFLElBQUksSUFBSTtBQUVoQixRQUFNLGlCQUFpQixNQUFNLGtCQUFrQixHQUFHO0FBQ2xELHFDQUFtQyxHQUFHO0FBQ3RDLFlBQU0saURBQXVCLEVBQUUsS0FBSyxVQUFVLDhCQUE4QixDQUFDO0FBQzdFLFFBQU0sU0FBUyxVQUFNLG1EQUF5QjtBQUFBLElBQzVDO0FBQUEsSUFDQSxVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsRUFDWixDQUFDO0FBQ0QsUUFBTSw2QkFBNkIsR0FBRztBQUV0QyxNQUFJLENBQUMsSUFBSSxRQUFRLGVBQWUsSUFBSSw2QkFBNkIsR0FBRztBQUNsRSxjQUFNLGdEQUFzQixFQUFFLEtBQUssVUFBVSw4QkFBOEIsQ0FBQztBQUFBLEVBQzlFLFdBQVcsV0FBVyx3REFBK0IsU0FBUztBQUU1RCxjQUFNLGlEQUF1QixFQUFFLEtBQUssVUFBVSw4QkFBOEIsQ0FBQztBQUM3RSxjQUFNLGdEQUFzQixFQUFFLEtBQUssVUFBVSw4QkFBOEIsQ0FBQztBQUFBLEVBQzlFO0FBSUEsWUFBTSxnRUFBc0M7QUFBQSxJQUMxQztBQUFBLElBQ0EsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLEVBQ1osQ0FBQztBQUVELG9CQUFrQixLQUFLLGNBQWM7QUFDdkM7QUFRQSxTQUFTLDJCQUEyQixZQUFzQztBQUN4RSxTQUFPLGVBQWUsQ0FBQyxhQUFhO0FBQ2xDLGFBQVMsV0FBVywyQkFBMkI7QUFDL0MsNkNBQWdCLFVBQVUsVUFBVTtBQUNwQyxhQUFTLFdBQVcsR0FBRztBQUV2QixhQUFTLFNBQVMsSUFBSTtBQUN0QixhQUFTLFdBQVcsd0ZBQXdGO0FBRTVHLGFBQVMsU0FBUyxJQUFJO0FBQ3RCLGFBQVMsV0FBVyxZQUFZO0FBQ2hDLGFBQVMsU0FBUyxLQUFLLEVBQUUsTUFBTSxHQUFHLFVBQVUsS0FBSyw0QkFBNEIsR0FBRyxDQUFDO0FBQ2pGLGFBQVMsV0FBVyx3R0FBd0c7QUFBQSxFQUM5SCxDQUFDO0FBQ0g7QUFVQSxTQUFTLG1DQUFtQyxLQUFnQjtBQUMxRCxNQUFJLFFBQVEsTUFBTTtBQUNwQjtBQUtBLGVBQWUsNkJBQTZCLEtBQXlCO0FBQ25FLFFBQU0saUNBQTZCLGtCQUFLLGtDQUFrQyw2QkFBNkIsc0JBQXNCO0FBQzdILE1BQUksQ0FBQyxNQUFNLElBQUksTUFBTSxRQUFRLE9BQU8sMEJBQTBCLEdBQUc7QUFDL0QsVUFBTSxJQUFJLE1BQU0sUUFBUSxNQUFNLDBCQUEwQjtBQUFBLEVBQzFEO0FBQ0Y7QUFNQSxlQUFlLGtCQUFrQixLQUEyQjtBQUMxRCxRQUFNLG1CQUFlLGtCQUFLLElBQUksTUFBTSxXQUFXLHFCQUFxQiw2QkFBNkIsbUJBQW1CO0FBQ3BILE1BQUksQ0FBQyxNQUFNLElBQUksTUFBTSxRQUFRLE9BQU8sWUFBWSxHQUFHO0FBQ2pELFVBQU0sSUFBSSxNQUFNLGdDQUFnQztBQUFBLEVBQ2xEO0FBRUEsTUFBSTtBQUNKLE1BQUk7QUFDRixhQUFTLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxRQUFRLEtBQUssWUFBWSxDQUFDO0FBQUEsRUFDaEUsU0FBUyxPQUFPO0FBQ2QsVUFBTSxJQUFJLE1BQU0sa0NBQWtDLEVBQUUsT0FBTyxNQUFNLENBQUM7QUFBQSxFQUNwRTtBQUVBLFFBQU0saUJBQWtCLFFBQW9EO0FBQzVFLE1BQUksT0FBTyxtQkFBbUIsWUFBWSxtQkFBbUIscUJBQU87QUFDbEUsVUFBTSxJQUFJLE1BQU0sZ0NBQWdDO0FBQUEsRUFDbEQ7QUFDQSxTQUFPO0FBQ1Q7QUFhQSxTQUFTLGtCQUFrQixLQUFVLGdCQUE4QjtBQUNqRSxRQUFNLGFBQWEsSUFBSSxRQUFRLFVBQVUsY0FBYyxHQUFHLFFBQVE7QUFDbEUsUUFBTSxXQUFXLDJCQUEyQixVQUFVO0FBQ3RELE1BQUksUUFBUSxNQUFNO0FBQ2xCLE1BQUksdUJBQU8sVUFBVSx1Q0FBdUM7QUFDOUQ7IiwibmFtZXMiOltdfQ==
@@ -14,6 +14,11 @@
14
14
  * The plugin the vault demonstrates is read from the helper's own `data.json`, written by the packaging
15
15
  * step ({@link DemoVaultHelperSettings}); a vault without that marker is refused as not a demo vault.
16
16
  *
17
+ * Settings is closed before any plugin is enabled. After the trust prompt Obsidian leaves Settings open as
18
+ * a popout window, and a reading view re-rendered while that popout is the active window queues its
19
+ * render on the popout's animation frame — which never fires once the popout closes, leaving the start
20
+ * note blank until its tab is reopened.
21
+ *
17
22
  * It writes `CodeScript Toolkit`'s settings BEFORE enabling it, so the plugin loads already configured —
18
23
  * no reload. `CodeScript Toolkit` then runs the vault's `startup.ts` (via its `startupScriptPath`
19
24
  * setting), which is where each vault opens its start note and does any plugin-specific setup.
@@ -43,7 +48,8 @@ export interface BootstrapDemoVaultParams {
43
48
  readonly app: App;
44
49
  }
45
50
  /**
46
- * Bootstraps a demo vault so its notes' `code-button`s work with no manual setup: installs CodeScript
51
+ * Bootstraps a demo vault so its notes' `code-button`s work with no manual setup. It first closes Settings,
52
+ * so no reading view queues a re-render on the settings popout's animation frame. It then installs CodeScript
47
53
  * Toolkit from the community store (if it is not already installed), writes its settings, then enables
48
54
  * it — writing the settings BEFORE enabling so a fresh enable loads it already configured, with no
49
55
  * reload. If `CodeScript Toolkit` is already enabled but the settings just changed, it is reloaded
@@ -51,7 +57,7 @@ export interface BootstrapDemoVaultParams {
51
57
  * reloaded (so a routine vault re-open does not re-run `CodeScript Toolkit`'s startup). `CodeScript Toolkit`
52
58
  * then runs the vault's `startup.ts`. `Folder Notes` is installed next, configured to treat `README.md` as
53
59
  * a folder's own note, so a vault whose notes are grouped into folders describes each group in the file
54
- * explorer. Finally it closes Settings (so the notice cannot be raised inside the settings popout) and
60
+ * explorer. Finally it closes Settings again (so the notice cannot be raised inside the settings popout) and
55
61
  * raises the sandbox notice describing the opened vault as a throwaway copy.
56
62
  *
57
63
  * @param params - The {@link BootstrapDemoVaultParams}.
@@ -91,7 +91,7 @@ __export(generated_during_build_exports, {
91
91
  LIBRARY_VERSION: () => LIBRARY_VERSION
92
92
  });
93
93
  module.exports = __toCommonJS(generated_during_build_exports);
94
- const LIBRARY_VERSION = "6.0.0";
94
+ const LIBRARY_VERSION = "6.0.1";
95
95
  const LIBRARY_STYLES = ".obsidian-lib.code-highlighter-component textarea, .obsidian-lib.code-highlighter-component pre, .obsidian-lib.code-highlighter-component code {\n font-family: var(--font-monospace);\n line-height: var(--line-height-normal);\n margin: 0;\n}\n.obsidian-lib.code-highlighter-component textarea, .obsidian-lib.code-highlighter-component code {\n font-size: var(--code-size);\n}\n.obsidian-lib.code-highlighter-component textarea {\n background: transparent;\n color: transparent;\n z-index: 2;\n width: 20em;\n height: 10em;\n}\n.obsidian-lib.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-lib.code-highlighter-component pre::after {\n content: \"\";\n display: block;\n height: var(--bottom-gap, 0);\n}\n.obsidian-lib.code-highlighter-component pre.is-placeholder {\n opacity: 0.6;\n}\n.obsidian-lib.code-highlighter-component code {\n display: block;\n padding: 0;\n}\n\n.obsidian-lib-lock-indicator {\n display: inline-flex;\n align-items: center;\n color: var(--text-muted);\n}\n.obsidian-lib-lock-indicator .svg-icon {\n width: var(--icon-s);\n height: var(--icon-s);\n}\n\n@keyframes obsidian-lib-lock-indicator-flash {\n 40% {\n color: var(--text-error);\n transform: scale(1.4);\n }\n}\n.obsidian-lib-lock-indicator-flash {\n animation: obsidian-lib-lock-indicator-flash 0.35s ease-in-out;\n}\n\n.obsidian-lib input[type=url] {\n height: var(--input-height);\n}\n.obsidian-lib input[type=month],\n.obsidian-lib input[type=tel],\n.obsidian-lib input[type=time],\n.obsidian-lib input[type=url],\n.obsidian-lib 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-lib input[type=month]:hover,\n .obsidian-lib input[type=tel]:hover,\n .obsidian-lib input[type=time]:hover,\n .obsidian-lib input[type=url]:hover,\n .obsidian-lib 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-lib input[type=month]:active, .obsidian-lib input[type=month]:focus,\n.obsidian-lib input[type=tel]:active,\n.obsidian-lib input[type=tel]:focus,\n.obsidian-lib input[type=time]:active,\n.obsidian-lib input[type=time]:focus,\n.obsidian-lib input[type=url]:active,\n.obsidian-lib input[type=url]:focus,\n.obsidian-lib input[type=week]:active,\n.obsidian-lib 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-lib input[type=month]:active, .obsidian-lib input[type=month]:focus, .obsidian-lib input[type=month]:focus-visible,\n.obsidian-lib input[type=tel]:active,\n.obsidian-lib input[type=tel]:focus,\n.obsidian-lib input[type=tel]:focus-visible,\n.obsidian-lib input[type=time]:active,\n.obsidian-lib input[type=time]:focus,\n.obsidian-lib input[type=time]:focus-visible,\n.obsidian-lib input[type=url]:active,\n.obsidian-lib input[type=url]:focus,\n.obsidian-lib input[type=url]:focus-visible,\n.obsidian-lib input[type=week]:active,\n.obsidian-lib input[type=week]:focus,\n.obsidian-lib input[type=week]:focus-visible {\n box-shadow: 0 0 0 2px var(--background-modifier-border-focus);\n}\n.obsidian-lib input[type=month]::placeholder,\n.obsidian-lib input[type=tel]::placeholder,\n.obsidian-lib input[type=time]::placeholder,\n.obsidian-lib input[type=url]::placeholder,\n.obsidian-lib 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-lib input[type=month],\n.obsidian-lib input[type=time],\n.obsidian-lib input[type=week] {\n font-variant-numeric: tabular-nums;\n position: relative;\n}\n.obsidian-lib input[type=month]::-webkit-datetime-edit-text,\n.obsidian-lib input[type=time]::-webkit-datetime-edit-text,\n.obsidian-lib input[type=week]::-webkit-datetime-edit-text {\n color: var(--text-faint);\n padding-inline-end: 0;\n}\n.obsidian-lib input[type=month]::-webkit-calendar-picker-indicator,\n.obsidian-lib input[type=time]::-webkit-calendar-picker-indicator,\n.obsidian-lib 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-lib input[type=month]::-webkit-datetime-edit-month-field:active, .obsidian-lib input[type=month]::-webkit-datetime-edit-month-field:focus, .obsidian-lib input[type=month]::-webkit-datetime-edit-day-field:active, .obsidian-lib input[type=month]::-webkit-datetime-edit-day-field:focus, .obsidian-lib input[type=month]::-webkit-datetime-edit-year-field:active, .obsidian-lib input[type=month]::-webkit-datetime-edit-year-field:focus,\n.obsidian-lib input[type=time]::-webkit-datetime-edit-month-field:active,\n.obsidian-lib input[type=time]::-webkit-datetime-edit-month-field:focus,\n.obsidian-lib input[type=time]::-webkit-datetime-edit-day-field:active,\n.obsidian-lib input[type=time]::-webkit-datetime-edit-day-field:focus,\n.obsidian-lib input[type=time]::-webkit-datetime-edit-year-field:active,\n.obsidian-lib input[type=time]::-webkit-datetime-edit-year-field:focus,\n.obsidian-lib input[type=week]::-webkit-datetime-edit-month-field:active,\n.obsidian-lib input[type=week]::-webkit-datetime-edit-month-field:focus,\n.obsidian-lib input[type=week]::-webkit-datetime-edit-day-field:active,\n.obsidian-lib input[type=week]::-webkit-datetime-edit-day-field:focus,\n.obsidian-lib input[type=week]::-webkit-datetime-edit-year-field:active,\n.obsidian-lib 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-lib input[type=month], .is-rtl .obsidian-lib input[type=month], .rtl .obsidian-lib input[type=month],\n.mod-rtl .obsidian-lib input[type=time],\n.is-rtl .obsidian-lib input[type=time],\n.rtl .obsidian-lib input[type=time],\n.mod-rtl .obsidian-lib input[type=week],\n.is-rtl .obsidian-lib input[type=week],\n.rtl .obsidian-lib input[type=week] {\n direction: rtl;\n}\n.mod-rtl .obsidian-lib input[type=month]::-webkit-calendar-picker-indicator, .is-rtl .obsidian-lib input[type=month]::-webkit-calendar-picker-indicator, .rtl .obsidian-lib input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-lib input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-lib input[type=time]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-lib input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-lib input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-lib input[type=week]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-lib 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-lib input[type=month],\nbody:not(.is-ios):not(.is-android) .obsidian-lib input[type=time],\nbody:not(.is-ios):not(.is-android) .obsidian-lib input[type=week] {\n padding-inline-start: var(--size-4-6);\n}\n\n.obsidian-lib input[type=time]::-webkit-calendar-picker-indicator {\n margin-inline-start: 0;\n}\n\nprogress.obsidian-lib.loop {\n min-width: 200px;\n}\n\n@keyframes obsidian-lib-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-lib-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-lib.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-lib.minimizable-modal .minimize-button:hover {\n background: var(--background-modifier-hover);\n color: var(--icon-color-hover);\n}\n.obsidian-lib.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-lib-minimized-modal-bar-pulse 2s ease-in-out infinite;\n}\n.obsidian-lib.minimized-modal-bar:hover {\n background-image: linear-gradient(var(--background-modifier-hover), var(--background-modifier-hover));\n}\n.obsidian-lib.minimized-modal-bar.minimized-modal-bar-attention {\n animation: obsidian-lib-minimized-modal-bar-attention 0.35s ease-out;\n}\n.obsidian-lib.minimized-modal-bar .minimized-modal-bar-title {\n font-weight: var(--font-medium);\n}\n.obsidian-lib.minimized-modal-bar .restore-button,\n.obsidian-lib.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-lib.minimized-modal-bar .restore-button:hover,\n.obsidian-lib.minimized-modal-bar .cancel-button:hover {\n background: var(--background-modifier-hover);\n color: var(--icon-color-hover);\n}\n\n.obsidian-lib.modal-commands {\n display: flex;\n flex-wrap: wrap;\n gap: var(--size-2-2);\n padding: var(--size-4-2) var(--size-4-3);\n border-top: 1px solid var(--background-modifier-border);\n}\n.obsidian-lib.modal-command-control {\n margin-inline-start: var(--size-2-2);\n vertical-align: middle;\n}\n.obsidian-lib.modal-command {\n display: inline-flex;\n align-items: baseline;\n gap: var(--size-2-2);\n min-height: var(--size-4-8);\n padding: var(--size-2-1) var(--size-4-2);\n border: 1px solid var(--background-modifier-border);\n border-radius: var(--radius-s);\n background-color: var(--background-secondary);\n color: var(--text-muted);\n font-size: var(--font-ui-smaller);\n white-space: nowrap;\n cursor: pointer;\n}\n.obsidian-lib.modal-command:hover:not(:disabled) {\n background-color: var(--background-modifier-hover);\n color: var(--text-normal);\n}\n.obsidian-lib.modal-command.is-active {\n border-color: var(--interactive-accent);\n background-color: var(--interactive-accent);\n color: var(--text-on-accent);\n}\n.obsidian-lib.modal-command:disabled {\n opacity: 0.5;\n cursor: default;\n}\n.obsidian-lib.modal-command-hotkey {\n color: var(--text-faint);\n font-size: var(--font-smallest);\n}\n.modal-command.is-active .obsidian-lib.modal-command-hotkey {\n opacity: 0.7;\n color: var(--text-on-accent);\n}\n\n.obsidian-lib.modal-container .ok-button {\n margin-right: 10px;\n margin-top: 20px;\n}\n\n.obsidian-lib.multiple-dropdown-component select,\n.obsidian-lib.multiple-dropdown-component select:focus,\n.obsidian-lib.multiple-dropdown-component .dropdown {\n height: auto;\n padding-top: 3px;\n}\n.obsidian-lib.multiple-dropdown-component select option:checked,\n.obsidian-lib.multiple-dropdown-component select:focus option:checked,\n.obsidian-lib.multiple-dropdown-component .dropdown option:checked {\n background-color: var(--interactive-accent);\n color: var(--text-on-accent);\n}\n\n.obsidian-lib.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-lib.plugin-notice-name code {\n color: inherit;\n}\n.obsidian-lib.plugin-notice-content {\n padding-right: var(--size-4-5);\n position: relative;\n}\n.obsidian-lib.plugin-notice-content .obsidian-lib.cancel-button {\n display: block;\n margin-top: var(--size-4-2);\n width: fit-content;\n}\n.obsidian-lib.plugin-notice-content .obsidian-lib.plugin-notice-close-button {\n position: absolute;\n right: var(--size-4-3);\n top: var(--size-4-3);\n}\n.obsidian-lib.plugin-notice-requires-explicit-close.notice {\n padding: 0;\n}\n.obsidian-lib.plugin-notice-requires-explicit-close.notice .obsidian-lib.plugin-notice-content {\n padding: var(--size-4-3) var(--size-4-4);\n}\n\n.obsidian-lib.plugin-settings-tab a:focus {\n outline: 2px solid var(--link-color);\n}\n\n.obsidian-lib.plugin-suggestion-banner {\n background-color: var(--background-secondary);\n border-left: var(--size-2-1) solid var(--text-accent);\n border-radius: var(--radius-s);\n display: flex;\n flex-direction: column;\n gap: var(--size-4-2);\n margin-bottom: var(--size-4-4);\n padding: var(--size-4-3) var(--size-4-4);\n}\n.obsidian-lib.plugin-suggestion-banner button {\n width: fit-content;\n}\n.obsidian-lib.plugin-suggestion-notice-buttons {\n display: flex;\n flex-wrap: wrap;\n gap: var(--size-4-2);\n margin-top: var(--size-4-2);\n}\n\n.obsidian-lib.popover {\n max-width: min(420px, 90vw);\n min-width: 320px;\n padding: var(--size-4-2) var(--size-4-3);\n position: absolute;\n z-index: var(--layer-menu);\n}\n.obsidian-lib.popover .setting-item {\n align-items: center;\n border-top: none;\n gap: var(--size-4-2);\n padding: var(--size-2-1) 0;\n}\n.obsidian-lib.popover .setting-item-info {\n margin-right: 0;\n}\n.obsidian-lib.popover .setting-item-control {\n flex-grow: 1;\n justify-content: flex-end;\n}\n.obsidian-lib.popover input[type=text] {\n width: 100%;\n}\n\n.obsidian-lib.prompt-modal .text-box {\n width: 100%;\n}\n\n.obsidian-lib button:not(.clickable-icon) {\n color: var(--text-color);\n}\n\n.obsidian-lib.tri-state-checkbox-component input[type=checkbox]:indeterminate {\n appearance: checkbox;\n}\n\n.obsidian-lib :invalid:not(.untouched) {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-lib input.metadata-input-text:active:invalid:not(.untouched), .obsidian-lib input.metadata-input-text:focus-visible:invalid:not(.untouched), .obsidian-lib input.metadata-input-text:focus:invalid:not(.untouched),\n.obsidian-lib input[type=date]:active:invalid:not(.untouched),\n.obsidian-lib input[type=date]:focus-visible:invalid:not(.untouched),\n.obsidian-lib input[type=date]:focus:invalid:not(.untouched),\n.obsidian-lib input[type=datetime-local]:active:invalid:not(.untouched),\n.obsidian-lib input[type=datetime-local]:focus-visible:invalid:not(.untouched),\n.obsidian-lib input[type=datetime-local]:focus:invalid:not(.untouched),\n.obsidian-lib input[type=email]:active:invalid:not(.untouched),\n.obsidian-lib input[type=email]:focus-visible:invalid:not(.untouched),\n.obsidian-lib input[type=email]:focus:invalid:not(.untouched),\n.obsidian-lib input[type=number]:active:invalid:not(.untouched),\n.obsidian-lib input[type=number]:focus-visible:invalid:not(.untouched),\n.obsidian-lib input[type=number]:focus:invalid:not(.untouched),\n.obsidian-lib input[type=password]:active:invalid:not(.untouched),\n.obsidian-lib input[type=password]:focus-visible:invalid:not(.untouched),\n.obsidian-lib input[type=password]:focus:invalid:not(.untouched),\n.obsidian-lib input[type=search]:active:invalid:not(.untouched),\n.obsidian-lib input[type=search]:focus-visible:invalid:not(.untouched),\n.obsidian-lib input[type=search]:focus:invalid:not(.untouched),\n.obsidian-lib input[type=text]:active:invalid:not(.untouched),\n.obsidian-lib input[type=text]:focus-visible:invalid:not(.untouched),\n.obsidian-lib input[type=text]:focus:invalid:not(.untouched),\n.obsidian-lib textarea:active:invalid:not(.untouched),\n.obsidian-lib textarea:focus-visible:invalid:not(.untouched),\n.obsidian-lib textarea:focus:invalid:not(.untouched) {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-lib.setting-component-wrapper {\n position: relative;\n display: inline-flex;\n}\n.obsidian-lib.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-lib.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-commands.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/plugin-suggestion.scss%22,%22../src/styles/popover.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;;;AC/CK;EACP;;;ACJJ;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;;;ACpGN;EACE;EACA;EACA;EACA;EACA;;AAOF;EACE;EACA;;AAMF;EACE;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAKF;EACE;EACA;;AAIJ;EACE;EACA;;AAGA;EACE;EACA;;;ACpEF;EACE;EACA;;;ACCF;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;;ACZN;EACE;EACA;EACA;EACA;;AAGA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAKF;EACE;EACA;EACA;;AAOJ;EACE;;AAEA;EACE;;;ACrCF;EACE;;;ACFJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKJ;EACE;EACA;EACA;EACA;;;ACjBF;EAIE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AC9BF;EACE;;;ACUN;EACE;;;ACZE;EACE;;;ACKJ;EAPA;;AAuBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAvBJ;;AA6BA;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-lib%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-lib%60.%5Cn.obsidian-lib-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-lib-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-lib-lock-indicator-flash%20%7B%5Cn%20%20animation:%20obsidian-lib-lock-indicator-flash%200.35s%20ease-in-out;%5Cn%7D%5Cn%22,%22.obsidian-lib%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-lib%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-lib%20%7B%5Cn%20%20//%20Not%20%60&progress%60:%20that%20APPENDS%20the%20element%20name%20to%20the%20parent%20class,%20producing%20one%20long%20class%20that%20matches%5Cn%20%20//%20nothing.%20The%20element%20type%20has%20to%20lead%20the%20compound%20selector%20instead.%5Cn%20%20@at-root%20progress%23%7B&%7D.loop%20%7B%5Cn%20%20%20%20min-width:%20200px;%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22@keyframes%20obsidian-lib-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-lib-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-lib%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-lib-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-lib-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-lib%20%7B%5Cn%20%20//%20The%20strip%20of%20commands%20along%20the%20bottom%20of%20a%20modal.%5Cn%20%20//%5Cn%20%20//%20In%20%60Instructions%60%20render%20mode%20it%20also%20carries%20Obsidian's%20own%20%60.prompt-instructions%60%20%E2%80%94%20whose%20rule%20is%5Cn%20%20//%20unscoped,%20so%20it%20applies%20to%20a%20plain%20%60Modal%60%20too%20%E2%80%94%20and%20this%20one%20only%20re-tunes%20that%20rule's%20%60gap%60%20and%5Cn%20%20//%20%60padding%60%20and%20adds%20the%20separator;%20in%20%60Buttons%60%20mode%20it%20is%20the%20whole%20strip.%5Cn%20%20&.modal-commands%20%7B%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20flex-wrap:%20wrap;%5Cn%20%20%20%20gap:%20var(--size-2-2);%5Cn%20%20%20%20padding:%20var(--size-4-2)%20var(--size-4-3);%5Cn%20%20%20%20border-top:%201px%20solid%20var(--background-modifier-border);%5Cn%20%20%7D%5Cn%5Cn%20%20//%20A%20control%20the%20%60Instructions%60%20renderer%20injects%20into%20an%20instruction's%20purpose%20text%20%E2%80%94%20a%20checkbox,%20a%5Cn%20%20//%20dropdown.%20Obsidian%20styles%20the%20instruction%20bar%20itself,%20but%20its%20own%20bar%20never%20contains%20a%20control,%20so%5Cn%20%20//%20nothing%20upstream%20separates%20one%20from%20the%20label%20it%20belongs%20to.%20Sits%20on%20the%20control%20rather%20than%20on%20the%5Cn%20%20//%20strip,%20so%20it%20reaches%20a%20%60SuggestModal%60's%20native%20bar%20as%20well%20as%20a%20self-created%20one.%5Cn%20%20&.modal-command-control%20%7B%5Cn%20%20%20%20margin-inline-start:%20var(--size-2-2);%5Cn%20%20%20%20vertical-align:%20middle;%5Cn%20%20%7D%5Cn%5Cn%20%20//%20One%20command%20button.%20Replaces%20the%20instruction%20bar%20rather%20than%20supplementing%20it:%20the%20bar%20can%20only%20ever%5Cn%20%20//%20say%20which%20key%20to%20press,%20and%20on%20a%20phone%20there%20is%20no%20modifier%20key%20to%20press,%20so%20every%20control%20it%20names%5Cn%20%20//%20is%20unreachable%20there.%5Cn%20%20&.modal-command%20%7B%5Cn%20%20%20%20display:%20inline-flex;%5Cn%20%20%20%20align-items:%20baseline;%5Cn%20%20%20%20gap:%20var(--size-2-2);%5Cn%5Cn%20%20%20%20//%20Comfortably%20tappable%20on%20a%20phone,%20where%20this%20strip%20is%20the%20only%20way%20in.%5Cn%20%20%20%20min-height:%20var(--size-4-8);%5Cn%20%20%20%20padding:%20var(--size-2-1)%20var(--size-4-2);%5Cn%20%20%20%20border:%201px%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20border-radius:%20var(--radius-s);%5Cn%20%20%20%20background-color:%20var(--background-secondary);%5Cn%20%20%20%20color:%20var(--text-muted);%5Cn%20%20%20%20font-size:%20var(--font-ui-smaller);%5Cn%20%20%20%20white-space:%20nowrap;%5Cn%20%20%20%20cursor:%20pointer;%5Cn%5Cn%20%20%20%20&:hover:not(:disabled)%20%7B%5Cn%20%20%20%20%20%20background-color:%20var(--background-modifier-hover);%5Cn%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20//%20A%20toggle%20that%20is%20ON.%20An%20action%20never%20carries%20it%20%E2%80%94%20it%20does%20something%20and%20is%20done,%20so%20there%20is%20no%5Cn%20%20%20%20//%20state%20for%20it%20to%20show.%5Cn%20%20%20%20&.is-active%20%7B%5Cn%20%20%20%20%20%20border-color:%20var(--interactive-accent);%5Cn%20%20%20%20%20%20background-color:%20var(--interactive-accent);%5Cn%20%20%20%20%20%20color:%20var(--text-on-accent);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20//%20Disabled%20rather%20than%20removed:%20a%20strip%20that%20lost%20buttons%20as%20modes%20change%20would%20reflow%20under%20the%5Cn%20%20%20%20//%20pointer,%20which%20on%20a%20phone%20means%20a%20mis-tap.%5Cn%20%20%20%20&:disabled%20%7B%5Cn%20%20%20%20%20%20opacity:%200.5;%5Cn%20%20%20%20%20%20cursor:%20default;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.modal-command-hotkey%20%7B%5Cn%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20font-size:%20var(--font-smallest);%5Cn%5Cn%20%20%20%20//%20Faint%20against%20the%20surface%20is%20right;%20faint%20against%20the%20accent%20fill%20is%20invisible.%5Cn%20%20%20%20.modal-command.is-active%20&%20%7B%5Cn%20%20%20%20%20%20opacity:%200.7;%5Cn%20%20%20%20%20%20color:%20var(--text-on-accent);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-lib%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-lib%20%7B%5Cn%20%20//%20Compound,%20not%20nested:%20%60addPluginCssClasses%60%20puts%20%60obsidian-lib%60%20and%20%60multiple-dropdown-component%60%20on%20the%5Cn%20%20//%20SAME%20element%20(the%20setting's%20control%20container),%20so%20a%20descendant%20selector%20matched%20nothing%20and%20every%20multiple%5Cn%20%20//%20dropdown%20rendered%20one%20row%20tall%20%E2%80%94%20Obsidian's%20%60.dropdown%60%20height,%20with%20no%20popup%20behind%20it%20to%20pick%20from.%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:%20var(--interactive-accent);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-on-accent);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-lib%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%5Cn%20%20%20%20//%20The%20name%20is%20inline%20code;%20it%20keeps%20the%20code%20background%20and%20font%20but%20takes%20the%20prefix's%20accent%20color.%5Cn%20%20%20%20code%20%7B%5Cn%20%20%20%20%20%20color:%20inherit;%5Cn%20%20%20%20%7D%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-lib.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-lib.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-lib.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-lib%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-lib%20%7B%5Cn%20%20&.plugin-suggestion-banner%20%7B%5Cn%20%20%20%20background-color:%20var(--background-secondary);%5Cn%20%20%20%20border-left:%20var(--size-2-1)%20solid%20var(--text-accent);%5Cn%20%20%20%20border-radius:%20var(--radius-s);%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20flex-direction:%20column;%5Cn%20%20%20%20gap:%20var(--size-4-2);%5Cn%20%20%20%20margin-bottom:%20var(--size-4-4);%5Cn%20%20%20%20padding:%20var(--size-4-3)%20var(--size-4-4);%5Cn%5Cn%20%20%20%20button%20%7B%5Cn%20%20%20%20%20%20width:%20fit-content;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20//%20A%20notice%20lays%20its%20buttons%20out%20inline%20with%20no%20spacing,%20so%20the%20action%20button%20would%20touch%20the%20decline%20button.%5Cn%20%20&.plugin-suggestion-notice-buttons%20%7B%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20flex-wrap:%20wrap;%5Cn%20%20%20%20gap:%20var(--size-4-2);%5Cn%20%20%20%20margin-top:%20var(--size-4-2);%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22//%20A%20popover%20is%20anchored%20at%20a%20point%20and%20appended%20to%20the%20document%20body,%20outside%20any%20plugin-scoped%5Cn//%20container,%20so%20it%20is%20positioned%20absolutely%20at%20the%20top%20level.%20It%20borrows%20Obsidian's%20%60.menu%60%20look,%5Cn//%20which%20already%20carries%20the%20popup%20background,%20border%20and%20shadow%20%E2%80%94%20only%20layout%20is%20set%20here.%5Cn.obsidian-lib%20%7B%5Cn%20%20&.popover%20%7B%5Cn%20%20%20%20//%20Deliberately%20not%20%60calc(100vw%20-%2016px)%60:%20the%20SCSS%20compiler%20strips%20the%20%60calc(%60%20wrapper%20inside%5Cn%20%20%20%20//%20%60min()%60,%20which%20yields%20invalid%20CSS.%20A%20viewport%20percentage%20keeps%20a%20narrow%20window's%20popover%20on%5Cn%20%20%20%20//%20screen.%5Cn%20%20%20%20max-width:%20min(420px,%2090vw);%5Cn%20%20%20%20min-width:%20320px;%5Cn%20%20%20%20padding:%20var(--size-4-2)%20var(--size-4-3);%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20z-index:%20var(--layer-menu);%5Cn%5Cn%20%20%20%20//%20Setting%20rows%20are%20built%20for%20a%20full-width%20settings%20tab;%20compact%20them%20for%20a%20popover.%5Cn%20%20%20%20.setting-item%20%7B%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20border-top:%20none;%5Cn%20%20%20%20%20%20gap:%20var(--size-4-2);%5Cn%20%20%20%20%20%20padding:%20var(--size-2-1)%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.setting-item-info%20%7B%5Cn%20%20%20%20%20%20margin-right:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.setting-item-control%20%7B%5Cn%20%20%20%20%20%20flex-grow:%201;%5Cn%20%20%20%20%20%20justify-content:%20flex-end;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20input%5Btype='text'%5D%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.obsidian-lib%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%20inside%20the%5Cn//%20Library's%20own%20UI%20(specificity%200,2,1),%20which%20wins%20over%20tldraw's%20(0,1,1)%20while%20staying%20correct%5Cn//%20For%20every%20button%20variant%20(it%20reuses%20the%20same%20contextual%20%60--text-color%60).%5Cn//%20It%20MUST%20stay%20scoped%20to%20%60.obsidian-lib%60:%20an%20unscoped%20re-assert%20(it%20was%20%60body%20button%E2%80%A6%60,%5Cn//%200,1,2)%20lands%20on%20every%20button%20in%20the%20app%20and%20beats%20any%20other%20plugin's%20own%20button%20color%5Cn//%20Written%20at%200,1,1,%20which%20Obsidian's%20own%20rule%20used%20to%20lose%20to%20(obsidian-custom-attachment-location%2395).%5Cn//%20Defensive%20workaround%20%E2%80%94%20remove%20once%20the%20upstream%20fix%20ships%20(tldraw/obsidian-plugin%23210).%5Cn.obsidian-lib%20button:not(.clickable-icon)%20%7B%5Cn%20%20color:%20var(--text-color);%5Cn%7D%5Cn%22,%22.obsidian-lib%20%7B%5Cn%20%20&.tri-state-checkbox-component%20%7B%5Cn%20%20%20%20input%5Btype='checkbox'%5D:indeterminate%20%7B%5Cn%20%20%20%20%20%20appearance:%20checkbox;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22@mixin%20invalid%20%7B%5Cn%20%20box-shadow:%200%200%200%202px%20var(--text-error);%5Cn%7D%5Cn%5Cn//%20An%20input%20the%20user%20has%20not%20interacted%20with%20yet%20carries%20%60.untouched%60%20(set%20by%20%60PromptModal%60),%20so%20a%20modal%20that%5Cn//%20opens%20invalid%20by%20design%20does%20not%20greet%20the%20user%20in%20red.%20Both%20blocks%20below%20must%20be%20gated:%20the%20input%20is%5Cn//%20focused%20on%20open,%20so%20the%20focus%20block%20alone%20would%20keep%20painting%20it.%5Cn.obsidian-lib%20%7B%5Cn%20%20:invalid:not(.untouched)%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:not(.untouched)%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";
96
96
  // Annotate the CommonJS export names for ESM import in node:
97
97
  0 && (module.exports = {