@mnaoumov/obsidian-lib 10.10.0 → 10.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +26 -0
  2. package/components/all-windows-status-bar-item-component/package.json +6 -0
  3. package/components/shared-component-pool-component/package.json +6 -0
  4. package/components/workspace-layout-state-component/package.json +6 -0
  5. package/dist/lib/cjs/__merged.cjs +90 -1
  6. package/dist/lib/cjs/__merged.d.cts +13 -4
  7. package/dist/lib/cjs/bug-report-diagnostics.cjs +222 -0
  8. package/dist/lib/cjs/bug-report-diagnostics.d.cts +186 -0
  9. package/dist/lib/cjs/bug-report.cjs +36 -10
  10. package/dist/lib/cjs/bug-report.d.cts +65 -0
  11. package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.cjs +93 -2
  12. package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.d.cts +34 -2
  13. package/dist/lib/cjs/components/all-windows-status-bar-item-component.cjs +245 -0
  14. package/dist/lib/cjs/components/all-windows-status-bar-item-component.d.cts +146 -0
  15. package/dist/lib/cjs/components/embed-extensions-component.cjs +20 -3
  16. package/dist/lib/cjs/components/embed-extensions-component.d.cts +8 -0
  17. package/dist/lib/cjs/components/embeddable-markdown-editor-component.cjs +16 -2
  18. package/dist/lib/cjs/components/embeddable-markdown-editor-component.d.cts +9 -0
  19. package/dist/lib/cjs/components/index.cjs +12 -3
  20. package/dist/lib/cjs/components/index.d.cts +3 -0
  21. package/dist/lib/cjs/components/plugin-gate-component.cjs +2 -9
  22. package/dist/lib/cjs/components/plugin-settings-component.cjs +7 -2
  23. package/dist/lib/cjs/components/shared-component-pool-component.cjs +368 -0
  24. package/dist/lib/cjs/components/shared-component-pool-component.d.cts +129 -0
  25. package/dist/lib/cjs/components/workspace-layout-state-component.cjs +495 -0
  26. package/dist/lib/cjs/components/workspace-layout-state-component.d.cts +239 -0
  27. package/dist/lib/cjs/css-class.cjs +5 -1
  28. package/dist/lib/cjs/css-class.d.cts +16 -0
  29. package/dist/lib/cjs/data-handler.cjs +156 -5
  30. package/dist/lib/cjs/data-handler.d.cts +128 -2
  31. package/dist/lib/cjs/desktop-git-runner.cjs +4 -14
  32. package/dist/lib/cjs/desktop-git-runner.d.cts +8 -2
  33. package/dist/lib/cjs/generated-during-build.cjs +2 -2
  34. package/dist/lib/cjs/git-rename-history.cjs +1 -1
  35. package/dist/lib/cjs/git-rename-history.d.cts +2 -2
  36. package/dist/lib/cjs/i18n/locales/en.cjs +29 -1
  37. package/dist/lib/cjs/i18n/locales/en.d.cts +28 -0
  38. package/dist/lib/cjs/i18n/locales/translations-map.d.cts +28 -0
  39. package/dist/lib/cjs/index.cjs +10 -1
  40. package/dist/lib/cjs/index.d.cts +3 -0
  41. package/dist/lib/cjs/link.cjs +40 -1
  42. package/dist/lib/cjs/link.d.cts +37 -1
  43. package/dist/lib/cjs/markdown-view.cjs +191 -3
  44. package/dist/lib/cjs/markdown-view.d.cts +48 -1
  45. package/dist/lib/cjs/modals/copy-text-manually.cjs +181 -0
  46. package/dist/lib/cjs/modals/copy-text-manually.d.cts +38 -0
  47. package/dist/lib/cjs/modals/index.cjs +7 -1
  48. package/dist/lib/cjs/modals/index.d.cts +2 -0
  49. package/dist/lib/cjs/modals/review-bug-report-diagnostics.cjs +202 -0
  50. package/dist/lib/cjs/modals/review-bug-report-diagnostics.d.cts +30 -0
  51. package/dist/lib/cjs/plugin/index.cjs +4 -1
  52. package/dist/lib/cjs/plugin/index.d.cts +1 -0
  53. package/dist/lib/cjs/plugin/plugin-api.cjs +13 -4
  54. package/dist/lib/cjs/plugin/plugin-api.d.cts +5 -1
  55. package/dist/lib/cjs/plugin/plugin-install-state.cjs +46 -1
  56. package/dist/lib/cjs/plugin/plugin-install-state.d.cts +30 -0
  57. package/dist/lib/cjs/plugin/plugin-instance.cjs +448 -0
  58. package/dist/lib/cjs/plugin/plugin-instance.d.cts +251 -0
  59. package/dist/lib/cjs/plugin/plugin.cjs +16 -1
  60. package/dist/lib/cjs/plugin/plugin.d.cts +7 -0
  61. package/dist/lib/cjs/reference-definition.cjs +234 -0
  62. package/dist/lib/cjs/reference-definition.d.cts +47 -0
  63. package/dist/lib/cjs/release-asset.cjs +279 -0
  64. package/dist/lib/cjs/release-asset.d.cts +190 -0
  65. package/dist/lib/cjs/workspace.cjs +3 -2
  66. package/dist/lib/cjs/workspace.d.cts +6 -0
  67. package/dist/lib/esm/__merged.d.mts +13 -4
  68. package/dist/lib/esm/__merged.mjs +97 -3
  69. package/dist/lib/esm/bug-report-diagnostics.d.mts +186 -0
  70. package/dist/lib/esm/bug-report-diagnostics.mjs +127 -0
  71. package/dist/lib/esm/bug-report.d.mts +65 -0
  72. package/dist/lib/esm/bug-report.mjs +33 -10
  73. package/dist/lib/esm/command-handlers/open-bug-report-command-handler.d.mts +34 -2
  74. package/dist/lib/esm/command-handlers/open-bug-report-command-handler.mjs +99 -3
  75. package/dist/lib/esm/components/all-windows-status-bar-item-component.d.mts +146 -0
  76. package/dist/lib/esm/components/all-windows-status-bar-item-component.mjs +154 -0
  77. package/dist/lib/esm/components/embed-extensions-component.d.mts +8 -0
  78. package/dist/lib/esm/components/embed-extensions-component.mjs +20 -3
  79. package/dist/lib/esm/components/embeddable-markdown-editor-component.d.mts +9 -0
  80. package/dist/lib/esm/components/embeddable-markdown-editor-component.mjs +16 -2
  81. package/dist/lib/esm/components/index.d.mts +3 -0
  82. package/dist/lib/esm/components/index.mjs +8 -2
  83. package/dist/lib/esm/components/plugin-gate-component.mjs +5 -13
  84. package/dist/lib/esm/components/plugin-settings-component.mjs +7 -2
  85. package/dist/lib/esm/components/shared-component-pool-component.d.mts +129 -0
  86. package/dist/lib/esm/components/shared-component-pool-component.mjs +280 -0
  87. package/dist/lib/esm/components/workspace-layout-state-component.d.mts +239 -0
  88. package/dist/lib/esm/components/workspace-layout-state-component.mjs +404 -0
  89. package/dist/lib/esm/css-class.d.mts +16 -0
  90. package/dist/lib/esm/css-class.mjs +5 -1
  91. package/dist/lib/esm/data-handler.d.mts +128 -2
  92. package/dist/lib/esm/data-handler.mjs +152 -4
  93. package/dist/lib/esm/desktop-git-runner.d.mts +8 -2
  94. package/dist/lib/esm/desktop-git-runner.mjs +3 -3
  95. package/dist/lib/esm/generated-during-build.mjs +2 -2
  96. package/dist/lib/esm/git-rename-history.d.mts +2 -2
  97. package/dist/lib/esm/git-rename-history.mjs +1 -1
  98. package/dist/lib/esm/i18n/locales/en.d.mts +28 -0
  99. package/dist/lib/esm/i18n/locales/en.mjs +29 -1
  100. package/dist/lib/esm/i18n/locales/translations-map.d.mts +28 -0
  101. package/dist/lib/esm/index.d.mts +3 -0
  102. package/dist/lib/esm/index.mjs +7 -1
  103. package/dist/lib/esm/link.d.mts +37 -1
  104. package/dist/lib/esm/link.mjs +40 -1
  105. package/dist/lib/esm/markdown-view.d.mts +48 -1
  106. package/dist/lib/esm/markdown-view.mjs +192 -2
  107. package/dist/lib/esm/modals/copy-text-manually.d.mts +38 -0
  108. package/dist/lib/esm/modals/copy-text-manually.mjs +99 -0
  109. package/dist/lib/esm/modals/index.d.mts +2 -0
  110. package/dist/lib/esm/modals/index.mjs +5 -1
  111. package/dist/lib/esm/modals/review-bug-report-diagnostics.d.mts +30 -0
  112. package/dist/lib/esm/modals/review-bug-report-diagnostics.mjs +120 -0
  113. package/dist/lib/esm/plugin/index.d.mts +1 -0
  114. package/dist/lib/esm/plugin/index.mjs +3 -1
  115. package/dist/lib/esm/plugin/plugin-api.d.mts +5 -1
  116. package/dist/lib/esm/plugin/plugin-api.mjs +13 -4
  117. package/dist/lib/esm/plugin/plugin-install-state.d.mts +30 -0
  118. package/dist/lib/esm/plugin/plugin-install-state.mjs +44 -1
  119. package/dist/lib/esm/plugin/plugin-instance.d.mts +251 -0
  120. package/dist/lib/esm/plugin/plugin-instance.mjs +366 -0
  121. package/dist/lib/esm/plugin/plugin.d.mts +7 -0
  122. package/dist/lib/esm/plugin/plugin.mjs +16 -1
  123. package/dist/lib/esm/reference-definition.d.mts +47 -0
  124. package/dist/lib/esm/reference-definition.mjs +146 -0
  125. package/dist/lib/esm/release-asset.d.mts +190 -0
  126. package/dist/lib/esm/release-asset.mjs +187 -0
  127. package/dist/lib/esm/workspace.d.mts +6 -0
  128. package/dist/lib/esm/workspace.mjs +3 -2
  129. package/dist/styles.css +16 -1
  130. package/modals/copy-text-manually/package.json +6 -0
  131. package/modals/review-bug-report-diagnostics/package.json +6 -0
  132. package/package.json +2 -1
  133. package/plugin/plugin-instance/package.json +6 -0
@@ -3,8 +3,8 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- const LIBRARY_VERSION = "10.10.0";
7
- const LIBRARY_STYLES = ".obsidian-lib.code-block-builder-modal .code-block-builder-group {\n margin-bottom: var(--size-4-3);\n border-radius: var(--radius-m);\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-group:not(.is-collapsed) {\n background-color: var(--background-modifier-hover);\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-group.is-collapsed .code-block-builder-group-body {\n display: none;\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-group .code-block-builder-group-body .setting-item {\n padding-inline: var(--size-4-3);\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-preview {\n display: flex;\n justify-content: center;\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-output {\n flex-direction: column;\n align-items: stretch;\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-output .setting-item-control {\n width: 100%;\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-output textarea {\n flex-grow: 1;\n font-family: var(--font-monospace);\n resize: vertical;\n}\n\n.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.foldable-markdown .collapse-indicator {\n cursor: var(--cursor);\n display: inline-flex;\n position: absolute;\n user-select: none;\n}\n.obsidian-lib.foldable-markdown .collapse-indicator .svg-icon {\n vertical-align: middle;\n}\n.obsidian-lib.foldable-markdown .heading-collapse-indicator {\n margin-inline-start: -22px;\n padding: 0 6px;\n}\n.obsidian-lib.foldable-markdown .list-collapse-indicator {\n margin-inline-start: -2.65em;\n padding-inline-end: 2em;\n}\n.obsidian-lib.foldable-markdown li.is-collapsed > ul,\n.obsidian-lib.foldable-markdown li.is-collapsed > ol {\n display: none;\n}\n\n.obsidian-lib.hotkey-component button.is-placeholder {\n color: var(--text-faint);\n}\n.obsidian-lib.hotkey-component button.is-active {\n color: var(--text-accent);\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\n.obsidian-lib.list-component {\n display: flex;\n flex-direction: column;\n gap: var(--size-4-1);\n min-width: 12em;\n}\n.obsidian-lib.list-component .list-component-items {\n display: flex;\n flex-direction: column;\n gap: var(--size-2-1);\n}\n.obsidian-lib.list-component .list-component-item,\n.obsidian-lib.list-component .list-component-new-item {\n align-items: center;\n display: flex;\n gap: var(--size-2-1);\n}\n.obsidian-lib.list-component .list-component-item-text {\n flex-grow: 1;\n overflow-wrap: anywhere;\n}\n.obsidian-lib.list-component .list-component-new-item input {\n flex-grow: 1;\n}\n.obsidian-lib.list-component .list-component-empty {\n color: var(--text-faint);\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):not(.is-active) {\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.settings-tabs .settings-tabs-bar {\n border-bottom: var(--border-width) solid var(--background-modifier-border);\n display: flex;\n flex-wrap: wrap;\n gap: var(--size-2-1);\n margin-bottom: var(--size-4-3);\n}\n.obsidian-lib.settings-tabs .settings-tabs-button {\n align-items: center;\n background: none;\n border-bottom: 2px solid transparent;\n border-radius: 0;\n box-shadow: none;\n color: var(--text-muted);\n display: flex;\n gap: var(--size-2-2);\n}\n.obsidian-lib.settings-tabs .settings-tabs-button.is-active {\n border-bottom-color: var(--interactive-accent);\n color: var(--text-normal);\n}\n.obsidian-lib.settings-tabs .settings-tabs-icon {\n display: flex;\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-block-builder-modal.scss%22,%22../src/styles/code-highlighter-component.scss%22,%22../src/styles/editor-lock.scss%22,%22../src/styles/foldable-markdown.scss%22,%22../src/styles/hotkey-component.scss%22,%22../src/styles/input.scss%22,%22../src/styles/input-time.scss%22,%22../src/styles/list-component.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/settings-tabs.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;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;ACjCJ;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;;;AClBE;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;;AC3BF;EACE;;AAGF;EACE;;;ACNJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;AAAA;AAAA;AAAA;AAAA;IACE;IACA,YACE;;;AAMR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA,YACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AC7DV;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGP;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AAKF;AAAA;AAAA;EACE;;;AAMJ;EACE;;;ACjDJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;;AC3BK;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;;AAGA;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAKF;EACE;EACA;;AAIJ;EACE;EACA;;AAGA;EACE;EACA;;;ACrEF;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;;;ACDF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;;ACdN;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-block-builder-modal%20%7B%5Cn%20%20%20%20.code-block-builder-group%20%7B%5Cn%20%20%20%20%20%20margin-bottom:%20var(--size-4-3);%5Cn%20%20%20%20%20%20border-radius:%20var(--radius-m);%5Cn%5Cn%20%20%20%20%20%20&:not(.is-collapsed)%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20var(--background-modifier-hover);%5Cn%20%20%20%20%20%20%7D%5Cn%5Cn%20%20%20%20%20%20&.is-collapsed%20.code-block-builder-group-body%20%7B%5Cn%20%20%20%20%20%20%20%20display:%20none;%5Cn%20%20%20%20%20%20%7D%5Cn%5Cn%20%20%20%20%20%20.code-block-builder-group-body%20.setting-item%20%7B%5Cn%20%20%20%20%20%20%20%20padding-inline:%20var(--size-4-3);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.code-block-builder-preview%20%7B%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20justify-content:%20center;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.code-block-builder-output%20%7B%5Cn%20%20%20%20%20%20flex-direction:%20column;%5Cn%20%20%20%20%20%20align-items:%20stretch;%5Cn%5Cn%20%20%20%20%20%20.setting-item-control%20%7B%5Cn%20%20%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%20%20%7D%5Cn%5Cn%20%20%20%20%20%20textarea%20%7B%5Cn%20%20%20%20%20%20%20%20flex-grow:%201;%5Cn%20%20%20%20%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20%20%20%20%20resize:%20vertical;%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&.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//%20Obsidian%20lays%20its%20collapse%20indicators%20out%20only%20inside%20%60.markdown-preview-view%60%20(and%20the%20list%20one%20inside%5Cn//%20%60.markdown-rendered%60),%20so%20markdown%20rendered%20anywhere%20else%20and%20made%20foldable%20by%20%60registerFoldHandlers%60%5Cn//%20would%20get%20them%20inline,%20pushing%20the%20text%20aside.%20These%20are%20the%20Reading%20view's%20own%20rules,%20read%20from%5Cn//%20Obsidian%201.15.0.%20The%20opacity%20and%20hover%20rules%20are%20global%20in%20Obsidian%20and%20need%20no%20copy.%5Cn.obsidian-lib%20%7B%5Cn%20%20&.foldable-markdown%20%7B%5Cn%20%20%20%20.collapse-indicator%20%7B%5Cn%20%20%20%20%20%20cursor:%20var(--cursor);%5Cn%20%20%20%20%20%20display:%20inline-flex;%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20user-select:%20none;%5Cn%5Cn%20%20%20%20%20%20.svg-icon%20%7B%5Cn%20%20%20%20%20%20%20%20vertical-align:%20middle;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.heading-collapse-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%20-22px;%5Cn%20%20%20%20%20%20padding:%200%206px;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-collapse-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%20-2.65em;%5Cn%20%20%20%20%20%20padding-inline-end:%202em;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20li.is-collapsed%20%3E%20ul,%5Cn%20%20%20%20li.is-collapsed%20%3E%20ol%20%7B%5Cn%20%20%20%20%20%20display:%20none;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-lib%20%7B%5Cn%20%20&.hotkey-component%20%7B%5Cn%20%20%20%20button.is-placeholder%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20button.is-active%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-accent);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%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&.list-component%20%7B%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20flex-direction:%20column;%5Cn%20%20%20%20gap:%20var(--size-4-1);%5Cn%20%20%20%20min-width:%2012em;%5Cn%5Cn%20%20%20%20.list-component-items%20%7B%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20flex-direction:%20column;%5Cn%20%20%20%20%20%20gap:%20var(--size-2-1);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-component-item,%5Cn%20%20%20%20.list-component-new-item%20%7B%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20gap:%20var(--size-2-1);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-component-item-text%20%7B%5Cn%20%20%20%20%20%20flex-grow:%201;%5Cn%20%20%20%20%20%20overflow-wrap:%20anywhere;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-component-new-item%20input%20%7B%5Cn%20%20%20%20%20%20flex-grow:%201;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-component-empty%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%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//%20Touch%20can%20leave%20:hover%20latched%20until%20the%20next%20tap.%20Keep%20the%20ON%20fill%20in%20that%20state%20too.%5Cn%20%20%20%20&:hover:not(:disabled):not(.is-active)%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.obsidian-lib%20%7B%5Cn%20%20&.settings-tabs%20%7B%5Cn%20%20%20%20.settings-tabs-bar%20%7B%5Cn%20%20%20%20%20%20border-bottom:%20var(--border-width)%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20flex-wrap:%20wrap;%5Cn%20%20%20%20%20%20gap:%20var(--size-2-1);%5Cn%20%20%20%20%20%20margin-bottom:%20var(--size-4-3);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.settings-tabs-button%20%7B%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20background:%20none;%5Cn%20%20%20%20%20%20border-bottom:%202px%20solid%20transparent;%5Cn%20%20%20%20%20%20border-radius:%200;%5Cn%20%20%20%20%20%20box-shadow:%20none;%5Cn%20%20%20%20%20%20color:%20var(--text-muted);%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20gap:%20var(--size-2-2);%5Cn%5Cn%20%20%20%20%20%20&.is-active%20%7B%5Cn%20%20%20%20%20%20%20%20border-bottom-color:%20var(--interactive-accent);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.settings-tabs-icon%20%7B%5Cn%20%20%20%20%20%20display:%20flex;%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";
6
+ const LIBRARY_VERSION = "10.12.0";
7
+ const LIBRARY_STYLES = ".obsidian-lib.bug-report-review-modal .bug-report-preview {\n max-height: 30vh;\n overflow: auto;\n font-family: var(--font-monospace);\n font-size: var(--font-ui-smaller);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n user-select: text;\n}\n.obsidian-lib.copy-text-manually-modal .copy-text-manually-text {\n width: 100%;\n font-family: var(--font-monospace);\n resize: vertical;\n}\n\n.obsidian-lib.code-block-builder-modal .code-block-builder-group {\n margin-bottom: var(--size-4-3);\n border-radius: var(--radius-m);\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-group:not(.is-collapsed) {\n background-color: var(--background-modifier-hover);\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-group.is-collapsed .code-block-builder-group-body {\n display: none;\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-group .code-block-builder-group-body .setting-item {\n padding-inline: var(--size-4-3);\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-preview {\n display: flex;\n justify-content: center;\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-output {\n flex-direction: column;\n align-items: stretch;\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-output .setting-item-control {\n width: 100%;\n}\n.obsidian-lib.code-block-builder-modal .code-block-builder-output textarea {\n flex-grow: 1;\n font-family: var(--font-monospace);\n resize: vertical;\n}\n\n.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.foldable-markdown .collapse-indicator {\n cursor: var(--cursor);\n display: inline-flex;\n position: absolute;\n user-select: none;\n}\n.obsidian-lib.foldable-markdown .collapse-indicator .svg-icon {\n vertical-align: middle;\n}\n.obsidian-lib.foldable-markdown .heading-collapse-indicator {\n margin-inline-start: -22px;\n padding: 0 6px;\n}\n.obsidian-lib.foldable-markdown .list-collapse-indicator {\n margin-inline-start: -2.65em;\n padding-inline-end: 2em;\n}\n.obsidian-lib.foldable-markdown li.is-collapsed > ul,\n.obsidian-lib.foldable-markdown li.is-collapsed > ol {\n display: none;\n}\n\n.obsidian-lib.hotkey-component button.is-placeholder {\n color: var(--text-faint);\n}\n.obsidian-lib.hotkey-component button.is-active {\n color: var(--text-accent);\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\n.obsidian-lib.list-component {\n display: flex;\n flex-direction: column;\n gap: var(--size-4-1);\n min-width: 12em;\n}\n.obsidian-lib.list-component .list-component-items {\n display: flex;\n flex-direction: column;\n gap: var(--size-2-1);\n}\n.obsidian-lib.list-component .list-component-item,\n.obsidian-lib.list-component .list-component-new-item {\n align-items: center;\n display: flex;\n gap: var(--size-2-1);\n}\n.obsidian-lib.list-component .list-component-item-text {\n flex-grow: 1;\n overflow-wrap: anywhere;\n}\n.obsidian-lib.list-component .list-component-new-item input {\n flex-grow: 1;\n}\n.obsidian-lib.list-component .list-component-empty {\n color: var(--text-faint);\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):not(.is-active) {\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.settings-tabs .settings-tabs-bar {\n border-bottom: var(--border-width) solid var(--background-modifier-border);\n display: flex;\n flex-wrap: wrap;\n gap: var(--size-2-1);\n margin-bottom: var(--size-4-3);\n}\n.obsidian-lib.settings-tabs .settings-tabs-button {\n align-items: center;\n background: none;\n border-bottom: 2px solid transparent;\n border-radius: 0;\n box-shadow: none;\n color: var(--text-muted);\n display: flex;\n gap: var(--size-2-2);\n}\n.obsidian-lib.settings-tabs .settings-tabs-button.is-active {\n border-bottom-color: var(--interactive-accent);\n color: var(--text-normal);\n}\n.obsidian-lib.settings-tabs .settings-tabs-icon {\n display: flex;\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/bug-report.scss%22,%22../src/styles/code-block-builder-modal.scss%22,%22../src/styles/code-highlighter-component.scss%22,%22../src/styles/editor-lock.scss%22,%22../src/styles/foldable-markdown.scss%22,%22../src/styles/hotkey-component.scss%22,%22../src/styles/input.scss%22,%22../src/styles/input-time.scss%22,%22../src/styles/list-component.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/settings-tabs.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:%22AACE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;ACZA;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;ACjCJ;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;;;AClBE;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;;AC3BF;EACE;;AAGF;EACE;;;ACNJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;AAAA;AAAA;AAAA;AAAA;IACE;IACA,YACE;;;AAMR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA,YACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AC7DV;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGP;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AAKF;AAAA;AAAA;EACE;;;AAMJ;EACE;;;ACjDJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;;AC3BK;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;;AAGA;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAKF;EACE;EACA;;AAIJ;EACE;EACA;;AAGA;EACE;EACA;;;ACrEF;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;;;ACDF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;;ACdN;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&.bug-report-review-modal%20.bug-report-preview%20%7B%5Cn%20%20%20%20max-height:%2030vh;%5Cn%20%20%20%20overflow:%20auto;%5Cn%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20font-size:%20var(--font-ui-smaller);%5Cn%20%20%20%20white-space:%20pre-wrap;%5Cn%20%20%20%20overflow-wrap:%20anywhere;%5Cn%20%20%20%20user-select:%20text;%5Cn%20%20%7D%5Cn%5Cn%20%20&.copy-text-manually-modal%20.copy-text-manually-text%20%7B%5Cn%20%20%20%20width:%20100%25;%5Cn%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20resize:%20vertical;%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-lib%20%7B%5Cn%20%20&.code-block-builder-modal%20%7B%5Cn%20%20%20%20.code-block-builder-group%20%7B%5Cn%20%20%20%20%20%20margin-bottom:%20var(--size-4-3);%5Cn%20%20%20%20%20%20border-radius:%20var(--radius-m);%5Cn%5Cn%20%20%20%20%20%20&:not(.is-collapsed)%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20var(--background-modifier-hover);%5Cn%20%20%20%20%20%20%7D%5Cn%5Cn%20%20%20%20%20%20&.is-collapsed%20.code-block-builder-group-body%20%7B%5Cn%20%20%20%20%20%20%20%20display:%20none;%5Cn%20%20%20%20%20%20%7D%5Cn%5Cn%20%20%20%20%20%20.code-block-builder-group-body%20.setting-item%20%7B%5Cn%20%20%20%20%20%20%20%20padding-inline:%20var(--size-4-3);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.code-block-builder-preview%20%7B%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20justify-content:%20center;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.code-block-builder-output%20%7B%5Cn%20%20%20%20%20%20flex-direction:%20column;%5Cn%20%20%20%20%20%20align-items:%20stretch;%5Cn%5Cn%20%20%20%20%20%20.setting-item-control%20%7B%5Cn%20%20%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%20%20%7D%5Cn%5Cn%20%20%20%20%20%20textarea%20%7B%5Cn%20%20%20%20%20%20%20%20flex-grow:%201;%5Cn%20%20%20%20%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20%20%20%20%20resize:%20vertical;%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&.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//%20Obsidian%20lays%20its%20collapse%20indicators%20out%20only%20inside%20%60.markdown-preview-view%60%20(and%20the%20list%20one%20inside%5Cn//%20%60.markdown-rendered%60),%20so%20markdown%20rendered%20anywhere%20else%20and%20made%20foldable%20by%20%60registerFoldHandlers%60%5Cn//%20would%20get%20them%20inline,%20pushing%20the%20text%20aside.%20These%20are%20the%20Reading%20view's%20own%20rules,%20read%20from%5Cn//%20Obsidian%201.15.0.%20The%20opacity%20and%20hover%20rules%20are%20global%20in%20Obsidian%20and%20need%20no%20copy.%5Cn.obsidian-lib%20%7B%5Cn%20%20&.foldable-markdown%20%7B%5Cn%20%20%20%20.collapse-indicator%20%7B%5Cn%20%20%20%20%20%20cursor:%20var(--cursor);%5Cn%20%20%20%20%20%20display:%20inline-flex;%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20user-select:%20none;%5Cn%5Cn%20%20%20%20%20%20.svg-icon%20%7B%5Cn%20%20%20%20%20%20%20%20vertical-align:%20middle;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.heading-collapse-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%20-22px;%5Cn%20%20%20%20%20%20padding:%200%206px;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-collapse-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%20-2.65em;%5Cn%20%20%20%20%20%20padding-inline-end:%202em;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20li.is-collapsed%20%3E%20ul,%5Cn%20%20%20%20li.is-collapsed%20%3E%20ol%20%7B%5Cn%20%20%20%20%20%20display:%20none;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-lib%20%7B%5Cn%20%20&.hotkey-component%20%7B%5Cn%20%20%20%20button.is-placeholder%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20button.is-active%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-accent);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%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&.list-component%20%7B%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20flex-direction:%20column;%5Cn%20%20%20%20gap:%20var(--size-4-1);%5Cn%20%20%20%20min-width:%2012em;%5Cn%5Cn%20%20%20%20.list-component-items%20%7B%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20flex-direction:%20column;%5Cn%20%20%20%20%20%20gap:%20var(--size-2-1);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-component-item,%5Cn%20%20%20%20.list-component-new-item%20%7B%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20gap:%20var(--size-2-1);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-component-item-text%20%7B%5Cn%20%20%20%20%20%20flex-grow:%201;%5Cn%20%20%20%20%20%20overflow-wrap:%20anywhere;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-component-new-item%20input%20%7B%5Cn%20%20%20%20%20%20flex-grow:%201;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.list-component-empty%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%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//%20Touch%20can%20leave%20:hover%20latched%20until%20the%20next%20tap.%20Keep%20the%20ON%20fill%20in%20that%20state%20too.%5Cn%20%20%20%20&:hover:not(:disabled):not(.is-active)%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.obsidian-lib%20%7B%5Cn%20%20&.settings-tabs%20%7B%5Cn%20%20%20%20.settings-tabs-bar%20%7B%5Cn%20%20%20%20%20%20border-bottom:%20var(--border-width)%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20flex-wrap:%20wrap;%5Cn%20%20%20%20%20%20gap:%20var(--size-2-1);%5Cn%20%20%20%20%20%20margin-bottom:%20var(--size-4-3);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.settings-tabs-button%20%7B%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20background:%20none;%5Cn%20%20%20%20%20%20border-bottom:%202px%20solid%20transparent;%5Cn%20%20%20%20%20%20border-radius:%200;%5Cn%20%20%20%20%20%20box-shadow:%20none;%5Cn%20%20%20%20%20%20color:%20var(--text-muted);%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20gap:%20var(--size-2-2);%5Cn%5Cn%20%20%20%20%20%20&.is-active%20%7B%5Cn%20%20%20%20%20%20%20%20border-bottom-color:%20var(--interactive-accent);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.settings-tabs-icon%20%7B%5Cn%20%20%20%20%20%20display:%20flex;%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";
8
8
  export {
9
9
  LIBRARY_STYLES,
10
10
  LIBRARY_VERSION
@@ -4,8 +4,8 @@
4
4
  *
5
5
  * The renames a vault's git history records, the strongest evidence of where a missing link target went.
6
6
  *
7
- * Cross-platform: it only parses. Running `git` belongs to `desktop-git-runner.ts`, whose Node imports are
8
- * deferred until a command runs. Call that runner only behind `Platform.isDesktopApp`.
7
+ * Cross-platform: it only parses. Running `git` belongs to `desktop-git-runner.ts`, which reads Node only
8
+ * when a command runs. Call that runner only behind `Platform.isDesktopApp`.
9
9
  */
10
10
  import type { GitRename } from './broken-link-candidates.mjs';
11
11
  /**
@@ -56,4 +56,4 @@ export {
56
56
  loadGitRenames,
57
57
  parseGitRenameLog
58
58
  };
59
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2dpdC1yZW5hbWUtaGlzdG9yeS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSByZW5hbWVzIGEgdmF1bHQncyBnaXQgaGlzdG9yeSByZWNvcmRzLCB0aGUgc3Ryb25nZXN0IGV2aWRlbmNlIG9mIHdoZXJlIGEgbWlzc2luZyBsaW5rIHRhcmdldCB3ZW50LlxuICpcbiAqIENyb3NzLXBsYXRmb3JtOiBpdCBvbmx5IHBhcnNlcy4gUnVubmluZyBgZ2l0YCBiZWxvbmdzIHRvIGBkZXNrdG9wLWdpdC1ydW5uZXIudHNgLCB3aG9zZSBOb2RlIGltcG9ydHMgYXJlXG4gKiBkZWZlcnJlZCB1bnRpbCBhIGNvbW1hbmQgcnVucy4gQ2FsbCB0aGF0IHJ1bm5lciBvbmx5IGJlaGluZCBgUGxhdGZvcm0uaXNEZXNrdG9wQXBwYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEdpdFJlbmFtZSB9IGZyb20gJy4vYnJva2VuLWxpbmstY2FuZGlkYXRlcy50cyc7XG5cbi8qKlxuICogUnVucyBgZ2l0YCB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMgaW4gdGhlIHZhdWx0J3MgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcmd1bWVudHNfIC0gVGhlIGFyZ3VtZW50cy5cbiAqIEByZXR1cm5zIFRoZSBjb21tYW5kJ3Mgc3RhbmRhcmQgb3V0cHV0LlxuICovXG5leHBvcnQgdHlwZSBHaXRSdW5uZXIgPSAoYXJndW1lbnRzXzogcmVhZG9ubHkgc3RyaW5nW10pID0+IFByb21pc2U8c3RyaW5nPjtcblxuLyoqXG4gKiBUaGUgcGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvYWRHaXRSZW5hbWVzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2FkR2l0UmVuYW1lc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBSdW5zIGBnaXRgIGluIHRoZSB2YXVsdCdzIGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IHJ1bkdpdDogR2l0UnVubmVyO1xufVxuXG5pbnRlcmZhY2UgUmVjb3JkZWRSZW5hbWUgZXh0ZW5kcyBHaXRSZW5hbWUge1xuICByZWFkb25seSBvbGRQYXRoOiBzdHJpbmc7XG59XG5cbmNvbnN0IFJFTkFNRV9TVEFUVVNfUkVHRVhQID0gL15SXFxkKiQvO1xuXG4vKipcbiAqIFJlYWRzIGV2ZXJ5IHJlbmFtZSBpbiB0aGUgZ2l0IGhpc3Rvcnkgb2YgdGhlIHJlcG9zaXRvcnkgdGhlIHZhdWx0IGxpdmVzIGluLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycy5cbiAqIEByZXR1cm5zIEVhY2ggb2xkIHZhdWx0IHBhdGggdG8gdGhlIHBhdGggaXQgZW5kZWQgdXAgYXQ7IGVtcHR5IHdoZW4gdGhlIHZhdWx0IGlzIG5vdCBpbiBhIGdpdCByZXBvc2l0b3J5IG9yXG4gKiBgZ2l0YCBjYW5ub3QgcnVuLCBiZWNhdXNlIG1pc3NpbmcgZXZpZGVuY2UgaXMgbm90IGFuIGVycm9yLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEdpdFJlbmFtZXMocGFyYW1zOiBMb2FkR2l0UmVuYW1lc1BhcmFtcyk6IFByb21pc2U8TWFwPHN0cmluZywgR2l0UmVuYW1lPj4ge1xuICB0cnkge1xuICAgIGNvbnN0IHNob3dQcmVmaXhPdXRwdXQgPSBhd2FpdCBwYXJhbXMucnVuR2l0KFsncmV2LXBhcnNlJywgJy0tc2hvdy1wcmVmaXgnXSk7XG4gICAgY29uc3QgdmF1bHRQcmVmaXggPSBzaG93UHJlZml4T3V0cHV0LnRyaW0oKTtcbiAgICBjb25zdCBsb2cgPSBhd2FpdCBwYXJhbXMucnVuR2l0KFsnLWMnLCAnY29yZS5xdW90ZVBhdGg9ZmFsc2UnLCAnbG9nJywgJy16JywgJy0tZGlmZi1maWx0ZXI9UicsICctTScsICctLW5hbWUtc3RhdHVzJywgJy0tZm9ybWF0PSVoJ10pO1xuICAgIHJldHVybiBwYXJzZUdpdFJlbmFtZUxvZyhsb2csIHZhdWx0UHJlZml4KTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG5ldyBNYXAoKTtcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgb3V0cHV0IG9mIGBnaXQgbG9nIC16IC0tZGlmZi1maWx0ZXI9UiAtTSAtLW5hbWUtc3RhdHVzIC0tZm9ybWF0PSVoYC5cbiAqXG4gKiBAcGFyYW0gbG9nIC0gVGhlIG91dHB1dCwgbmV3ZXN0IGNvbW1pdCBmaXJzdC5cbiAqIEBwYXJhbSB2YXVsdFByZWZpeCAtIFRoZSB2YXVsdCdzIGZvbGRlciB3aXRoaW4gdGhlIHJlcG9zaXRvcnksIGFzIGBnaXQgcmV2LXBhcnNlIC0tc2hvdy1wcmVmaXhgIHByaW50cyBpdDpcbiAqIGAnJ2Agb3IgYSBwYXRoIGVuZGluZyBpbiBgL2AuIFJlbmFtZXMgb3V0c2lkZSBpdCBhcmUgZHJvcHBlZCwgYW5kIGl0IGlzIHN0cmlwcGVkIGZyb20gdGhlIHJlc3QuXG4gKiBAcmV0dXJucyBFYWNoIG9sZCB2YXVsdCBwYXRoIHRvIHRoZSBwYXRoIGl0IGVuZGVkIHVwIGF0LCBmb2xsb3dpbmcgYSBjaGFpbiBvZiByZW5hbWVzIHRvIGl0cyBlbmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUdpdFJlbmFtZUxvZyhsb2c6IHN0cmluZywgdmF1bHRQcmVmaXg6IHN0cmluZyk6IE1hcDxzdHJpbmcsIEdpdFJlbmFtZT4ge1xuICBjb25zdCB0b2tlbnMgPSBsb2cuc3BsaXQoJ1xcMCcpLm1hcCgodG9rZW4pID0+IHRva2VuLnJlcGxhY2UoL15cXG4rLywgJycpKTtcbiAgY29uc3QgcmVuYW1lczogUmVjb3JkZWRSZW5hbWVbXSA9IFtdO1xuICBsZXQgY29tbWl0ID0gJyc7XG5cbiAgbGV0IGluZGV4ID0gMDtcbiAgZnVuY3Rpb24gcmVhZFRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRva2Vuc1tpbmRleCsrXSA/PyAnJztcbiAgfVxuXG4gIHdoaWxlIChpbmRleCA8IHRva2Vucy5sZW5ndGgpIHtcbiAgICBjb25zdCB0b2tlbiA9IHJlYWRUb2tlbigpO1xuICAgIGlmIChSRU5BTUVfU1RBVFVTX1JFR0VYUC50ZXN0KHRva2VuKSkge1xuICAgICAgY29uc3Qgb2xkUGF0aCA9IHJlYWRUb2tlbigpO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHJlYWRUb2tlbigpO1xuICAgICAgaWYgKG9sZFBhdGguc3RhcnRzV2l0aCh2YXVsdFByZWZpeCkgJiYgbmV3UGF0aC5zdGFydHNXaXRoKHZhdWx0UHJlZml4KSkge1xuICAgICAgICByZW5hbWVzLnB1c2goeyBjb21taXQsIG5ld1BhdGg6IG5ld1BhdGguc2xpY2UodmF1bHRQcmVmaXgubGVuZ3RoKSwgb2xkUGF0aDogb2xkUGF0aC5zbGljZSh2YXVsdFByZWZpeC5sZW5ndGgpIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodG9rZW4pIHtcbiAgICAgIGNvbW1pdCA9IHRva2VuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9sZGVzdCBmaXJzdCwgc28gYSBsYXRlciByZW5hbWUgb2YgdGhlIHNhbWUgcGF0aCBvdmVycmlkZXMgYW4gZWFybGllciBvbmUuXG4gIGNvbnN0IG5leHRCeVBhdGggPSBuZXcgTWFwPHN0cmluZywgR2l0UmVuYW1lPigpO1xuICBmb3IgKGNvbnN0IHJlbmFtZSBvZiByZW5hbWVzLnJldmVyc2UoKSkge1xuICAgIG5leHRCeVBhdGguc2V0KHJlbmFtZS5vbGRQYXRoLCB7IGNvbW1pdDogcmVuYW1lLmNvbW1pdCwgbmV3UGF0aDogcmVuYW1lLm5ld1BhdGggfSk7XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPHN0cmluZywgR2l0UmVuYW1lPigpO1xuICBmb3IgKGNvbnN0IFtvbGRQYXRoLCBmaXJzdFJlbmFtZV0gb2YgbmV4dEJ5UGF0aCkge1xuICAgIGxldCByZW5hbWUgPSBmaXJzdFJlbmFtZTtcbiAgICBjb25zdCB2aXNpdGVkUGF0aHMgPSBuZXcgU2V0KFtvbGRQYXRoXSk7XG4gICAgbGV0IG5leHQgPSBuZXh0QnlQYXRoLmdldChyZW5hbWUubmV3UGF0aCk7XG4gICAgd2hpbGUgKG5leHQgJiYgIXZpc2l0ZWRQYXRocy5oYXMocmVuYW1lLm5ld1BhdGgpKSB7XG4gICAgICB2aXNpdGVkUGF0aHMuYWRkKHJlbmFtZS5uZXdQYXRoKTtcbiAgICAgIHJlbmFtZSA9IG5leHQ7XG4gICAgICBuZXh0ID0gbmV4dEJ5UGF0aC5nZXQocmVuYW1lLm5ld1BhdGgpO1xuICAgIH1cbiAgICByZXN1bHQuc2V0KG9sZFBhdGgsIHJlbmFtZSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFpQ0EsTUFBTSx1QkFBdUI7QUFTN0IsZUFBc0IsZUFBZSxRQUErRDtBQUNsRyxNQUFJO0FBQ0YsVUFBTSxtQkFBbUIsTUFBTSxPQUFPLE9BQU8sQ0FBQyxhQUFhLGVBQWUsQ0FBQztBQUMzRSxVQUFNLGNBQWMsaUJBQWlCLEtBQUs7QUFDMUMsVUFBTSxNQUFNLE1BQU0sT0FBTyxPQUFPLENBQUMsTUFBTSx3QkFBd0IsT0FBTyxNQUFNLG1CQUFtQixNQUFNLGlCQUFpQixhQUFhLENBQUM7QUFDcEksV0FBTyxrQkFBa0IsS0FBSyxXQUFXO0FBQUEsRUFDM0MsUUFBUTtBQUNOLFdBQU8sb0JBQUksSUFBSTtBQUFBLEVBQ2pCO0FBQ0Y7QUFVTyxTQUFTLGtCQUFrQixLQUFhLGFBQTZDO0FBQzFGLFFBQU0sU0FBUyxJQUFJLE1BQU0sSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLE1BQU0sUUFBUSxRQUFRLEVBQUUsQ0FBQztBQUN2RSxRQUFNLFVBQTRCLENBQUM7QUFDbkMsTUFBSSxTQUFTO0FBRWIsTUFBSSxRQUFRO0FBQ1osV0FBUyxZQUFvQjtBQUMzQixXQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsRUFDNUI7QUFFQSxTQUFPLFFBQVEsT0FBTyxRQUFRO0FBQzVCLFVBQU0sUUFBUSxVQUFVO0FBQ3hCLFFBQUkscUJBQXFCLEtBQUssS0FBSyxHQUFHO0FBQ3BDLFlBQU0sVUFBVSxVQUFVO0FBQzFCLFlBQU0sVUFBVSxVQUFVO0FBQzFCLFVBQUksUUFBUSxXQUFXLFdBQVcsS0FBSyxRQUFRLFdBQVcsV0FBVyxHQUFHO0FBQ3RFLGdCQUFRLEtBQUssRUFBRSxRQUFRLFNBQVMsUUFBUSxNQUFNLFlBQVksTUFBTSxHQUFHLFNBQVMsUUFBUSxNQUFNLFlBQVksTUFBTSxFQUFFLENBQUM7QUFBQSxNQUNqSDtBQUFBLElBQ0YsV0FBVyxPQUFPO0FBQ2hCLGVBQVM7QUFBQSxJQUNYO0FBQUEsRUFDRjtBQUdBLFFBQU0sYUFBYSxvQkFBSSxJQUF1QjtBQUM5QyxhQUFXLFVBQVUsUUFBUSxRQUFRLEdBQUc7QUFDdEMsZUFBVyxJQUFJLE9BQU8sU0FBUyxFQUFFLFFBQVEsT0FBTyxRQUFRLFNBQVMsT0FBTyxRQUFRLENBQUM7QUFBQSxFQUNuRjtBQUVBLFFBQU0sU0FBUyxvQkFBSSxJQUF1QjtBQUMxQyxhQUFXLENBQUMsU0FBUyxXQUFXLEtBQUssWUFBWTtBQUMvQyxRQUFJLFNBQVM7QUFDYixVQUFNLGVBQWUsb0JBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN0QyxRQUFJLE9BQU8sV0FBVyxJQUFJLE9BQU8sT0FBTztBQUN4QyxXQUFPLFFBQVEsQ0FBQyxhQUFhLElBQUksT0FBTyxPQUFPLEdBQUc7QUFDaEQsbUJBQWEsSUFBSSxPQUFPLE9BQU87QUFDL0IsZUFBUztBQUNULGFBQU8sV0FBVyxJQUFJLE9BQU8sT0FBTztBQUFBLElBQ3RDO0FBQ0EsV0FBTyxJQUFJLFNBQVMsTUFBTTtBQUFBLEVBQzVCO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
59
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2dpdC1yZW5hbWUtaGlzdG9yeS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSByZW5hbWVzIGEgdmF1bHQncyBnaXQgaGlzdG9yeSByZWNvcmRzLCB0aGUgc3Ryb25nZXN0IGV2aWRlbmNlIG9mIHdoZXJlIGEgbWlzc2luZyBsaW5rIHRhcmdldCB3ZW50LlxuICpcbiAqIENyb3NzLXBsYXRmb3JtOiBpdCBvbmx5IHBhcnNlcy4gUnVubmluZyBgZ2l0YCBiZWxvbmdzIHRvIGBkZXNrdG9wLWdpdC1ydW5uZXIudHNgLCB3aGljaCByZWFkcyBOb2RlIG9ubHlcbiAqIHdoZW4gYSBjb21tYW5kIHJ1bnMuIENhbGwgdGhhdCBydW5uZXIgb25seSBiZWhpbmQgYFBsYXRmb3JtLmlzRGVza3RvcEFwcGAuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBHaXRSZW5hbWUgfSBmcm9tICcuL2Jyb2tlbi1saW5rLWNhbmRpZGF0ZXMudHMnO1xuXG4vKipcbiAqIFJ1bnMgYGdpdGAgd2l0aCB0aGUgZ2l2ZW4gYXJndW1lbnRzIGluIHRoZSB2YXVsdCdzIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYXJndW1lbnRzXyAtIFRoZSBhcmd1bWVudHMuXG4gKiBAcmV0dXJucyBUaGUgY29tbWFuZCdzIHN0YW5kYXJkIG91dHB1dC5cbiAqL1xuZXhwb3J0IHR5cGUgR2l0UnVubmVyID0gKGFyZ3VtZW50c186IHJlYWRvbmx5IHN0cmluZ1tdKSA9PiBQcm9taXNlPHN0cmluZz47XG5cbi8qKlxuICogVGhlIHBhcmFtZXRlcnMgZm9yIHtAbGluayBsb2FkR2l0UmVuYW1lc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEdpdFJlbmFtZXNQYXJhbXMge1xuICAvKipcbiAgICogUnVucyBgZ2l0YCBpbiB0aGUgdmF1bHQncyBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBydW5HaXQ6IEdpdFJ1bm5lcjtcbn1cblxuaW50ZXJmYWNlIFJlY29yZGVkUmVuYW1lIGV4dGVuZHMgR2l0UmVuYW1lIHtcbiAgcmVhZG9ubHkgb2xkUGF0aDogc3RyaW5nO1xufVxuXG5jb25zdCBSRU5BTUVfU1RBVFVTX1JFR0VYUCA9IC9eUlxcZCokLztcblxuLyoqXG4gKiBSZWFkcyBldmVyeSByZW5hbWUgaW4gdGhlIGdpdCBoaXN0b3J5IG9mIHRoZSByZXBvc2l0b3J5IHRoZSB2YXVsdCBsaXZlcyBpbi5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMuXG4gKiBAcmV0dXJucyBFYWNoIG9sZCB2YXVsdCBwYXRoIHRvIHRoZSBwYXRoIGl0IGVuZGVkIHVwIGF0OyBlbXB0eSB3aGVuIHRoZSB2YXVsdCBpcyBub3QgaW4gYSBnaXQgcmVwb3NpdG9yeSBvclxuICogYGdpdGAgY2Fubm90IHJ1biwgYmVjYXVzZSBtaXNzaW5nIGV2aWRlbmNlIGlzIG5vdCBhbiBlcnJvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRHaXRSZW5hbWVzKHBhcmFtczogTG9hZEdpdFJlbmFtZXNQYXJhbXMpOiBQcm9taXNlPE1hcDxzdHJpbmcsIEdpdFJlbmFtZT4+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzaG93UHJlZml4T3V0cHV0ID0gYXdhaXQgcGFyYW1zLnJ1bkdpdChbJ3Jldi1wYXJzZScsICctLXNob3ctcHJlZml4J10pO1xuICAgIGNvbnN0IHZhdWx0UHJlZml4ID0gc2hvd1ByZWZpeE91dHB1dC50cmltKCk7XG4gICAgY29uc3QgbG9nID0gYXdhaXQgcGFyYW1zLnJ1bkdpdChbJy1jJywgJ2NvcmUucXVvdGVQYXRoPWZhbHNlJywgJ2xvZycsICcteicsICctLWRpZmYtZmlsdGVyPVInLCAnLU0nLCAnLS1uYW1lLXN0YXR1cycsICctLWZvcm1hdD0laCddKTtcbiAgICByZXR1cm4gcGFyc2VHaXRSZW5hbWVMb2cobG9nLCB2YXVsdFByZWZpeCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBuZXcgTWFwKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZXMgdGhlIG91dHB1dCBvZiBgZ2l0IGxvZyAteiAtLWRpZmYtZmlsdGVyPVIgLU0gLS1uYW1lLXN0YXR1cyAtLWZvcm1hdD0laGAuXG4gKlxuICogQHBhcmFtIGxvZyAtIFRoZSBvdXRwdXQsIG5ld2VzdCBjb21taXQgZmlyc3QuXG4gKiBAcGFyYW0gdmF1bHRQcmVmaXggLSBUaGUgdmF1bHQncyBmb2xkZXIgd2l0aGluIHRoZSByZXBvc2l0b3J5LCBhcyBgZ2l0IHJldi1wYXJzZSAtLXNob3ctcHJlZml4YCBwcmludHMgaXQ6XG4gKiBgJydgIG9yIGEgcGF0aCBlbmRpbmcgaW4gYC9gLiBSZW5hbWVzIG91dHNpZGUgaXQgYXJlIGRyb3BwZWQsIGFuZCBpdCBpcyBzdHJpcHBlZCBmcm9tIHRoZSByZXN0LlxuICogQHJldHVybnMgRWFjaCBvbGQgdmF1bHQgcGF0aCB0byB0aGUgcGF0aCBpdCBlbmRlZCB1cCBhdCwgZm9sbG93aW5nIGEgY2hhaW4gb2YgcmVuYW1lcyB0byBpdHMgZW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VHaXRSZW5hbWVMb2cobG9nOiBzdHJpbmcsIHZhdWx0UHJlZml4OiBzdHJpbmcpOiBNYXA8c3RyaW5nLCBHaXRSZW5hbWU+IHtcbiAgY29uc3QgdG9rZW5zID0gbG9nLnNwbGl0KCdcXDAnKS5tYXAoKHRva2VuKSA9PiB0b2tlbi5yZXBsYWNlKC9eXFxuKy8sICcnKSk7XG4gIGNvbnN0IHJlbmFtZXM6IFJlY29yZGVkUmVuYW1lW10gPSBbXTtcbiAgbGV0IGNvbW1pdCA9ICcnO1xuXG4gIGxldCBpbmRleCA9IDA7XG4gIGZ1bmN0aW9uIHJlYWRUb2tlbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0b2tlbnNbaW5kZXgrK10gPz8gJyc7XG4gIH1cblxuICB3aGlsZSAoaW5kZXggPCB0b2tlbnMubGVuZ3RoKSB7XG4gICAgY29uc3QgdG9rZW4gPSByZWFkVG9rZW4oKTtcbiAgICBpZiAoUkVOQU1FX1NUQVRVU19SRUdFWFAudGVzdCh0b2tlbikpIHtcbiAgICAgIGNvbnN0IG9sZFBhdGggPSByZWFkVG9rZW4oKTtcbiAgICAgIGNvbnN0IG5ld1BhdGggPSByZWFkVG9rZW4oKTtcbiAgICAgIGlmIChvbGRQYXRoLnN0YXJ0c1dpdGgodmF1bHRQcmVmaXgpICYmIG5ld1BhdGguc3RhcnRzV2l0aCh2YXVsdFByZWZpeCkpIHtcbiAgICAgICAgcmVuYW1lcy5wdXNoKHsgY29tbWl0LCBuZXdQYXRoOiBuZXdQYXRoLnNsaWNlKHZhdWx0UHJlZml4Lmxlbmd0aCksIG9sZFBhdGg6IG9sZFBhdGguc2xpY2UodmF1bHRQcmVmaXgubGVuZ3RoKSB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRva2VuKSB7XG4gICAgICBjb21taXQgPSB0b2tlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPbGRlc3QgZmlyc3QsIHNvIGEgbGF0ZXIgcmVuYW1lIG9mIHRoZSBzYW1lIHBhdGggb3ZlcnJpZGVzIGFuIGVhcmxpZXIgb25lLlxuICBjb25zdCBuZXh0QnlQYXRoID0gbmV3IE1hcDxzdHJpbmcsIEdpdFJlbmFtZT4oKTtcbiAgZm9yIChjb25zdCByZW5hbWUgb2YgcmVuYW1lcy5yZXZlcnNlKCkpIHtcbiAgICBuZXh0QnlQYXRoLnNldChyZW5hbWUub2xkUGF0aCwgeyBjb21taXQ6IHJlbmFtZS5jb21taXQsIG5ld1BhdGg6IHJlbmFtZS5uZXdQYXRoIH0pO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxzdHJpbmcsIEdpdFJlbmFtZT4oKTtcbiAgZm9yIChjb25zdCBbb2xkUGF0aCwgZmlyc3RSZW5hbWVdIG9mIG5leHRCeVBhdGgpIHtcbiAgICBsZXQgcmVuYW1lID0gZmlyc3RSZW5hbWU7XG4gICAgY29uc3QgdmlzaXRlZFBhdGhzID0gbmV3IFNldChbb2xkUGF0aF0pO1xuICAgIGxldCBuZXh0ID0gbmV4dEJ5UGF0aC5nZXQocmVuYW1lLm5ld1BhdGgpO1xuICAgIHdoaWxlIChuZXh0ICYmICF2aXNpdGVkUGF0aHMuaGFzKHJlbmFtZS5uZXdQYXRoKSkge1xuICAgICAgdmlzaXRlZFBhdGhzLmFkZChyZW5hbWUubmV3UGF0aCk7XG4gICAgICByZW5hbWUgPSBuZXh0O1xuICAgICAgbmV4dCA9IG5leHRCeVBhdGguZ2V0KHJlbmFtZS5uZXdQYXRoKTtcbiAgICB9XG4gICAgcmVzdWx0LnNldChvbGRQYXRoLCByZW5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBaUNBLE1BQU0sdUJBQXVCO0FBUzdCLGVBQXNCLGVBQWUsUUFBK0Q7QUFDbEcsTUFBSTtBQUNGLFVBQU0sbUJBQW1CLE1BQU0sT0FBTyxPQUFPLENBQUMsYUFBYSxlQUFlLENBQUM7QUFDM0UsVUFBTSxjQUFjLGlCQUFpQixLQUFLO0FBQzFDLFVBQU0sTUFBTSxNQUFNLE9BQU8sT0FBTyxDQUFDLE1BQU0sd0JBQXdCLE9BQU8sTUFBTSxtQkFBbUIsTUFBTSxpQkFBaUIsYUFBYSxDQUFDO0FBQ3BJLFdBQU8sa0JBQWtCLEtBQUssV0FBVztBQUFBLEVBQzNDLFFBQVE7QUFDTixXQUFPLG9CQUFJLElBQUk7QUFBQSxFQUNqQjtBQUNGO0FBVU8sU0FBUyxrQkFBa0IsS0FBYSxhQUE2QztBQUMxRixRQUFNLFNBQVMsSUFBSSxNQUFNLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxNQUFNLFFBQVEsUUFBUSxFQUFFLENBQUM7QUFDdkUsUUFBTSxVQUE0QixDQUFDO0FBQ25DLE1BQUksU0FBUztBQUViLE1BQUksUUFBUTtBQUNaLFdBQVMsWUFBb0I7QUFDM0IsV0FBTyxPQUFPLE9BQU8sS0FBSztBQUFBLEVBQzVCO0FBRUEsU0FBTyxRQUFRLE9BQU8sUUFBUTtBQUM1QixVQUFNLFFBQVEsVUFBVTtBQUN4QixRQUFJLHFCQUFxQixLQUFLLEtBQUssR0FBRztBQUNwQyxZQUFNLFVBQVUsVUFBVTtBQUMxQixZQUFNLFVBQVUsVUFBVTtBQUMxQixVQUFJLFFBQVEsV0FBVyxXQUFXLEtBQUssUUFBUSxXQUFXLFdBQVcsR0FBRztBQUN0RSxnQkFBUSxLQUFLLEVBQUUsUUFBUSxTQUFTLFFBQVEsTUFBTSxZQUFZLE1BQU0sR0FBRyxTQUFTLFFBQVEsTUFBTSxZQUFZLE1BQU0sRUFBRSxDQUFDO0FBQUEsTUFDakg7QUFBQSxJQUNGLFdBQVcsT0FBTztBQUNoQixlQUFTO0FBQUEsSUFDWDtBQUFBLEVBQ0Y7QUFHQSxRQUFNLGFBQWEsb0JBQUksSUFBdUI7QUFDOUMsYUFBVyxVQUFVLFFBQVEsUUFBUSxHQUFHO0FBQ3RDLGVBQVcsSUFBSSxPQUFPLFNBQVMsRUFBRSxRQUFRLE9BQU8sUUFBUSxTQUFTLE9BQU8sUUFBUSxDQUFDO0FBQUEsRUFDbkY7QUFFQSxRQUFNLFNBQVMsb0JBQUksSUFBdUI7QUFDMUMsYUFBVyxDQUFDLFNBQVMsV0FBVyxLQUFLLFlBQVk7QUFDL0MsUUFBSSxTQUFTO0FBQ2IsVUFBTSxlQUFlLG9CQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDdEMsUUFBSSxPQUFPLFdBQVcsSUFBSSxPQUFPLE9BQU87QUFDeEMsV0FBTyxRQUFRLENBQUMsYUFBYSxJQUFJLE9BQU8sT0FBTyxHQUFHO0FBQ2hELG1CQUFhLElBQUksT0FBTyxPQUFPO0FBQy9CLGVBQVM7QUFDVCxhQUFPLFdBQVcsSUFBSSxPQUFPLE9BQU87QUFBQSxJQUN0QztBQUNBLFdBQU8sSUFBSSxTQUFTLE1BQU07QUFBQSxFQUM1QjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -16,6 +16,17 @@ export declare const en: {
16
16
  readonly terminateOperation: "You can terminate the operation by clicking the button below, but be aware it might leave the vault in an inconsistent state.";
17
17
  readonly timedOut: "The operation timed out after {{duration, number}} milliseconds.";
18
18
  };
19
+ readonly bugReport: {
20
+ readonly clipboardCopied: "The bug report is too long for a link, so it was copied to your clipboard. Paste it into the Environment field of the form that opens.";
21
+ readonly continue: "Continue";
22
+ readonly copyManuallyMessage: "The bug report is too long for a link, and it could not be copied to your clipboard. Copy the text below, then paste it into the Environment field of the form that opens.";
23
+ readonly copyManuallyTitle: "Copy the bug report";
24
+ readonly openIssueForm: "Open the issue form";
25
+ readonly potentiallyPrivate: "Can contain private data, such as file names, notes or secrets. Left out unless you switch it on.";
26
+ readonly previewHeading: "This exact text will be put into the issue form. Nothing is sent until you submit the form on GitHub.";
27
+ readonly reviewMessage: "Choose which diagnostics to include in the bug report. Logs and settings can contain private data, such as file names, note content, tokens or passwords: check the preview before you continue.";
28
+ readonly reviewTitle: "Review the bug report";
29
+ };
19
30
  readonly bulkOperation: {
20
31
  readonly noOperations: "No bulk operation of this plugin was found in the vault repository.";
21
32
  readonly notActive: "Bulk operation commits are off, or the vault is not in a git repository.";
@@ -100,6 +111,17 @@ export declare const en: {
100
111
  readonly updateFailed: "Failed to update {{dependencyPluginName}}. Check the console for more information.";
101
112
  readonly versionMismatchNotice: "{{pluginName}} needs a newer version of {{dependencyPluginName}}. Update it to resume.";
102
113
  };
114
+ readonly pluginRequirement: {
115
+ readonly enable: "Enable {{requiredPluginName}}";
116
+ readonly enableFailed: "Failed to enable {{requiredPluginName}}. Check the console for more information.";
117
+ readonly invalidVersionNotice: "{{pluginName}} needs {{requiredPluginName}} {{minPluginVersion}} or newer, and the installed version cannot be read. Update {{requiredPluginName}}.";
118
+ readonly notEnabledNotice: "{{pluginName}} needs {{requiredPluginName}}, which is installed but not enabled.";
119
+ readonly notInstalledNotice: "{{pluginName}} needs {{requiredPluginName}}, which is not installed.";
120
+ readonly notLoadedNotice: "{{pluginName}} needs {{requiredPluginName}}, which is enabled but did not load. Enable it again, or check the console for its error.";
121
+ readonly openCommunityPlugins: "Open community plugins";
122
+ readonly outdatedNotice: "{{pluginName}} needs {{requiredPluginName}} {{minPluginVersion}} or newer. Update {{requiredPluginName}}.";
123
+ readonly shapeMismatchNotice: "{{requiredPluginName}} is running, but not in a form {{pluginName}} can use. Update {{requiredPluginName}}.";
124
+ };
103
125
  readonly pluginSuggestion: {
104
126
  readonly enable: "Enable";
105
127
  readonly install: "Install and enable";
@@ -110,6 +132,12 @@ export declare const en: {
110
132
  readonly queue: {
111
133
  readonly flushQueue: "Flush queue";
112
134
  };
135
+ readonly releaseAsset: {
136
+ readonly consentMessage: "{{fileName}} ({{size}}) will be downloaded from {{host}} and kept on this device, so it is downloaded only once.";
137
+ readonly consentMessageUnknownSize: "{{fileName}} will be downloaded from {{host}} and kept on this device, so it is downloaded only once.";
138
+ readonly consentTitle: "Download {{fileName}}?";
139
+ readonly download: "Download";
140
+ };
113
141
  readonly releaseNotes: {
114
142
  readonly title: "{{pluginName}} release notes";
115
143
  };
@@ -12,6 +12,17 @@ const en = {
12
12
  terminateOperation: "You can terminate the operation by clicking the button below, but be aware it might leave the vault in an inconsistent state.",
13
13
  timedOut: "The operation timed out after {{duration, number}} milliseconds."
14
14
  },
15
+ bugReport: {
16
+ clipboardCopied: "The bug report is too long for a link, so it was copied to your clipboard. Paste it into the Environment field of the form that opens.",
17
+ continue: "Continue",
18
+ copyManuallyMessage: "The bug report is too long for a link, and it could not be copied to your clipboard. Copy the text below, then paste it into the Environment field of the form that opens.",
19
+ copyManuallyTitle: "Copy the bug report",
20
+ openIssueForm: "Open the issue form",
21
+ potentiallyPrivate: "Can contain private data, such as file names, notes or secrets. Left out unless you switch it on.",
22
+ previewHeading: "This exact text will be put into the issue form. Nothing is sent until you submit the form on GitHub.",
23
+ reviewMessage: "Choose which diagnostics to include in the bug report. Logs and settings can contain private data, such as file names, note content, tokens or passwords: check the preview before you continue.",
24
+ reviewTitle: "Review the bug report"
25
+ },
15
26
  bulkOperation: {
16
27
  noOperations: "No bulk operation of this plugin was found in the vault repository.",
17
28
  notActive: "Bulk operation commits are off, or the vault is not in a git repository.",
@@ -96,6 +107,17 @@ const en = {
96
107
  updateFailed: "Failed to update {{dependencyPluginName}}. Check the console for more information.",
97
108
  versionMismatchNotice: "{{pluginName}} needs a newer version of {{dependencyPluginName}}. Update it to resume."
98
109
  },
110
+ pluginRequirement: {
111
+ enable: "Enable {{requiredPluginName}}",
112
+ enableFailed: "Failed to enable {{requiredPluginName}}. Check the console for more information.",
113
+ invalidVersionNotice: "{{pluginName}} needs {{requiredPluginName}} {{minPluginVersion}} or newer, and the installed version cannot be read. Update {{requiredPluginName}}.",
114
+ notEnabledNotice: "{{pluginName}} needs {{requiredPluginName}}, which is installed but not enabled.",
115
+ notInstalledNotice: "{{pluginName}} needs {{requiredPluginName}}, which is not installed.",
116
+ notLoadedNotice: "{{pluginName}} needs {{requiredPluginName}}, which is enabled but did not load. Enable it again, or check the console for its error.",
117
+ openCommunityPlugins: "Open community plugins",
118
+ outdatedNotice: "{{pluginName}} needs {{requiredPluginName}} {{minPluginVersion}} or newer. Update {{requiredPluginName}}.",
119
+ shapeMismatchNotice: "{{requiredPluginName}} is running, but not in a form {{pluginName}} can use. Update {{requiredPluginName}}."
120
+ },
99
121
  pluginSuggestion: {
100
122
  enable: "Enable",
101
123
  install: "Install and enable",
@@ -106,6 +128,12 @@ const en = {
106
128
  queue: {
107
129
  flushQueue: "Flush queue"
108
130
  },
131
+ releaseAsset: {
132
+ consentMessage: "{{fileName}} ({{size}}) will be downloaded from {{host}} and kept on this device, so it is downloaded only once.",
133
+ consentMessageUnknownSize: "{{fileName}} will be downloaded from {{host}} and kept on this device, so it is downloaded only once.",
134
+ consentTitle: "Download {{fileName}}?",
135
+ download: "Download"
136
+ },
109
137
  releaseNotes: {
110
138
  title: "{{pluginName}} release notes"
111
139
  },
@@ -137,4 +165,4 @@ const en = {
137
165
  export {
138
166
  en
139
167
  };
140
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2kxOG4vbG9jYWxlcy9lbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBFbmdsaXNoIHRyYW5zbGF0aW9ucyBmb3IgdGhlIGBpMThuYCBtb2R1bGUuXG4gKi9cblxuLyoqXG4gKiBUaGUgRW5nbGlzaCB0cmFuc2xhdGlvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBlbiA9IHtcbiAgb2JzaWRpYW5MaWI6IHtcbiAgICBhc3luY1dpdGhOb3RpY2U6IHtcbiAgICAgIG1pbGxpc2Vjb25kczogJ21pbGxpc2Vjb25kcy4uLicsXG4gICAgICBvcGVyYXRpb246ICdPcGVyYXRpb24nLFxuICAgICAgcnVubmluZ0ZvcjogJ1J1bm5pbmcgZm9yJyxcbiAgICAgIHRlcm1pbmF0ZU9wZXJhdGlvbjogJ1lvdSBjYW4gdGVybWluYXRlIHRoZSBvcGVyYXRpb24gYnkgY2xpY2tpbmcgdGhlIGJ1dHRvbiBiZWxvdywgYnV0IGJlIGF3YXJlIGl0IG1pZ2h0IGxlYXZlIHRoZSB2YXVsdCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuJyxcbiAgICAgIHRpbWVkT3V0OiAnVGhlIG9wZXJhdGlvbiB0aW1lZCBvdXQgYWZ0ZXIge3tkdXJhdGlvbiwgbnVtYmVyfX0gbWlsbGlzZWNvbmRzLidcbiAgICB9LFxuICAgIGJ1bGtPcGVyYXRpb246IHtcbiAgICAgIG5vT3BlcmF0aW9uczogJ05vIGJ1bGsgb3BlcmF0aW9uIG9mIHRoaXMgcGx1Z2luIHdhcyBmb3VuZCBpbiB0aGUgdmF1bHQgcmVwb3NpdG9yeS4nLFxuICAgICAgbm90QWN0aXZlOiAnQnVsayBvcGVyYXRpb24gY29tbWl0cyBhcmUgb2ZmLCBvciB0aGUgdmF1bHQgaXMgbm90IGluIGEgZ2l0IHJlcG9zaXRvcnkuJyxcbiAgICAgIHJlY292ZXJlZEludGVycnVwdGVkOiAnQSBidWxrIG9wZXJhdGlvbiB3YXMgaW50ZXJydXB0ZWQuIEl0cyBjaGFuZ2VzIHdlcmUgY29tbWl0dGVkIGFzIHt7b3BlcmF0aW9uSWR9fSBpbnRlcnJ1cHRlZC4nLFxuICAgICAgcmVzdW1lZEFmdGVyUmVjb3Zlcnk6ICdUaGUgbG9jayBvZiB7e3JlY292ZXJlZE9wZXJhdGlvbklkfX0gd2VudCBzdGFsZSB3aGlsZSBpdCByYW4sIHNvIGl0cyBjaGFuZ2VzIHNvIGZhciB3ZXJlIGNvbW1pdHRlZCBhcyB7e3JlY292ZXJlZE9wZXJhdGlvbklkfX0gaW50ZXJydXB0ZWQsIGFuZCB0aGUgcmVzdCBhcyB7e29wZXJhdGlvbklkfX0uIFVuZG9pbmcgdGhlIHdob2xlIG9wZXJhdGlvbiB0YWtlcyByZXZlcnRpbmcgYm90aC4nLFxuICAgICAgcmV2ZXJ0Q29uZmxpY3Q6ICdSZXZlcnRpbmcge3tvcGVyYXRpb25JZH19IHN0b3BwZWQgb24gYSBjb25mbGljdC4gVGhlIHZhdWx0IHJlcG9zaXRvcnkgaXMgbGVmdCBtaWQtcmV2ZXJ0OiByZXNvbHZlIHRoZSBjb25mbGljdHMsIHRoZW4gcnVuIGdpdCByZXZlcnQgLS1jb250aW51ZSwgb3IgZ2l0IHJldmVydCAtLWFib3J0IHRvIGdpdmUgdXAuJyxcbiAgICAgIHJldmVydGVkOiAnUmV2ZXJ0ZWQge3tvcGVyYXRpb25JZH19LicsXG4gICAgICByZXZlcnRGYWlsZWQ6ICdGYWlsZWQgdG8gcmV2ZXJ0IHt7b3BlcmF0aW9uSWR9fToge3tlcnJvcn19JyxcbiAgICAgIHNlbGVjdE9wZXJhdGlvbjogJ1NlbGVjdCBhIGJ1bGsgb3BlcmF0aW9uIHRvIHVuZG8nXG4gICAgfSxcbiAgICBidXR0b25zOiB7XG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgb2s6ICdPSydcbiAgICB9LFxuICAgIGNhbGxvdXQ6IHtcbiAgICAgIGxvYWRDb250ZW50OiAnTG9hZCBjb250ZW50IGZvciBjYWxsb3V0J1xuICAgIH0sXG4gICAgY29kZUJsb2NrQnVpbGRlcjoge1xuICAgICAgY29waWVkOiAnQ29kZSBibG9jayBjb3BpZWQgdG8gdGhlIGNsaXBib2FyZC4nLFxuICAgICAgY29weTogJ0NvcHkgdGhlIGNvZGUgYmxvY2snLFxuICAgICAgY29weUZhaWxlZDogJ0ZhaWxlZCB0byBjb3B5IHRoZSBjb2RlIGJsb2NrIHRvIHRoZSBjbGlwYm9hcmQuJyxcbiAgICAgIGluc2VydDogJ0luc2VydCBpbnRvIHRoZSBub3RlJyxcbiAgICAgIGluc2VydFVuYXZhaWxhYmxlOiAnT3BlbiBhIG5vdGUgaW4gYW4gZWRpdG9yIHRvIGluc2VydCB0aGUgY29kZSBibG9jay4nLFxuICAgICAgaW52YWxpZFZhbHVlOiAnVGhlIHZhbHVlIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLicsXG4gICAgICBvdXRwdXQ6ICdPdXRwdXQnLFxuICAgICAgcmVzZXQ6ICdSZXNldCB0byB7e3ZhbHVlfX0nLFxuICAgICAgcm9vdEZvbGRlcjogJyh2YXVsdCByb290KScsXG4gICAgICB0aXRsZTogJ0NvZGUgYmxvY2sgYnVpbGRlcidcbiAgICB9LFxuICAgIGRhdGF2aWV3OiB7XG4gICAgICBpdGVtc1BlclBhZ2U6ICdJdGVtcyBwZXIgcGFnZTonLFxuICAgICAganVtcFRvUGFnZTogJ0p1bXAgdG8gcGFnZTonLFxuICAgICAgcGFnZUhlYWRlcjogJ1BhZ2Uge3twYWdlTnVtYmVyLCBudW1iZXJ9fSBvZiB7e3RvdGFsUGFnZXMsIG51bWJlcn19LCBUb3RhbCBpdGVtczoge3t0b3RhbEl0ZW1zLCBudW1iZXJ9fSdcbiAgICB9LFxuICAgIGhvdGtleToge1xuICAgICAgY2xlYXI6ICdDbGVhciBob3RrZXknLFxuICAgICAgbm90U2V0OiAnTm90IHNldCcsXG4gICAgICBwcmVzc0hvdGtleTogJ1ByZXNzIGEgaG90a2V5Li4uJ1xuICAgIH0sXG4gICAgbGlzdDoge1xuICAgICAgYWRkOiAnQWRkJyxcbiAgICAgIGVtcHR5OiAnTm8gaXRlbXMnLFxuICAgICAgbW92ZURvd246ICdNb3ZlIGRvd24nLFxuICAgICAgbW92ZVVwOiAnTW92ZSB1cCcsXG4gICAgICByZW1vdmU6ICdSZW1vdmUnXG4gICAgfSxcbiAgICBtZW51OiB7XG4gICAgICBjb3B5OiAnQ29weSdcbiAgICB9LFxuICAgIG1ldGFkYXRhQ2FjaGU6IHtcbiAgICAgIGdldEJhY2tsaW5rc0ZvckZpbGVQYXRoOiAnR2V0IGJhY2tsaW5rcyBmb3Ige3tmaWxlUGF0aH19J1xuICAgIH0sXG4gICAgbm90aWNlczoge1xuICAgICAgYXR0YWNobWVudElzU3RpbGxVc2VkOiAnQXR0YWNobWVudCB7e2F0dGFjaG1lbnRQYXRofX0gaXMgc3RpbGwgdXNlZCBieSBvdGhlciBub3Rlcy4gSXQgd2lsbCBub3QgYmUgZGVsZXRlZC4nLFxuICAgICAgYXR0YWNobWVudFJlc2N1ZWQ6ICdBdHRhY2htZW50IHt7YXR0YWNobWVudFBhdGh9fSBpcyBzdGlsbCB1c2VkIGJ5IG90aGVyIG5vdGVzLiBJdCB3YXMgbW92ZWQgdG8ge3tuZXdBdHRhY2htZW50UGF0aH19LicsXG4gICAgICBjbG9zZUFyaWFMYWJlbDogJ0Nsb3NlJyxcbiAgICAgIGZhaWxlZFRvT3BlblVybDogJ0ZhaWxlZCB0byBvcGVuIHt7dXJsfX0nLFxuICAgICAgdW5oYW5kbGVkRXJyb3I6ICdBbiB1bmhhbmRsZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSBjaGVjayB0aGUgY29uc29sZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nXG4gICAgfSxcbiAgICBwYXRoU2V0dGluZ3M6IHtcbiAgICAgIGludmFsaWRHbG9iOiAnSW52YWxpZCBnbG9iIHBhdHRlcm46IHt7Z2xvYn19ICh7e3JlYXNvbn19KScsXG4gICAgICBpbnZhbGlkUmVndWxhckV4cHJlc3Npb246ICdJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjoge3tyZWdFeHB9fSAoe3tyZWFzb259fSknLFxuICAgICAgdHJhaWxpbmdFc2NhcGU6ICdpdCBlbmRzIHdpdGggYW4gdW5lc2NhcGVkIFxcXFwnLFxuICAgICAgdW5jbG9zZWRDaGFyYWN0ZXJDbGFzczogJ2EgWyBjaGFyYWN0ZXIgY2xhc3MgaXMgbmV2ZXIgY2xvc2VkIHdpdGggXSdcbiAgICB9LFxuICAgIHBsdWdpbkNvbmZsaWN0OiB7XG4gICAgICBibG9ja2VkTm90aWNlOiAne3twbHVnaW5OYW1lfX0gZG9lcyBub3RoaW5nIHdoaWxlIHt7Y29uZmxpY3RpbmdQbHVnaW5OYW1lfX0gaXMgZW5hYmxlZC4gVXBkYXRlIG9yIGRpc2FibGUgaXQgdG8gY29udGludWUuJyxcbiAgICAgIGNvbmZsaWN0QXBwZWFyZWROb3RpY2U6ICd7e2NvbmZsaWN0aW5nUGx1Z2luTmFtZX19IGlzIG5vdyBlbmFibGVkLCBzbyB7e3BsdWdpbk5hbWV9fSBoYXMgc3RvcHBlZCB3b3JraW5nLiBVcGRhdGUgb3IgZGlzYWJsZSBpdCB0byByZXN1bWUuJyxcbiAgICAgIGRpc2FibGU6ICdEaXNhYmxlIHt7Y29uZmxpY3RpbmdQbHVnaW5OYW1lfX0nLFxuICAgICAgc2V0dGluZ3NIZWFkaW5nOiAnQ29uZmxpY3RpbmcgcGx1Z2luJyxcbiAgICAgIHdhcm5pbmdOb3RpY2U6ICd7e3BsdWdpbk5hbWV9fSBhbmQge3tjb25mbGljdGluZ1BsdWdpbk5hbWV9fSBvdmVybGFwLCBhbmQgYm90aCBhcmUgcnVubmluZy4nXG4gICAgfSxcbiAgICBwbHVnaW5EZXBlbmRlbmN5OiB7XG4gICAgICBhbHJlYWR5VXBUb0RhdGU6ICd7e2RlcGVuZGVuY3lQbHVnaW5OYW1lfX0gaXMgYWxyZWFkeSBhdCBpdHMgbGF0ZXN0IHJlbGVhc2UuIHt7cGx1Z2luTmFtZX19IG5lZWRzIGEgdmVyc2lvbiB0aGF0IGhhcyBub3QgYmVlbiByZWxlYXNlZCB5ZXQuJyxcbiAgICAgIGJsb2NrZWROb3RpY2U6ICd7e3BsdWdpbk5hbWV9fSBkb2VzIG5vdGhpbmcgdW50aWwge3tkZXBlbmRlbmN5UGx1Z2luTmFtZX19IGlzIGluc3RhbGxlZCBhbmQgZW5hYmxlZC4nLFxuICAgICAgZGVwZW5kZW5jeUxvc3ROb3RpY2U6ICd7e2RlcGVuZGVuY3lQbHVnaW5OYW1lfX0gaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSwgc28ge3twbHVnaW5OYW1lfX0gaGFzIHN0b3BwZWQgd29ya2luZy4gQnJpbmcgaXQgYmFjayB0byByZXN1bWUuJyxcbiAgICAgIG5vUmVhZGFibGVBcGlOb3RpY2U6ICd7e2RlcGVuZGVuY3lQbHVnaW5OYW1lfX0gaXMgZW5hYmxlZCBidXQgcHVibGlzaGVzIG5vIEFQSSB7e3BsdWdpbk5hbWV9fSBjYW4gcmVhZCwgc28ge3twbHVnaW5OYW1lfX0gZG9lcyBub3RoaW5nLiBVcGRhdGUge3tkZXBlbmRlbmN5UGx1Z2luTmFtZX19IHRvIHJlc3VtZS4nLFxuICAgICAgb3BlbkRlcGVuZGVuY3lTZXR0aW5nczogJ09wZW4ge3tkZXBlbmRlbmN5UGx1Z2luTmFtZX19IHNldHRpbmdzJyxcbiAgICAgIHNldHRpbmdzSGVhZGluZzogJ1JlcXVpcmVkIHBsdWdpbiBtaXNzaW5nJyxcbiAgICAgIHVwZGF0ZTogJ1VwZGF0ZSB7e2RlcGVuZGVuY3lQbHVnaW5OYW1lfX0nLFxuICAgICAgdXBkYXRlZDogJ3t7ZGVwZW5kZW5jeVBsdWdpbk5hbWV9fSBpcyB1cGRhdGVkLicsXG4gICAgICB1cGRhdGVGYWlsZWQ6ICdGYWlsZWQgdG8gdXBkYXRlIHt7ZGVwZW5kZW5jeVBsdWdpbk5hbWV9fS4gQ2hlY2sgdGhlIGNvbnNvbGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyxcbiAgICAgIHZlcnNpb25NaXNtYXRjaE5vdGljZTogJ3t7cGx1Z2luTmFtZX19IG5lZWRzIGEgbmV3ZXIgdmVyc2lvbiBvZiB7e2RlcGVuZGVuY3lQbHVnaW5OYW1lfX0uIFVwZGF0ZSBpdCB0byByZXN1bWUuJ1xuICAgIH0sXG4gICAgcGx1Z2luU3VnZ2VzdGlvbjoge1xuICAgICAgZW5hYmxlOiAnRW5hYmxlJyxcbiAgICAgIGluc3RhbGw6ICdJbnN0YWxsIGFuZCBlbmFibGUnLFxuICAgICAgaW5zdGFsbGVkOiAne3twbHVnaW5OYW1lfX0gaXMgaW5zdGFsbGVkIGFuZCBlbmFibGVkLicsXG4gICAgICBpbnN0YWxsRmFpbGVkOiAnRmFpbGVkIHRvIGluc3RhbGwge3twbHVnaW5OYW1lfX0uIENoZWNrIHRoZSBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLicsXG4gICAgICBub3ROb3c6ICdOb3Qgbm93J1xuICAgIH0sXG4gICAgcXVldWU6IHtcbiAgICAgIGZsdXNoUXVldWU6ICdGbHVzaCBxdWV1ZSdcbiAgICB9LFxuICAgIHJlbGVhc2VOb3Rlczoge1xuICAgICAgdGl0bGU6ICd7e3BsdWdpbk5hbWV9fSByZWxlYXNlIG5vdGVzJ1xuICAgIH0sXG4gICAgcmVuYW1lRGVsZXRlSGFuZGxlcjoge1xuICAgICAgaGFuZGxlRGVsZXRlOiAnSGFuZGxlIGRlbGV0ZToge3tmaWxlUGF0aH19JyxcbiAgICAgIGhhbmRsZU9ycGhhbmVkUmVuYW1lczogJ0hhbmRsZSBvcnBoYW5lZCByZW5hbWVzJyxcbiAgICAgIGhhbmRsZVJlbmFtZTogJ0hhbmRsZSByZW5hbWU6IHt7b2xkUGF0aH19IC0+IHt7bmV3UGF0aH19JyxcbiAgICAgIHVwZGF0ZWRMaW5rczogJ1VwZGF0ZWQge3tsaW5rc0NvdW50LCBudW1iZXJ9fSBsaW5rcyBpbiB7e2ZpbGVzQ291bnQsIG51bWJlcn19IGZpbGVzLidcbiAgICB9LFxuICAgIHJlc291cmNlTG9jazoge1xuICAgICAgbG9ja2VkQnlUb29sdGlwOiAnTG9ja2VkIGJ5JyxcbiAgICAgIGxvY2tlZE5vdGVUb29sdGlwOiAnVGhpcyBub3RlIGlzIGxvY2tlZCB3aGlsZSBhbiBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuJyxcbiAgICAgIHVubG9ja0NvbmZpcm1NZXNzYWdlOiAnVGhpcyB3aWxsIGNhbmNlbCB0aGUgb3BlcmF0aW9uKHMpIGN1cnJlbnRseSBob2xkaW5nIGEgbG9jayBvbiB0aGlzIG5vdGUgYW5kIG1heSBsZWF2ZSB0aGUgdmF1bHQgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBUaGUgbm90ZSBpcyBsb2NrZWQgYnk6JyxcbiAgICAgIHVubG9ja0NvbmZpcm1UaXRsZTogJ1VubG9jayBub3RlPycsXG4gICAgICB1bmxvY2tNZW51SXRlbTogJ1VubG9jaydcbiAgICB9LFxuICAgIHZhbGlkYXRpb246IHtcbiAgICAgIGNvbnRyb2xDaGFyYWN0ZXI6ICd7e25hbWV9fSBjb250YWlucyBhIGNvbnRyb2wgY2hhcmFjdGVyLicsXG4gICAgICBlbXB0eU5hbWU6ICdUaGUgbmFtZSBpcyBlbXB0eS4nLFxuICAgICAgdHJhaWxpbmdDaGFyYWN0ZXJzOiAne3tuYW1lfX0gZW5kcyB3aXRoIGEgZG90IG9yIGEgc3BhY2UsIHdoaWNoIFdpbmRvd3MgcmVtb3Zlcy4nLFxuICAgICAgdW5zYWZlQ2hhcmFjdGVyczogJ3t7bmFtZX19IGNvbnRhaW5zIGNoYXJhY3RlcnMgdGhhdCBhcmUgbm90IGFsbG93ZWQ6IHt7Y2hhcmFjdGVyc319JyxcbiAgICAgIHdpbmRvd3NSZXNlcnZlZE5hbWU6ICd7e25hbWV9fSBpcyBhIGRldmljZSBuYW1lIFdpbmRvd3MgcmVzZXJ2ZXMsIHNvIHRoZSBmaWxlIGNhbm5vdCBleGlzdCBvbiBXaW5kb3dzLidcbiAgICB9LFxuICAgIHZhdWx0OiB7XG4gICAgICBwcm9jZXNzRmlsZTogJ1Byb2Nlc3MgZmlsZSB7e2ZpbGVQYXRofX0nXG4gICAgfVxuICB9XG59IGFzIGNvbnN0O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFTTyxNQUFNLEtBQUs7QUFBQSxFQUNoQixhQUFhO0FBQUEsSUFDWCxpQkFBaUI7QUFBQSxNQUNmLGNBQWM7QUFBQSxNQUNkLFdBQVc7QUFBQSxNQUNYLFlBQVk7QUFBQSxNQUNaLG9CQUFvQjtBQUFBLE1BQ3BCLFVBQVU7QUFBQSxJQUNaO0FBQUEsSUFDQSxlQUFlO0FBQUEsTUFDYixjQUFjO0FBQUEsTUFDZCxXQUFXO0FBQUEsTUFDWCxzQkFBc0I7QUFBQSxNQUN0QixzQkFBc0I7QUFBQSxNQUN0QixnQkFBZ0I7QUFBQSxNQUNoQixVQUFVO0FBQUEsTUFDVixjQUFjO0FBQUEsTUFDZCxpQkFBaUI7QUFBQSxJQUNuQjtBQUFBLElBQ0EsU0FBUztBQUFBLE1BQ1AsUUFBUTtBQUFBLE1BQ1IsSUFBSTtBQUFBLElBQ047QUFBQSxJQUNBLFNBQVM7QUFBQSxNQUNQLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxrQkFBa0I7QUFBQSxNQUNoQixRQUFRO0FBQUEsTUFDUixNQUFNO0FBQUEsTUFDTixZQUFZO0FBQUEsTUFDWixRQUFRO0FBQUEsTUFDUixtQkFBbUI7QUFBQSxNQUNuQixjQUFjO0FBQUEsTUFDZCxRQUFRO0FBQUEsTUFDUixPQUFPO0FBQUEsTUFDUCxZQUFZO0FBQUEsTUFDWixPQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsY0FBYztBQUFBLE1BQ2QsWUFBWTtBQUFBLE1BQ1osWUFBWTtBQUFBLElBQ2Q7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOLE9BQU87QUFBQSxNQUNQLFFBQVE7QUFBQSxNQUNSLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxNQUFNO0FBQUEsTUFDSixLQUFLO0FBQUEsTUFDTCxPQUFPO0FBQUEsTUFDUCxVQUFVO0FBQUEsTUFDVixRQUFRO0FBQUEsTUFDUixRQUFRO0FBQUEsSUFDVjtBQUFBLElBQ0EsTUFBTTtBQUFBLE1BQ0osTUFBTTtBQUFBLElBQ1I7QUFBQSxJQUNBLGVBQWU7QUFBQSxNQUNiLHlCQUF5QjtBQUFBLElBQzNCO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCx1QkFBdUI7QUFBQSxNQUN2QixtQkFBbUI7QUFBQSxNQUNuQixnQkFBZ0I7QUFBQSxNQUNoQixpQkFBaUI7QUFBQSxNQUNqQixnQkFBZ0I7QUFBQSxJQUNsQjtBQUFBLElBQ0EsY0FBYztBQUFBLE1BQ1osYUFBYTtBQUFBLE1BQ2IsMEJBQTBCO0FBQUEsTUFDMUIsZ0JBQWdCO0FBQUEsTUFDaEIsd0JBQXdCO0FBQUEsSUFDMUI7QUFBQSxJQUNBLGdCQUFnQjtBQUFBLE1BQ2QsZUFBZTtBQUFBLE1BQ2Ysd0JBQXdCO0FBQUEsTUFDeEIsU0FBUztBQUFBLE1BQ1QsaUJBQWlCO0FBQUEsTUFDakIsZUFBZTtBQUFBLElBQ2pCO0FBQUEsSUFDQSxrQkFBa0I7QUFBQSxNQUNoQixpQkFBaUI7QUFBQSxNQUNqQixlQUFlO0FBQUEsTUFDZixzQkFBc0I7QUFBQSxNQUN0QixxQkFBcUI7QUFBQSxNQUNyQix3QkFBd0I7QUFBQSxNQUN4QixpQkFBaUI7QUFBQSxNQUNqQixRQUFRO0FBQUEsTUFDUixTQUFTO0FBQUEsTUFDVCxjQUFjO0FBQUEsTUFDZCx1QkFBdUI7QUFBQSxJQUN6QjtBQUFBLElBQ0Esa0JBQWtCO0FBQUEsTUFDaEIsUUFBUTtBQUFBLE1BQ1IsU0FBUztBQUFBLE1BQ1QsV0FBVztBQUFBLE1BQ1gsZUFBZTtBQUFBLE1BQ2YsUUFBUTtBQUFBLElBQ1Y7QUFBQSxJQUNBLE9BQU87QUFBQSxNQUNMLFlBQVk7QUFBQSxJQUNkO0FBQUEsSUFDQSxjQUFjO0FBQUEsTUFDWixPQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EscUJBQXFCO0FBQUEsTUFDbkIsY0FBYztBQUFBLE1BQ2QsdUJBQXVCO0FBQUEsTUFDdkIsY0FBYztBQUFBLE1BQ2QsY0FBYztBQUFBLElBQ2hCO0FBQUEsSUFDQSxjQUFjO0FBQUEsTUFDWixpQkFBaUI7QUFBQSxNQUNqQixtQkFBbUI7QUFBQSxNQUNuQixzQkFBc0I7QUFBQSxNQUN0QixvQkFBb0I7QUFBQSxNQUNwQixnQkFBZ0I7QUFBQSxJQUNsQjtBQUFBLElBQ0EsWUFBWTtBQUFBLE1BQ1Ysa0JBQWtCO0FBQUEsTUFDbEIsV0FBVztBQUFBLE1BQ1gsb0JBQW9CO0FBQUEsTUFDcEIsa0JBQWtCO0FBQUEsTUFDbEIscUJBQXFCO0FBQUEsSUFDdkI7QUFBQSxJQUNBLE9BQU87QUFBQSxNQUNMLGFBQWE7QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
168
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2kxOG4vbG9jYWxlcy9lbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBFbmdsaXNoIHRyYW5zbGF0aW9ucyBmb3IgdGhlIGBpMThuYCBtb2R1bGUuXG4gKi9cblxuLyoqXG4gKiBUaGUgRW5nbGlzaCB0cmFuc2xhdGlvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBlbiA9IHtcbiAgb2JzaWRpYW5MaWI6IHtcbiAgICBhc3luY1dpdGhOb3RpY2U6IHtcbiAgICAgIG1pbGxpc2Vjb25kczogJ21pbGxpc2Vjb25kcy4uLicsXG4gICAgICBvcGVyYXRpb246ICdPcGVyYXRpb24nLFxuICAgICAgcnVubmluZ0ZvcjogJ1J1bm5pbmcgZm9yJyxcbiAgICAgIHRlcm1pbmF0ZU9wZXJhdGlvbjogJ1lvdSBjYW4gdGVybWluYXRlIHRoZSBvcGVyYXRpb24gYnkgY2xpY2tpbmcgdGhlIGJ1dHRvbiBiZWxvdywgYnV0IGJlIGF3YXJlIGl0IG1pZ2h0IGxlYXZlIHRoZSB2YXVsdCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuJyxcbiAgICAgIHRpbWVkT3V0OiAnVGhlIG9wZXJhdGlvbiB0aW1lZCBvdXQgYWZ0ZXIge3tkdXJhdGlvbiwgbnVtYmVyfX0gbWlsbGlzZWNvbmRzLidcbiAgICB9LFxuICAgIGJ1Z1JlcG9ydDoge1xuICAgICAgY2xpcGJvYXJkQ29waWVkOiAnVGhlIGJ1ZyByZXBvcnQgaXMgdG9vIGxvbmcgZm9yIGEgbGluaywgc28gaXQgd2FzIGNvcGllZCB0byB5b3VyIGNsaXBib2FyZC4gUGFzdGUgaXQgaW50byB0aGUgRW52aXJvbm1lbnQgZmllbGQgb2YgdGhlIGZvcm0gdGhhdCBvcGVucy4nLFxuICAgICAgY29udGludWU6ICdDb250aW51ZScsXG4gICAgICBjb3B5TWFudWFsbHlNZXNzYWdlOiAnVGhlIGJ1ZyByZXBvcnQgaXMgdG9vIGxvbmcgZm9yIGEgbGluaywgYW5kIGl0IGNvdWxkIG5vdCBiZSBjb3BpZWQgdG8geW91ciBjbGlwYm9hcmQuIENvcHkgdGhlIHRleHQgYmVsb3csIHRoZW4gcGFzdGUgaXQgaW50byB0aGUgRW52aXJvbm1lbnQgZmllbGQgb2YgdGhlIGZvcm0gdGhhdCBvcGVucy4nLFxuICAgICAgY29weU1hbnVhbGx5VGl0bGU6ICdDb3B5IHRoZSBidWcgcmVwb3J0JyxcbiAgICAgIG9wZW5Jc3N1ZUZvcm06ICdPcGVuIHRoZSBpc3N1ZSBmb3JtJyxcbiAgICAgIHBvdGVudGlhbGx5UHJpdmF0ZTogJ0NhbiBjb250YWluIHByaXZhdGUgZGF0YSwgc3VjaCBhcyBmaWxlIG5hbWVzLCBub3RlcyBvciBzZWNyZXRzLiBMZWZ0IG91dCB1bmxlc3MgeW91IHN3aXRjaCBpdCBvbi4nLFxuICAgICAgcHJldmlld0hlYWRpbmc6ICdUaGlzIGV4YWN0IHRleHQgd2lsbCBiZSBwdXQgaW50byB0aGUgaXNzdWUgZm9ybS4gTm90aGluZyBpcyBzZW50IHVudGlsIHlvdSBzdWJtaXQgdGhlIGZvcm0gb24gR2l0SHViLicsXG4gICAgICByZXZpZXdNZXNzYWdlOiAnQ2hvb3NlIHdoaWNoIGRpYWdub3N0aWNzIHRvIGluY2x1ZGUgaW4gdGhlIGJ1ZyByZXBvcnQuIExvZ3MgYW5kIHNldHRpbmdzIGNhbiBjb250YWluIHByaXZhdGUgZGF0YSwgc3VjaCBhcyBmaWxlIG5hbWVzLCBub3RlIGNvbnRlbnQsIHRva2VucyBvciBwYXNzd29yZHM6IGNoZWNrIHRoZSBwcmV2aWV3IGJlZm9yZSB5b3UgY29udGludWUuJyxcbiAgICAgIHJldmlld1RpdGxlOiAnUmV2aWV3IHRoZSBidWcgcmVwb3J0J1xuICAgIH0sXG4gICAgYnVsa09wZXJhdGlvbjoge1xuICAgICAgbm9PcGVyYXRpb25zOiAnTm8gYnVsayBvcGVyYXRpb24gb2YgdGhpcyBwbHVnaW4gd2FzIGZvdW5kIGluIHRoZSB2YXVsdCByZXBvc2l0b3J5LicsXG4gICAgICBub3RBY3RpdmU6ICdCdWxrIG9wZXJhdGlvbiBjb21taXRzIGFyZSBvZmYsIG9yIHRoZSB2YXVsdCBpcyBub3QgaW4gYSBnaXQgcmVwb3NpdG9yeS4nLFxuICAgICAgcmVjb3ZlcmVkSW50ZXJydXB0ZWQ6ICdBIGJ1bGsgb3BlcmF0aW9uIHdhcyBpbnRlcnJ1cHRlZC4gSXRzIGNoYW5nZXMgd2VyZSBjb21taXR0ZWQgYXMge3tvcGVyYXRpb25JZH19IGludGVycnVwdGVkLicsXG4gICAgICByZXN1bWVkQWZ0ZXJSZWNvdmVyeTogJ1RoZSBsb2NrIG9mIHt7cmVjb3ZlcmVkT3BlcmF0aW9uSWR9fSB3ZW50IHN0YWxlIHdoaWxlIGl0IHJhbiwgc28gaXRzIGNoYW5nZXMgc28gZmFyIHdlcmUgY29tbWl0dGVkIGFzIHt7cmVjb3ZlcmVkT3BlcmF0aW9uSWR9fSBpbnRlcnJ1cHRlZCwgYW5kIHRoZSByZXN0IGFzIHt7b3BlcmF0aW9uSWR9fS4gVW5kb2luZyB0aGUgd2hvbGUgb3BlcmF0aW9uIHRha2VzIHJldmVydGluZyBib3RoLicsXG4gICAgICByZXZlcnRDb25mbGljdDogJ1JldmVydGluZyB7e29wZXJhdGlvbklkfX0gc3RvcHBlZCBvbiBhIGNvbmZsaWN0LiBUaGUgdmF1bHQgcmVwb3NpdG9yeSBpcyBsZWZ0IG1pZC1yZXZlcnQ6IHJlc29sdmUgdGhlIGNvbmZsaWN0cywgdGhlbiBydW4gZ2l0IHJldmVydCAtLWNvbnRpbnVlLCBvciBnaXQgcmV2ZXJ0IC0tYWJvcnQgdG8gZ2l2ZSB1cC4nLFxuICAgICAgcmV2ZXJ0ZWQ6ICdSZXZlcnRlZCB7e29wZXJhdGlvbklkfX0uJyxcbiAgICAgIHJldmVydEZhaWxlZDogJ0ZhaWxlZCB0byByZXZlcnQge3tvcGVyYXRpb25JZH19OiB7e2Vycm9yfX0nLFxuICAgICAgc2VsZWN0T3BlcmF0aW9uOiAnU2VsZWN0IGEgYnVsayBvcGVyYXRpb24gdG8gdW5kbydcbiAgICB9LFxuICAgIGJ1dHRvbnM6IHtcbiAgICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgICBvazogJ09LJ1xuICAgIH0sXG4gICAgY2FsbG91dDoge1xuICAgICAgbG9hZENvbnRlbnQ6ICdMb2FkIGNvbnRlbnQgZm9yIGNhbGxvdXQnXG4gICAgfSxcbiAgICBjb2RlQmxvY2tCdWlsZGVyOiB7XG4gICAgICBjb3BpZWQ6ICdDb2RlIGJsb2NrIGNvcGllZCB0byB0aGUgY2xpcGJvYXJkLicsXG4gICAgICBjb3B5OiAnQ29weSB0aGUgY29kZSBibG9jaycsXG4gICAgICBjb3B5RmFpbGVkOiAnRmFpbGVkIHRvIGNvcHkgdGhlIGNvZGUgYmxvY2sgdG8gdGhlIGNsaXBib2FyZC4nLFxuICAgICAgaW5zZXJ0OiAnSW5zZXJ0IGludG8gdGhlIG5vdGUnLFxuICAgICAgaW5zZXJ0VW5hdmFpbGFibGU6ICdPcGVuIGEgbm90ZSBpbiBhbiBlZGl0b3IgdG8gaW5zZXJ0IHRoZSBjb2RlIGJsb2NrLicsXG4gICAgICBpbnZhbGlkVmFsdWU6ICdUaGUgdmFsdWUgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uJyxcbiAgICAgIG91dHB1dDogJ091dHB1dCcsXG4gICAgICByZXNldDogJ1Jlc2V0IHRvIHt7dmFsdWV9fScsXG4gICAgICByb290Rm9sZGVyOiAnKHZhdWx0IHJvb3QpJyxcbiAgICAgIHRpdGxlOiAnQ29kZSBibG9jayBidWlsZGVyJ1xuICAgIH0sXG4gICAgZGF0YXZpZXc6IHtcbiAgICAgIGl0ZW1zUGVyUGFnZTogJ0l0ZW1zIHBlciBwYWdlOicsXG4gICAgICBqdW1wVG9QYWdlOiAnSnVtcCB0byBwYWdlOicsXG4gICAgICBwYWdlSGVhZGVyOiAnUGFnZSB7e3BhZ2VOdW1iZXIsIG51bWJlcn19IG9mIHt7dG90YWxQYWdlcywgbnVtYmVyfX0sIFRvdGFsIGl0ZW1zOiB7e3RvdGFsSXRlbXMsIG51bWJlcn19J1xuICAgIH0sXG4gICAgaG90a2V5OiB7XG4gICAgICBjbGVhcjogJ0NsZWFyIGhvdGtleScsXG4gICAgICBub3RTZXQ6ICdOb3Qgc2V0JyxcbiAgICAgIHByZXNzSG90a2V5OiAnUHJlc3MgYSBob3RrZXkuLi4nXG4gICAgfSxcbiAgICBsaXN0OiB7XG4gICAgICBhZGQ6ICdBZGQnLFxuICAgICAgZW1wdHk6ICdObyBpdGVtcycsXG4gICAgICBtb3ZlRG93bjogJ01vdmUgZG93bicsXG4gICAgICBtb3ZlVXA6ICdNb3ZlIHVwJyxcbiAgICAgIHJlbW92ZTogJ1JlbW92ZSdcbiAgICB9LFxuICAgIG1lbnU6IHtcbiAgICAgIGNvcHk6ICdDb3B5J1xuICAgIH0sXG4gICAgbWV0YWRhdGFDYWNoZToge1xuICAgICAgZ2V0QmFja2xpbmtzRm9yRmlsZVBhdGg6ICdHZXQgYmFja2xpbmtzIGZvciB7e2ZpbGVQYXRofX0nXG4gICAgfSxcbiAgICBub3RpY2VzOiB7XG4gICAgICBhdHRhY2htZW50SXNTdGlsbFVzZWQ6ICdBdHRhY2htZW50IHt7YXR0YWNobWVudFBhdGh9fSBpcyBzdGlsbCB1c2VkIGJ5IG90aGVyIG5vdGVzLiBJdCB3aWxsIG5vdCBiZSBkZWxldGVkLicsXG4gICAgICBhdHRhY2htZW50UmVzY3VlZDogJ0F0dGFjaG1lbnQge3thdHRhY2htZW50UGF0aH19IGlzIHN0aWxsIHVzZWQgYnkgb3RoZXIgbm90ZXMuIEl0IHdhcyBtb3ZlZCB0byB7e25ld0F0dGFjaG1lbnRQYXRofX0uJyxcbiAgICAgIGNsb3NlQXJpYUxhYmVsOiAnQ2xvc2UnLFxuICAgICAgZmFpbGVkVG9PcGVuVXJsOiAnRmFpbGVkIHRvIG9wZW4ge3t1cmx9fScsXG4gICAgICB1bmhhbmRsZWRFcnJvcjogJ0FuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIGNoZWNrIHRoZSBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLidcbiAgICB9LFxuICAgIHBhdGhTZXR0aW5nczoge1xuICAgICAgaW52YWxpZEdsb2I6ICdJbnZhbGlkIGdsb2IgcGF0dGVybjoge3tnbG9ifX0gKHt7cmVhc29ufX0pJyxcbiAgICAgIGludmFsaWRSZWd1bGFyRXhwcmVzc2lvbjogJ0ludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiB7e3JlZ0V4cH19ICh7e3JlYXNvbn19KScsXG4gICAgICB0cmFpbGluZ0VzY2FwZTogJ2l0IGVuZHMgd2l0aCBhbiB1bmVzY2FwZWQgXFxcXCcsXG4gICAgICB1bmNsb3NlZENoYXJhY3RlckNsYXNzOiAnYSBbIGNoYXJhY3RlciBjbGFzcyBpcyBuZXZlciBjbG9zZWQgd2l0aCBdJ1xuICAgIH0sXG4gICAgcGx1Z2luQ29uZmxpY3Q6IHtcbiAgICAgIGJsb2NrZWROb3RpY2U6ICd7e3BsdWdpbk5hbWV9fSBkb2VzIG5vdGhpbmcgd2hpbGUge3tjb25mbGljdGluZ1BsdWdpbk5hbWV9fSBpcyBlbmFibGVkLiBVcGRhdGUgb3IgZGlzYWJsZSBpdCB0byBjb250aW51ZS4nLFxuICAgICAgY29uZmxpY3RBcHBlYXJlZE5vdGljZTogJ3t7Y29uZmxpY3RpbmdQbHVnaW5OYW1lfX0gaXMgbm93IGVuYWJsZWQsIHNvIHt7cGx1Z2luTmFtZX19IGhhcyBzdG9wcGVkIHdvcmtpbmcuIFVwZGF0ZSBvciBkaXNhYmxlIGl0IHRvIHJlc3VtZS4nLFxuICAgICAgZGlzYWJsZTogJ0Rpc2FibGUge3tjb25mbGljdGluZ1BsdWdpbk5hbWV9fScsXG4gICAgICBzZXR0aW5nc0hlYWRpbmc6ICdDb25mbGljdGluZyBwbHVnaW4nLFxuICAgICAgd2FybmluZ05vdGljZTogJ3t7cGx1Z2luTmFtZX19IGFuZCB7e2NvbmZsaWN0aW5nUGx1Z2luTmFtZX19IG92ZXJsYXAsIGFuZCBib3RoIGFyZSBydW5uaW5nLidcbiAgICB9LFxuICAgIHBsdWdpbkRlcGVuZGVuY3k6IHtcbiAgICAgIGFscmVhZHlVcFRvRGF0ZTogJ3t7ZGVwZW5kZW5jeVBsdWdpbk5hbWV9fSBpcyBhbHJlYWR5IGF0IGl0cyBsYXRlc3QgcmVsZWFzZS4ge3twbHVnaW5OYW1lfX0gbmVlZHMgYSB2ZXJzaW9uIHRoYXQgaGFzIG5vdCBiZWVuIHJlbGVhc2VkIHlldC4nLFxuICAgICAgYmxvY2tlZE5vdGljZTogJ3t7cGx1Z2luTmFtZX19IGRvZXMgbm90aGluZyB1bnRpbCB7e2RlcGVuZGVuY3lQbHVnaW5OYW1lfX0gaXMgaW5zdGFsbGVkIGFuZCBlbmFibGVkLicsXG4gICAgICBkZXBlbmRlbmN5TG9zdE5vdGljZTogJ3t7ZGVwZW5kZW5jeVBsdWdpbk5hbWV9fSBpcyBubyBsb25nZXIgYXZhaWxhYmxlLCBzbyB7e3BsdWdpbk5hbWV9fSBoYXMgc3RvcHBlZCB3b3JraW5nLiBCcmluZyBpdCBiYWNrIHRvIHJlc3VtZS4nLFxuICAgICAgbm9SZWFkYWJsZUFwaU5vdGljZTogJ3t7ZGVwZW5kZW5jeVBsdWdpbk5hbWV9fSBpcyBlbmFibGVkIGJ1dCBwdWJsaXNoZXMgbm8gQVBJIHt7cGx1Z2luTmFtZX19IGNhbiByZWFkLCBzbyB7e3BsdWdpbk5hbWV9fSBkb2VzIG5vdGhpbmcuIFVwZGF0ZSB7e2RlcGVuZGVuY3lQbHVnaW5OYW1lfX0gdG8gcmVzdW1lLicsXG4gICAgICBvcGVuRGVwZW5kZW5jeVNldHRpbmdzOiAnT3BlbiB7e2RlcGVuZGVuY3lQbHVnaW5OYW1lfX0gc2V0dGluZ3MnLFxuICAgICAgc2V0dGluZ3NIZWFkaW5nOiAnUmVxdWlyZWQgcGx1Z2luIG1pc3NpbmcnLFxuICAgICAgdXBkYXRlOiAnVXBkYXRlIHt7ZGVwZW5kZW5jeVBsdWdpbk5hbWV9fScsXG4gICAgICB1cGRhdGVkOiAne3tkZXBlbmRlbmN5UGx1Z2luTmFtZX19IGlzIHVwZGF0ZWQuJyxcbiAgICAgIHVwZGF0ZUZhaWxlZDogJ0ZhaWxlZCB0byB1cGRhdGUge3tkZXBlbmRlbmN5UGx1Z2luTmFtZX19LiBDaGVjayB0aGUgY29uc29sZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLFxuICAgICAgdmVyc2lvbk1pc21hdGNoTm90aWNlOiAne3twbHVnaW5OYW1lfX0gbmVlZHMgYSBuZXdlciB2ZXJzaW9uIG9mIHt7ZGVwZW5kZW5jeVBsdWdpbk5hbWV9fS4gVXBkYXRlIGl0IHRvIHJlc3VtZS4nXG4gICAgfSxcbiAgICBwbHVnaW5SZXF1aXJlbWVudDoge1xuICAgICAgZW5hYmxlOiAnRW5hYmxlIHt7cmVxdWlyZWRQbHVnaW5OYW1lfX0nLFxuICAgICAgZW5hYmxlRmFpbGVkOiAnRmFpbGVkIHRvIGVuYWJsZSB7e3JlcXVpcmVkUGx1Z2luTmFtZX19LiBDaGVjayB0aGUgY29uc29sZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLFxuICAgICAgaW52YWxpZFZlcnNpb25Ob3RpY2U6ICd7e3BsdWdpbk5hbWV9fSBuZWVkcyB7e3JlcXVpcmVkUGx1Z2luTmFtZX19IHt7bWluUGx1Z2luVmVyc2lvbn19IG9yIG5ld2VyLCBhbmQgdGhlIGluc3RhbGxlZCB2ZXJzaW9uIGNhbm5vdCBiZSByZWFkLiBVcGRhdGUge3tyZXF1aXJlZFBsdWdpbk5hbWV9fS4nLFxuICAgICAgbm90RW5hYmxlZE5vdGljZTogJ3t7cGx1Z2luTmFtZX19IG5lZWRzIHt7cmVxdWlyZWRQbHVnaW5OYW1lfX0sIHdoaWNoIGlzIGluc3RhbGxlZCBidXQgbm90IGVuYWJsZWQuJyxcbiAgICAgIG5vdEluc3RhbGxlZE5vdGljZTogJ3t7cGx1Z2luTmFtZX19IG5lZWRzIHt7cmVxdWlyZWRQbHVnaW5OYW1lfX0sIHdoaWNoIGlzIG5vdCBpbnN0YWxsZWQuJyxcbiAgICAgIG5vdExvYWRlZE5vdGljZTogJ3t7cGx1Z2luTmFtZX19IG5lZWRzIHt7cmVxdWlyZWRQbHVnaW5OYW1lfX0sIHdoaWNoIGlzIGVuYWJsZWQgYnV0IGRpZCBub3QgbG9hZC4gRW5hYmxlIGl0IGFnYWluLCBvciBjaGVjayB0aGUgY29uc29sZSBmb3IgaXRzIGVycm9yLicsXG4gICAgICBvcGVuQ29tbXVuaXR5UGx1Z2luczogJ09wZW4gY29tbXVuaXR5IHBsdWdpbnMnLFxuICAgICAgb3V0ZGF0ZWROb3RpY2U6ICd7e3BsdWdpbk5hbWV9fSBuZWVkcyB7e3JlcXVpcmVkUGx1Z2luTmFtZX19IHt7bWluUGx1Z2luVmVyc2lvbn19IG9yIG5ld2VyLiBVcGRhdGUge3tyZXF1aXJlZFBsdWdpbk5hbWV9fS4nLFxuICAgICAgc2hhcGVNaXNtYXRjaE5vdGljZTogJ3t7cmVxdWlyZWRQbHVnaW5OYW1lfX0gaXMgcnVubmluZywgYnV0IG5vdCBpbiBhIGZvcm0ge3twbHVnaW5OYW1lfX0gY2FuIHVzZS4gVXBkYXRlIHt7cmVxdWlyZWRQbHVnaW5OYW1lfX0uJ1xuICAgIH0sXG4gICAgcGx1Z2luU3VnZ2VzdGlvbjoge1xuICAgICAgZW5hYmxlOiAnRW5hYmxlJyxcbiAgICAgIGluc3RhbGw6ICdJbnN0YWxsIGFuZCBlbmFibGUnLFxuICAgICAgaW5zdGFsbGVkOiAne3twbHVnaW5OYW1lfX0gaXMgaW5zdGFsbGVkIGFuZCBlbmFibGVkLicsXG4gICAgICBpbnN0YWxsRmFpbGVkOiAnRmFpbGVkIHRvIGluc3RhbGwge3twbHVnaW5OYW1lfX0uIENoZWNrIHRoZSBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLicsXG4gICAgICBub3ROb3c6ICdOb3Qgbm93J1xuICAgIH0sXG4gICAgcXVldWU6IHtcbiAgICAgIGZsdXNoUXVldWU6ICdGbHVzaCBxdWV1ZSdcbiAgICB9LFxuICAgIHJlbGVhc2VBc3NldDoge1xuICAgICAgY29uc2VudE1lc3NhZ2U6ICd7e2ZpbGVOYW1lfX0gKHt7c2l6ZX19KSB3aWxsIGJlIGRvd25sb2FkZWQgZnJvbSB7e2hvc3R9fSBhbmQga2VwdCBvbiB0aGlzIGRldmljZSwgc28gaXQgaXMgZG93bmxvYWRlZCBvbmx5IG9uY2UuJyxcbiAgICAgIGNvbnNlbnRNZXNzYWdlVW5rbm93blNpemU6ICd7e2ZpbGVOYW1lfX0gd2lsbCBiZSBkb3dubG9hZGVkIGZyb20ge3tob3N0fX0gYW5kIGtlcHQgb24gdGhpcyBkZXZpY2UsIHNvIGl0IGlzIGRvd25sb2FkZWQgb25seSBvbmNlLicsXG4gICAgICBjb25zZW50VGl0bGU6ICdEb3dubG9hZCB7e2ZpbGVOYW1lfX0/JyxcbiAgICAgIGRvd25sb2FkOiAnRG93bmxvYWQnXG4gICAgfSxcbiAgICByZWxlYXNlTm90ZXM6IHtcbiAgICAgIHRpdGxlOiAne3twbHVnaW5OYW1lfX0gcmVsZWFzZSBub3RlcydcbiAgICB9LFxuICAgIHJlbmFtZURlbGV0ZUhhbmRsZXI6IHtcbiAgICAgIGhhbmRsZURlbGV0ZTogJ0hhbmRsZSBkZWxldGU6IHt7ZmlsZVBhdGh9fScsXG4gICAgICBoYW5kbGVPcnBoYW5lZFJlbmFtZXM6ICdIYW5kbGUgb3JwaGFuZWQgcmVuYW1lcycsXG4gICAgICBoYW5kbGVSZW5hbWU6ICdIYW5kbGUgcmVuYW1lOiB7e29sZFBhdGh9fSAtPiB7e25ld1BhdGh9fScsXG4gICAgICB1cGRhdGVkTGlua3M6ICdVcGRhdGVkIHt7bGlua3NDb3VudCwgbnVtYmVyfX0gbGlua3MgaW4ge3tmaWxlc0NvdW50LCBudW1iZXJ9fSBmaWxlcy4nXG4gICAgfSxcbiAgICByZXNvdXJjZUxvY2s6IHtcbiAgICAgIGxvY2tlZEJ5VG9vbHRpcDogJ0xvY2tlZCBieScsXG4gICAgICBsb2NrZWROb3RlVG9vbHRpcDogJ1RoaXMgbm90ZSBpcyBsb2NrZWQgd2hpbGUgYW4gb3BlcmF0aW9uIGlzIGluIHByb2dyZXNzLicsXG4gICAgICB1bmxvY2tDb25maXJtTWVzc2FnZTogJ1RoaXMgd2lsbCBjYW5jZWwgdGhlIG9wZXJhdGlvbihzKSBjdXJyZW50bHkgaG9sZGluZyBhIGxvY2sgb24gdGhpcyBub3RlIGFuZCBtYXkgbGVhdmUgdGhlIHZhdWx0IGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gVGhlIG5vdGUgaXMgbG9ja2VkIGJ5OicsXG4gICAgICB1bmxvY2tDb25maXJtVGl0bGU6ICdVbmxvY2sgbm90ZT8nLFxuICAgICAgdW5sb2NrTWVudUl0ZW06ICdVbmxvY2snXG4gICAgfSxcbiAgICB2YWxpZGF0aW9uOiB7XG4gICAgICBjb250cm9sQ2hhcmFjdGVyOiAne3tuYW1lfX0gY29udGFpbnMgYSBjb250cm9sIGNoYXJhY3Rlci4nLFxuICAgICAgZW1wdHlOYW1lOiAnVGhlIG5hbWUgaXMgZW1wdHkuJyxcbiAgICAgIHRyYWlsaW5nQ2hhcmFjdGVyczogJ3t7bmFtZX19IGVuZHMgd2l0aCBhIGRvdCBvciBhIHNwYWNlLCB3aGljaCBXaW5kb3dzIHJlbW92ZXMuJyxcbiAgICAgIHVuc2FmZUNoYXJhY3RlcnM6ICd7e25hbWV9fSBjb250YWlucyBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBhbGxvd2VkOiB7e2NoYXJhY3RlcnN9fScsXG4gICAgICB3aW5kb3dzUmVzZXJ2ZWROYW1lOiAne3tuYW1lfX0gaXMgYSBkZXZpY2UgbmFtZSBXaW5kb3dzIHJlc2VydmVzLCBzbyB0aGUgZmlsZSBjYW5ub3QgZXhpc3Qgb24gV2luZG93cy4nXG4gICAgfSxcbiAgICB2YXVsdDoge1xuICAgICAgcHJvY2Vzc0ZpbGU6ICdQcm9jZXNzIGZpbGUge3tmaWxlUGF0aH19J1xuICAgIH1cbiAgfVxufSBhcyBjb25zdDtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBU08sTUFBTSxLQUFLO0FBQUEsRUFDaEIsYUFBYTtBQUFBLElBQ1gsaUJBQWlCO0FBQUEsTUFDZixjQUFjO0FBQUEsTUFDZCxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsTUFDWixvQkFBb0I7QUFBQSxNQUNwQixVQUFVO0FBQUEsSUFDWjtBQUFBLElBQ0EsV0FBVztBQUFBLE1BQ1QsaUJBQWlCO0FBQUEsTUFDakIsVUFBVTtBQUFBLE1BQ1YscUJBQXFCO0FBQUEsTUFDckIsbUJBQW1CO0FBQUEsTUFDbkIsZUFBZTtBQUFBLE1BQ2Ysb0JBQW9CO0FBQUEsTUFDcEIsZ0JBQWdCO0FBQUEsTUFDaEIsZUFBZTtBQUFBLE1BQ2YsYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLGVBQWU7QUFBQSxNQUNiLGNBQWM7QUFBQSxNQUNkLFdBQVc7QUFBQSxNQUNYLHNCQUFzQjtBQUFBLE1BQ3RCLHNCQUFzQjtBQUFBLE1BQ3RCLGdCQUFnQjtBQUFBLE1BQ2hCLFVBQVU7QUFBQSxNQUNWLGNBQWM7QUFBQSxNQUNkLGlCQUFpQjtBQUFBLElBQ25CO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCxRQUFRO0FBQUEsTUFDUixJQUFJO0FBQUEsSUFDTjtBQUFBLElBQ0EsU0FBUztBQUFBLE1BQ1AsYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLGtCQUFrQjtBQUFBLE1BQ2hCLFFBQVE7QUFBQSxNQUNSLE1BQU07QUFBQSxNQUNOLFlBQVk7QUFBQSxNQUNaLFFBQVE7QUFBQSxNQUNSLG1CQUFtQjtBQUFBLE1BQ25CLGNBQWM7QUFBQSxNQUNkLFFBQVE7QUFBQSxNQUNSLE9BQU87QUFBQSxNQUNQLFlBQVk7QUFBQSxNQUNaLE9BQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixjQUFjO0FBQUEsTUFDZCxZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsSUFDZDtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sT0FBTztBQUFBLE1BQ1AsUUFBUTtBQUFBLE1BQ1IsYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLE1BQU07QUFBQSxNQUNKLEtBQUs7QUFBQSxNQUNMLE9BQU87QUFBQSxNQUNQLFVBQVU7QUFBQSxNQUNWLFFBQVE7QUFBQSxNQUNSLFFBQVE7QUFBQSxJQUNWO0FBQUEsSUFDQSxNQUFNO0FBQUEsTUFDSixNQUFNO0FBQUEsSUFDUjtBQUFBLElBQ0EsZUFBZTtBQUFBLE1BQ2IseUJBQXlCO0FBQUEsSUFDM0I7QUFBQSxJQUNBLFNBQVM7QUFBQSxNQUNQLHVCQUF1QjtBQUFBLE1BQ3ZCLG1CQUFtQjtBQUFBLE1BQ25CLGdCQUFnQjtBQUFBLE1BQ2hCLGlCQUFpQjtBQUFBLE1BQ2pCLGdCQUFnQjtBQUFBLElBQ2xCO0FBQUEsSUFDQSxjQUFjO0FBQUEsTUFDWixhQUFhO0FBQUEsTUFDYiwwQkFBMEI7QUFBQSxNQUMxQixnQkFBZ0I7QUFBQSxNQUNoQix3QkFBd0I7QUFBQSxJQUMxQjtBQUFBLElBQ0EsZ0JBQWdCO0FBQUEsTUFDZCxlQUFlO0FBQUEsTUFDZix3QkFBd0I7QUFBQSxNQUN4QixTQUFTO0FBQUEsTUFDVCxpQkFBaUI7QUFBQSxNQUNqQixlQUFlO0FBQUEsSUFDakI7QUFBQSxJQUNBLGtCQUFrQjtBQUFBLE1BQ2hCLGlCQUFpQjtBQUFBLE1BQ2pCLGVBQWU7QUFBQSxNQUNmLHNCQUFzQjtBQUFBLE1BQ3RCLHFCQUFxQjtBQUFBLE1BQ3JCLHdCQUF3QjtBQUFBLE1BQ3hCLGlCQUFpQjtBQUFBLE1BQ2pCLFFBQVE7QUFBQSxNQUNSLFNBQVM7QUFBQSxNQUNULGNBQWM7QUFBQSxNQUNkLHVCQUF1QjtBQUFBLElBQ3pCO0FBQUEsSUFDQSxtQkFBbUI7QUFBQSxNQUNqQixRQUFRO0FBQUEsTUFDUixjQUFjO0FBQUEsTUFDZCxzQkFBc0I7QUFBQSxNQUN0QixrQkFBa0I7QUFBQSxNQUNsQixvQkFBb0I7QUFBQSxNQUNwQixpQkFBaUI7QUFBQSxNQUNqQixzQkFBc0I7QUFBQSxNQUN0QixnQkFBZ0I7QUFBQSxNQUNoQixxQkFBcUI7QUFBQSxJQUN2QjtBQUFBLElBQ0Esa0JBQWtCO0FBQUEsTUFDaEIsUUFBUTtBQUFBLE1BQ1IsU0FBUztBQUFBLE1BQ1QsV0FBVztBQUFBLE1BQ1gsZUFBZTtBQUFBLE1BQ2YsUUFBUTtBQUFBLElBQ1Y7QUFBQSxJQUNBLE9BQU87QUFBQSxNQUNMLFlBQVk7QUFBQSxJQUNkO0FBQUEsSUFDQSxjQUFjO0FBQUEsTUFDWixnQkFBZ0I7QUFBQSxNQUNoQiwyQkFBMkI7QUFBQSxNQUMzQixjQUFjO0FBQUEsTUFDZCxVQUFVO0FBQUEsSUFDWjtBQUFBLElBQ0EsY0FBYztBQUFBLE1BQ1osT0FBTztBQUFBLElBQ1Q7QUFBQSxJQUNBLHFCQUFxQjtBQUFBLE1BQ25CLGNBQWM7QUFBQSxNQUNkLHVCQUF1QjtBQUFBLE1BQ3ZCLGNBQWM7QUFBQSxNQUNkLGNBQWM7QUFBQSxJQUNoQjtBQUFBLElBQ0EsY0FBYztBQUFBLE1BQ1osaUJBQWlCO0FBQUEsTUFDakIsbUJBQW1CO0FBQUEsTUFDbkIsc0JBQXNCO0FBQUEsTUFDdEIsb0JBQW9CO0FBQUEsTUFDcEIsZ0JBQWdCO0FBQUEsSUFDbEI7QUFBQSxJQUNBLFlBQVk7QUFBQSxNQUNWLGtCQUFrQjtBQUFBLE1BQ2xCLFdBQVc7QUFBQSxNQUNYLG9CQUFvQjtBQUFBLE1BQ3BCLGtCQUFrQjtBQUFBLE1BQ2xCLHFCQUFxQjtBQUFBLElBQ3ZCO0FBQUEsSUFDQSxPQUFPO0FBQUEsTUFDTCxhQUFhO0FBQUEsSUFDZjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -19,6 +19,17 @@ declare const translationsMapImpl: {
19
19
  readonly terminateOperation: "You can terminate the operation by clicking the button below, but be aware it might leave the vault in an inconsistent state.";
20
20
  readonly timedOut: "The operation timed out after {{duration, number}} milliseconds.";
21
21
  };
22
+ readonly bugReport: {
23
+ readonly clipboardCopied: "The bug report is too long for a link, so it was copied to your clipboard. Paste it into the Environment field of the form that opens.";
24
+ readonly continue: "Continue";
25
+ readonly copyManuallyMessage: "The bug report is too long for a link, and it could not be copied to your clipboard. Copy the text below, then paste it into the Environment field of the form that opens.";
26
+ readonly copyManuallyTitle: "Copy the bug report";
27
+ readonly openIssueForm: "Open the issue form";
28
+ readonly potentiallyPrivate: "Can contain private data, such as file names, notes or secrets. Left out unless you switch it on.";
29
+ readonly previewHeading: "This exact text will be put into the issue form. Nothing is sent until you submit the form on GitHub.";
30
+ readonly reviewMessage: "Choose which diagnostics to include in the bug report. Logs and settings can contain private data, such as file names, note content, tokens or passwords: check the preview before you continue.";
31
+ readonly reviewTitle: "Review the bug report";
32
+ };
22
33
  readonly bulkOperation: {
23
34
  readonly noOperations: "No bulk operation of this plugin was found in the vault repository.";
24
35
  readonly notActive: "Bulk operation commits are off, or the vault is not in a git repository.";
@@ -103,6 +114,17 @@ declare const translationsMapImpl: {
103
114
  readonly updateFailed: "Failed to update {{dependencyPluginName}}. Check the console for more information.";
104
115
  readonly versionMismatchNotice: "{{pluginName}} needs a newer version of {{dependencyPluginName}}. Update it to resume.";
105
116
  };
117
+ readonly pluginRequirement: {
118
+ readonly enable: "Enable {{requiredPluginName}}";
119
+ readonly enableFailed: "Failed to enable {{requiredPluginName}}. Check the console for more information.";
120
+ readonly invalidVersionNotice: "{{pluginName}} needs {{requiredPluginName}} {{minPluginVersion}} or newer, and the installed version cannot be read. Update {{requiredPluginName}}.";
121
+ readonly notEnabledNotice: "{{pluginName}} needs {{requiredPluginName}}, which is installed but not enabled.";
122
+ readonly notInstalledNotice: "{{pluginName}} needs {{requiredPluginName}}, which is not installed.";
123
+ readonly notLoadedNotice: "{{pluginName}} needs {{requiredPluginName}}, which is enabled but did not load. Enable it again, or check the console for its error.";
124
+ readonly openCommunityPlugins: "Open community plugins";
125
+ readonly outdatedNotice: "{{pluginName}} needs {{requiredPluginName}} {{minPluginVersion}} or newer. Update {{requiredPluginName}}.";
126
+ readonly shapeMismatchNotice: "{{requiredPluginName}} is running, but not in a form {{pluginName}} can use. Update {{requiredPluginName}}.";
127
+ };
106
128
  readonly pluginSuggestion: {
107
129
  readonly enable: "Enable";
108
130
  readonly install: "Install and enable";
@@ -113,6 +135,12 @@ declare const translationsMapImpl: {
113
135
  readonly queue: {
114
136
  readonly flushQueue: "Flush queue";
115
137
  };
138
+ readonly releaseAsset: {
139
+ readonly consentMessage: "{{fileName}} ({{size}}) will be downloaded from {{host}} and kept on this device, so it is downloaded only once.";
140
+ readonly consentMessageUnknownSize: "{{fileName}} will be downloaded from {{host}} and kept on this device, so it is downloaded only once.";
141
+ readonly consentTitle: "Download {{fileName}}?";
142
+ readonly download: "Download";
143
+ };
116
144
  readonly releaseNotes: {
117
145
  readonly title: "{{pluginName}} release notes";
118
146
  };
@@ -10,6 +10,7 @@ export * as 'backlink-index' from './backlink-index.mjs';
10
10
  export * as 'backlink' from './backlink.mjs';
11
11
  export * as 'bases-view-registrar' from './bases-view-registrar.mjs';
12
12
  export * as 'broken-link-candidates' from './broken-link-candidates.mjs';
13
+ export * as 'bug-report-diagnostics' from './bug-report-diagnostics.mjs';
13
14
  export * as 'bug-report' from './bug-report.mjs';
14
15
  export * as 'bulk-operation-progress' from './bulk-operation-progress.mjs';
15
16
  export * as 'bulk-operation' from './bulk-operation.mjs';
@@ -100,7 +101,9 @@ export * as 'position' from './position.mjs';
100
101
  export * as 'property-entry' from './property-entry.mjs';
101
102
  export * as 'queue' from './queue.mjs';
102
103
  export * as 'react' from './react/index.mjs';
104
+ export * as 'reference-definition' from './reference-definition.mjs';
103
105
  export * as 'reference' from './reference.mjs';
106
+ export * as 'release-asset' from './release-asset.mjs';
104
107
  export * as 'rendered-markdown' from './rendered-markdown.mjs';
105
108
  export * as 'request-url' from './request-url.mjs';
106
109
  export * as 'resource-lock' from './resource-lock.mjs';