@mnaoumov/obsidian-lib 6.1.0 → 6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -123,6 +123,7 @@ var import_abort_controller = require('@mnaoumov/typescript-lib/abort-controller
123
123
  var import_debug = require('@mnaoumov/typescript-lib/debug');
124
124
  var import_library = require('@mnaoumov/typescript-lib/library');
125
125
  var import_css_class = require('../css-class.cjs');
126
+ var import_debug2 = require('../debug.cjs');
126
127
  var import_generated_during_build = require('../generated-during-build.cjs');
127
128
  var import_library_styles = require('../library-styles.cjs');
128
129
  var import_library2 = require('../library.cjs');
@@ -154,7 +155,7 @@ function initPluginContext(pluginId) {
154
155
  debugPrefixNamespace: `${pluginId}:`,
155
156
  shouldPrintStackTrace: true
156
157
  });
157
- (0, import_debug.showInitialDebugMessage)(pluginId);
158
+ (0, import_debug2.showInitialDebugMessage)(pluginId);
158
159
  (0, import_abort_controller.getSharedAbortController)();
159
160
  (0, import_library_styles.injectLibraryStyles)({
160
161
  doc: document,
@@ -168,4 +169,4 @@ function initPluginContext(pluginId) {
168
169
  initDebugController,
169
170
  initPluginContext
170
171
  });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEluaXRpYWxpemVzIHRoZSBwbHVnaW4gY29udGV4dCBhbmQgc2V0cyB1cCB0aGUgcGx1Z2luIElELlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGVidWdDb250cm9sbGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnLWNvbnRyb2xsZXInO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGdldFNoYXJlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hYm9ydC1jb250cm9sbGVyJztcbmltcG9ydCB7XG4gIGdldERlYnVnQ29udHJvbGxlcixcbiAgc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2Vcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvbGlicmFyeSc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vY3NzLWNsYXNzLnRzJztcbmltcG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi4vZ2VuZXJhdGVkLWR1cmluZy1idWlsZC50cyc7XG5pbXBvcnQgeyBpbmplY3RMaWJyYXJ5U3R5bGVzIH0gZnJvbSAnLi4vbGlicmFyeS1zdHlsZXMudHMnO1xuaW1wb3J0IHtcbiAgT0JTSURJQU5fTElCUkFSWV9OQU1FLFxuICBPYnNpZGlhbkxpYnJhcnlcbn0gZnJvbSAnLi4vbGlicmFyeS50cyc7XG5cbmludGVyZmFjZSBQbHVnaW5Db250ZXh0V2luZG93IHtcbiAgREVCVUc6IERlYnVnQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcbn1cblxuY29uc3QgREVCVUdfR1VJREVfVVJMID0gJ2h0dHBzOi8vbW5hb3Vtb3YuZGV2L29ic2lkaWFuLWxpYi9ndWlkZXMvZGVidWdnaW5nLyc7XG5cbi8qKlxuICogU2V0cyB0aGUgQ1NTIGNsYXNzIG9mIGFuIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBzZXQgdGhlIENTUyBjbGFzcyBvZi5cbiAqIEBwYXJhbSBjc3NDbGFzc2VzIC0gVGhlIENTUyBjbGFzc2VzIHRvIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFBsdWdpbkNzc0NsYXNzZXMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNzc0NsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBleHRyYUNzc0NsYXNzZXMgPSB0eXBlb2YgY3NzQ2xhc3NlcyA9PT0gJ3N0cmluZycgPyBbY3NzQ2xhc3Nlc10gOiBjc3NDbGFzc2VzID8/IFtdO1xuICBlbGVtZW50LmFkZENsYXNzKFxuICAgIENzc0NsYXNzLkxpYnJhcnlOYW1lLFxuICAgIC8vIFRoZSBzY29wZSBpcyBlbXB0eSB1bnRpbCB0aGUgcGx1Z2luIGNvbnRleHQgaXMgaW5pdGlhbGl6ZWQ7IHNraXAgaXQgc28gd2UgbmV2ZXIgYWRkIGFuIGVtcHR5IGNsYXNzLlxuICAgIC4uLihPYnNpZGlhbkxpYnJhcnkuY3NzQ2xhc3NTY29wZSA/IFtPYnNpZGlhbkxpYnJhcnkuY3NzQ2xhc3NTY29wZV0gOiBbXSksXG4gICAgLi4uZXh0cmFDc3NDbGFzc2VzXG4gICk7XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIGRlYnVnIGNvbnRyb2xsZXIuXG4gKlxuICogQHBhcmFtIHdpbiAtIFRoZSB3aW5kb3cgdG8gaW5pdGlhbGl6ZSB0aGUgZGVidWcgY29udHJvbGxlciBmb3IuXG4gKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byByZWdpc3RlciBjbGVhbnVwIG9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdERlYnVnQ29udHJvbGxlcih3aW46IFdpbmRvdywgY29tcG9uZW50OiBDb21wb25lbnQpOiB2b2lkIHtcbiAgY29uc3QgcGx1Z2luQ29udGV4dFdpbmRvdyA9IHdpbiBhcyBQYXJ0aWFsPFBsdWdpbkNvbnRleHRXaW5kb3c+O1xuICBjb25zdCBvbGREZWJ1ZyA9IHBsdWdpbkNvbnRleHRXaW5kb3cuREVCVUc7XG4gIGNvbnN0IG5ld0RlYnVnID0gZ2V0RGVidWdDb250cm9sbGVyKCk7XG4gIHBsdWdpbkNvbnRleHRXaW5kb3cuREVCVUcgPSBuZXdEZWJ1ZztcblxuICBjb21wb25lbnQucmVnaXN0ZXIoKCkgPT4ge1xuICAgIGlmIChwbHVnaW5Db250ZXh0V2luZG93LkRFQlVHID09PSBuZXdEZWJ1Zykge1xuICAgICAgcGx1Z2luQ29udGV4dFdpbmRvdy5ERUJVRyA9IG9sZERlYnVnO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIHBsdWdpbiBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW5JZCAtIFRoZSBwbHVnaW4gSUQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0UGx1Z2luQ29udGV4dChwbHVnaW5JZDogc3RyaW5nKTogdm9pZCB7XG4gIE9ic2lkaWFuTGlicmFyeS5pbml0KHsgY3NzQ2xhc3NTY29wZTogcGx1Z2luSWQgfSk7XG4gIExpYnJhcnkuaW5pdCh7XG4gICAgZGVidWdHdWlkZVVybDogREVCVUdfR1VJREVfVVJMLFxuICAgIGRlYnVnTmFtZXNwYWNlOiBPQlNJRElBTl9MSUJSQVJZX05BTUUsXG4gICAgZGVidWdQcmVmaXhOYW1lc3BhY2U6IGAke3BsdWdpbklkfTpgLFxuICAgIHNob3VsZFByaW50U3RhY2tUcmFjZTogdHJ1ZVxuICB9KTtcbiAgc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQpO1xuXG4gIC8vIE5vdGhpbmcgZWxzZSBpbiB0aGUgbGlicmFyeSByZWFjaGVzIGZvciB0aGUgc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIgLS0gb25seSBjb25zdW1lciBwbHVnaW5zIGRvLiBDcmVhdGVcbiAgLy8gaXQgaGVyZSBzbyB0aGUgZGV2dG9vbHMgY29uc29sZSByZWNpcGUgaW4gdGhlIGRlYnVnZ2luZyBndWlkZSBhbHdheXMgcmVzb2x2ZXMsIGluc3RlYWQgb2YgdGhyb3dpbmcgdW50aWwgc29tZVxuICAvLyBwbHVnaW4gaGFwcGVucyB0byBzdGFydCBhbiBhYm9ydGFibGUgb3BlcmF0aW9uLlxuICBnZXRTaGFyZWRBYm9ydENvbnRyb2xsZXIoKTtcblxuICBpbmplY3RMaWJyYXJ5U3R5bGVzKHtcbiAgICBkb2M6IGRvY3VtZW50LFxuICAgIGxpYnJhcnlTdHlsZXM6IExJQlJBUllfU1RZTEVTLFxuICAgIGxpYnJhcnlWZXJzaW9uOiBMSUJSQVJZX1ZFUlNJT05cbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0EsOEJBQXlDO0FBQ3pDLG1CQUdPO0FBQ1AscUJBQXdCO0FBRXhCLHVCQUF5QjtBQUN6QixvQ0FHTztBQUNQLDRCQUFvQztBQUNwQyxJQUFBQSxrQkFHTztBQU1QLE1BQU0sa0JBQWtCO0FBUWpCLFNBQVMsb0JBQW9CLFNBQXNCLFlBQXNDO0FBQzlGLFFBQU0sa0JBQWtCLE9BQU8sZUFBZSxXQUFXLENBQUMsVUFBVSxJQUFJLGNBQWMsQ0FBQztBQUN2RixVQUFRO0FBQUEsSUFDTiwwQkFBUztBQUFBLElBRVQsR0FBSSxnQ0FBZ0IsZ0JBQWdCLENBQUMsZ0NBQWdCLGFBQWEsSUFBSSxDQUFDO0FBQUEsSUFDdkUsR0FBRztBQUFBLEVBQ0w7QUFDRjtBQVFPLFNBQVMsb0JBQW9CLEtBQWEsV0FBNEI7QUFDM0UsUUFBTSxzQkFBc0I7QUFDNUIsUUFBTSxXQUFXLG9CQUFvQjtBQUNyQyxRQUFNLGVBQVcsaUNBQW1CO0FBQ3BDLHNCQUFvQixRQUFRO0FBRTVCLFlBQVUsU0FBUyxNQUFNO0FBQ3ZCLFFBQUksb0JBQW9CLFVBQVUsVUFBVTtBQUMxQywwQkFBb0IsUUFBUTtBQUFBLElBQzlCO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFPTyxTQUFTLGtCQUFrQixVQUF3QjtBQUN4RCxrQ0FBZ0IsS0FBSyxFQUFFLGVBQWUsU0FBUyxDQUFDO0FBQ2hELHlCQUFRLEtBQUs7QUFBQSxJQUNYLGVBQWU7QUFBQSxJQUNmLGdCQUFnQjtBQUFBLElBQ2hCLHNCQUFzQixHQUFHLFFBQVE7QUFBQSxJQUNqQyx1QkFBdUI7QUFBQSxFQUN6QixDQUFDO0FBQ0QsNENBQXdCLFFBQVE7QUFLaEMsd0RBQXlCO0FBRXpCLGlEQUFvQjtBQUFBLElBQ2xCLEtBQUs7QUFBQSxJQUNMLGVBQWU7QUFBQSxJQUNmLGdCQUFnQjtBQUFBLEVBQ2xCLENBQUM7QUFDSDsiLCJuYW1lcyI6WyJpbXBvcnRfbGlicmFyeSJdfQ==
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEluaXRpYWxpemVzIHRoZSBwbHVnaW4gY29udGV4dCBhbmQgc2V0cyB1cCB0aGUgcGx1Z2luIElELlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGVidWdDb250cm9sbGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnLWNvbnRyb2xsZXInO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGdldFNoYXJlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hYm9ydC1jb250cm9sbGVyJztcbmltcG9ydCB7IGdldERlYnVnQ29udHJvbGxlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kZWJ1Zyc7XG5pbXBvcnQgeyBMaWJyYXJ5IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2xpYnJhcnknO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBzaG93SW5pdGlhbERlYnVnTWVzc2FnZSB9IGZyb20gJy4uL2RlYnVnLnRzJztcbmltcG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi4vZ2VuZXJhdGVkLWR1cmluZy1idWlsZC50cyc7XG5pbXBvcnQgeyBpbmplY3RMaWJyYXJ5U3R5bGVzIH0gZnJvbSAnLi4vbGlicmFyeS1zdHlsZXMudHMnO1xuaW1wb3J0IHtcbiAgT0JTSURJQU5fTElCUkFSWV9OQU1FLFxuICBPYnNpZGlhbkxpYnJhcnlcbn0gZnJvbSAnLi4vbGlicmFyeS50cyc7XG5cbmludGVyZmFjZSBQbHVnaW5Db250ZXh0V2luZG93IHtcbiAgREVCVUc6IERlYnVnQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcbn1cblxuY29uc3QgREVCVUdfR1VJREVfVVJMID0gJ2h0dHBzOi8vbW5hb3Vtb3YuZGV2L29ic2lkaWFuLWxpYi9ndWlkZXMvZGVidWdnaW5nLyc7XG5cbi8qKlxuICogU2V0cyB0aGUgQ1NTIGNsYXNzIG9mIGFuIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBzZXQgdGhlIENTUyBjbGFzcyBvZi5cbiAqIEBwYXJhbSBjc3NDbGFzc2VzIC0gVGhlIENTUyBjbGFzc2VzIHRvIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFBsdWdpbkNzc0NsYXNzZXMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNzc0NsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBleHRyYUNzc0NsYXNzZXMgPSB0eXBlb2YgY3NzQ2xhc3NlcyA9PT0gJ3N0cmluZycgPyBbY3NzQ2xhc3Nlc10gOiBjc3NDbGFzc2VzID8/IFtdO1xuICBlbGVtZW50LmFkZENsYXNzKFxuICAgIENzc0NsYXNzLkxpYnJhcnlOYW1lLFxuICAgIC8vIFRoZSBzY29wZSBpcyBlbXB0eSB1bnRpbCB0aGUgcGx1Z2luIGNvbnRleHQgaXMgaW5pdGlhbGl6ZWQ7IHNraXAgaXQgc28gd2UgbmV2ZXIgYWRkIGFuIGVtcHR5IGNsYXNzLlxuICAgIC4uLihPYnNpZGlhbkxpYnJhcnkuY3NzQ2xhc3NTY29wZSA/IFtPYnNpZGlhbkxpYnJhcnkuY3NzQ2xhc3NTY29wZV0gOiBbXSksXG4gICAgLi4uZXh0cmFDc3NDbGFzc2VzXG4gICk7XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIGRlYnVnIGNvbnRyb2xsZXIuXG4gKlxuICogQHBhcmFtIHdpbiAtIFRoZSB3aW5kb3cgdG8gaW5pdGlhbGl6ZSB0aGUgZGVidWcgY29udHJvbGxlciBmb3IuXG4gKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byByZWdpc3RlciBjbGVhbnVwIG9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdERlYnVnQ29udHJvbGxlcih3aW46IFdpbmRvdywgY29tcG9uZW50OiBDb21wb25lbnQpOiB2b2lkIHtcbiAgY29uc3QgcGx1Z2luQ29udGV4dFdpbmRvdyA9IHdpbiBhcyBQYXJ0aWFsPFBsdWdpbkNvbnRleHRXaW5kb3c+O1xuICBjb25zdCBvbGREZWJ1ZyA9IHBsdWdpbkNvbnRleHRXaW5kb3cuREVCVUc7XG4gIGNvbnN0IG5ld0RlYnVnID0gZ2V0RGVidWdDb250cm9sbGVyKCk7XG4gIHBsdWdpbkNvbnRleHRXaW5kb3cuREVCVUcgPSBuZXdEZWJ1ZztcblxuICBjb21wb25lbnQucmVnaXN0ZXIoKCkgPT4ge1xuICAgIGlmIChwbHVnaW5Db250ZXh0V2luZG93LkRFQlVHID09PSBuZXdEZWJ1Zykge1xuICAgICAgcGx1Z2luQ29udGV4dFdpbmRvdy5ERUJVRyA9IG9sZERlYnVnO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIHBsdWdpbiBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW5JZCAtIFRoZSBwbHVnaW4gSUQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0UGx1Z2luQ29udGV4dChwbHVnaW5JZDogc3RyaW5nKTogdm9pZCB7XG4gIE9ic2lkaWFuTGlicmFyeS5pbml0KHsgY3NzQ2xhc3NTY29wZTogcGx1Z2luSWQgfSk7XG4gIExpYnJhcnkuaW5pdCh7XG4gICAgZGVidWdHdWlkZVVybDogREVCVUdfR1VJREVfVVJMLFxuICAgIGRlYnVnTmFtZXNwYWNlOiBPQlNJRElBTl9MSUJSQVJZX05BTUUsXG4gICAgZGVidWdQcmVmaXhOYW1lc3BhY2U6IGAke3BsdWdpbklkfTpgLFxuICAgIHNob3VsZFByaW50U3RhY2tUcmFjZTogdHJ1ZVxuICB9KTtcbiAgc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQpO1xuXG4gIC8vIE5vdGhpbmcgZWxzZSBpbiB0aGUgbGlicmFyeSByZWFjaGVzIGZvciB0aGUgc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIgLS0gb25seSBjb25zdW1lciBwbHVnaW5zIGRvLiBDcmVhdGVcbiAgLy8gaXQgaGVyZSBzbyB0aGUgZGV2dG9vbHMgY29uc29sZSByZWNpcGUgaW4gdGhlIGRlYnVnZ2luZyBndWlkZSBhbHdheXMgcmVzb2x2ZXMsIGluc3RlYWQgb2YgdGhyb3dpbmcgdW50aWwgc29tZVxuICAvLyBwbHVnaW4gaGFwcGVucyB0byBzdGFydCBhbiBhYm9ydGFibGUgb3BlcmF0aW9uLlxuICBnZXRTaGFyZWRBYm9ydENvbnRyb2xsZXIoKTtcblxuICBpbmplY3RMaWJyYXJ5U3R5bGVzKHtcbiAgICBkb2M6IGRvY3VtZW50LFxuICAgIGxpYnJhcnlTdHlsZXM6IExJQlJBUllfU1RZTEVTLFxuICAgIGxpYnJhcnlWZXJzaW9uOiBMSUJSQVJZX1ZFUlNJT05cbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0EsOEJBQXlDO0FBQ3pDLG1CQUFtQztBQUNuQyxxQkFBd0I7QUFFeEIsdUJBQXlCO0FBQ3pCLElBQUFBLGdCQUF3QztBQUN4QyxvQ0FHTztBQUNQLDRCQUFvQztBQUNwQyxJQUFBQyxrQkFHTztBQU1QLE1BQU0sa0JBQWtCO0FBUWpCLFNBQVMsb0JBQW9CLFNBQXNCLFlBQXNDO0FBQzlGLFFBQU0sa0JBQWtCLE9BQU8sZUFBZSxXQUFXLENBQUMsVUFBVSxJQUFJLGNBQWMsQ0FBQztBQUN2RixVQUFRO0FBQUEsSUFDTiwwQkFBUztBQUFBLElBRVQsR0FBSSxnQ0FBZ0IsZ0JBQWdCLENBQUMsZ0NBQWdCLGFBQWEsSUFBSSxDQUFDO0FBQUEsSUFDdkUsR0FBRztBQUFBLEVBQ0w7QUFDRjtBQVFPLFNBQVMsb0JBQW9CLEtBQWEsV0FBNEI7QUFDM0UsUUFBTSxzQkFBc0I7QUFDNUIsUUFBTSxXQUFXLG9CQUFvQjtBQUNyQyxRQUFNLGVBQVcsaUNBQW1CO0FBQ3BDLHNCQUFvQixRQUFRO0FBRTVCLFlBQVUsU0FBUyxNQUFNO0FBQ3ZCLFFBQUksb0JBQW9CLFVBQVUsVUFBVTtBQUMxQywwQkFBb0IsUUFBUTtBQUFBLElBQzlCO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFPTyxTQUFTLGtCQUFrQixVQUF3QjtBQUN4RCxrQ0FBZ0IsS0FBSyxFQUFFLGVBQWUsU0FBUyxDQUFDO0FBQ2hELHlCQUFRLEtBQUs7QUFBQSxJQUNYLGVBQWU7QUFBQSxJQUNmLGdCQUFnQjtBQUFBLElBQ2hCLHNCQUFzQixHQUFHLFFBQVE7QUFBQSxJQUNqQyx1QkFBdUI7QUFBQSxFQUN6QixDQUFDO0FBQ0QsNkNBQXdCLFFBQVE7QUFLaEMsd0RBQXlCO0FBRXpCLGlEQUFvQjtBQUFBLElBQ2xCLEtBQUs7QUFBQSxJQUNMLGVBQWU7QUFBQSxJQUNmLGdCQUFnQjtBQUFBLEVBQ2xCLENBQUM7QUFDSDsiLCJuYW1lcyI6WyJpbXBvcnRfZGVidWciLCJpbXBvcnRfbGlicmFyeSJdfQ==
@@ -142,6 +142,9 @@ function getTextBasedComponentValue($unknown) {
142
142
  return $unknown instanceof import_obsidian.AbstractTextComponent ? new AbstractTextComponentWrapper($unknown) : null;
143
143
  }
144
144
  function isTextBasedComponent(component) {
145
+ if (typeof component !== "object" || component === null || !("setPlaceholderValue" in component) || !("isEmpty" in component)) {
146
+ return false;
147
+ }
145
148
  const textBasedComponent = component;
146
149
  return typeof textBasedComponent.setPlaceholderValue === "function" && typeof textBasedComponent.isEmpty === "function";
147
150
  }
@@ -149,4 +152,4 @@ function isTextBasedComponent(component) {
149
152
  0 && (module.exports = {
150
153
  getTextBasedComponentValue
151
154
  });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXR0aW5nLWNvbXBvbmVudHMvdGV4dC1iYXNlZC1jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRleHQgYmFzZWQgY29tcG9uZW50IHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBBYnN0cmFjdFRleHRDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogQSBjb21wb25lbnQgYmFzZWQgb24gYSB0ZXh0IGlucHV0LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEJhc2VkQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGVtcHR5OiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbXBvbmVudCBpcyBlbXB0eS5cbiAgICpcbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHksIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgaXNFbXB0eTogKCkgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyVmFsdWUgLSBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgc2V0UGxhY2Vob2xkZXJWYWx1ZTogKHBsYWNlaG9sZGVyVmFsdWU6IFQpID0+IHRoaXM7XG59XG5cbmNsYXNzIEFic3RyYWN0VGV4dENvbXBvbmVudFdyYXBwZXI8VD4gaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8VD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAtLSBgdW5rbm93bmAgZG9lc24ndCB3b3JrLCBnZXR0aW5nIGNvbXBpbGVyIGVycm9ycy5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWJzdHJhY3RUZXh0Q29tcG9uZW50OiBBYnN0cmFjdFRleHRDb21wb25lbnQ8YW55Pikge31cblxuICBwdWJsaWMgZW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdFRleHRDb21wb25lbnQuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgcHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWJzdHJhY3RUZXh0Q29tcG9uZW50LmdldFZhbHVlKCkgPT09ICcnO1xuICB9XG5cbiAgcHVibGljIHNldFBsYWNlaG9sZGVyVmFsdWUocGxhY2Vob2xkZXJWYWx1ZTogVCk6IHRoaXMge1xuICAgIHRoaXMuYWJzdHJhY3RUZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgdGhlIHRleHQgYmFzZWQgY29tcG9uZW50IHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAqIEBwYXJhbSAkdW5rbm93biAtIEFueSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgdGV4dCBiYXNlZCBjb21wb25lbnQgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBvciBgbnVsbGAgaWYgdGhlIGNvbXBvbmVudCBpcyBub3QgYSB0ZXh0IGJhc2VkIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRCYXNlZENvbXBvbmVudFZhbHVlPFQ+KCR1bmtub3duOiB1bmtub3duKTogbnVsbCB8IFRleHRCYXNlZENvbXBvbmVudDxUPiB7XG4gIGlmIChpc1RleHRCYXNlZENvbXBvbmVudCgkdW5rbm93bikpIHtcbiAgICByZXR1cm4gJHVua25vd247XG4gIH1cblxuICByZXR1cm4gJHVua25vd24gaW5zdGFuY2VvZiBBYnN0cmFjdFRleHRDb21wb25lbnQgPyBuZXcgQWJzdHJhY3RUZXh0Q29tcG9uZW50V3JhcHBlcjxUPigkdW5rbm93bikgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBpc1RleHRCYXNlZENvbXBvbmVudDxUPihjb21wb25lbnQ6IHVua25vd24pOiBjb21wb25lbnQgaXMgVGV4dEJhc2VkQ29tcG9uZW50PFQ+IHtcbiAgY29uc3QgdGV4dEJhc2VkQ29tcG9uZW50ID0gY29tcG9uZW50IGFzIFBhcnRpYWw8VGV4dEJhc2VkQ29tcG9uZW50PFQ+PjtcbiAgcmV0dXJuIHR5cGVvZiB0ZXh0QmFzZWRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXJWYWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdGV4dEJhc2VkQ29tcG9uZW50LmlzRW1wdHkgPT09ICdmdW5jdGlvbic7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxzQkFBc0M7QUE2QnRDLE1BQU0sNkJBQWlFO0FBQUE7QUFBQSxFQUU5RCxZQUE2Qix1QkFBbUQ7QUFBbkQ7QUFBQSxFQUFvRDtBQUFBLEVBQXBEO0FBQUEsRUFFN0IsUUFBYztBQUNuQixTQUFLLHNCQUFzQixTQUFTLEVBQUU7QUFBQSxFQUN4QztBQUFBLEVBRU8sVUFBbUI7QUFDeEIsV0FBTyxLQUFLLHNCQUFzQixTQUFTLE1BQU07QUFBQSxFQUNuRDtBQUFBLEVBRU8sb0JBQW9CLGtCQUEyQjtBQUNwRCxTQUFLLHNCQUFzQixlQUFlLGdCQUEwQjtBQUNwRSxXQUFPO0FBQUEsRUFDVDtBQUNGO0FBU08sU0FBUywyQkFBOEIsVUFBaUQ7QUFDN0YsTUFBSSxxQkFBcUIsUUFBUSxHQUFHO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTyxvQkFBb0Isd0NBQXdCLElBQUksNkJBQWdDLFFBQVEsSUFBSTtBQUNyRztBQUVBLFNBQVMscUJBQXdCLFdBQXdEO0FBQ3ZGLFFBQU0scUJBQXFCO0FBQzNCLFNBQU8sT0FBTyxtQkFBbUIsd0JBQXdCLGNBQWMsT0FBTyxtQkFBbUIsWUFBWTtBQUMvRzsiLCJuYW1lcyI6W119
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXR0aW5nLWNvbXBvbmVudHMvdGV4dC1iYXNlZC1jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRleHQgYmFzZWQgY29tcG9uZW50IHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBBYnN0cmFjdFRleHRDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogQSBjb21wb25lbnQgYmFzZWQgb24gYSB0ZXh0IGlucHV0LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEJhc2VkQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGVtcHR5OiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbXBvbmVudCBpcyBlbXB0eS5cbiAgICpcbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHksIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgaXNFbXB0eTogKCkgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyVmFsdWUgLSBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgc2V0UGxhY2Vob2xkZXJWYWx1ZTogKHBsYWNlaG9sZGVyVmFsdWU6IFQpID0+IHRoaXM7XG59XG5cbmNsYXNzIEFic3RyYWN0VGV4dENvbXBvbmVudFdyYXBwZXI8VD4gaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8VD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAtLSBgdW5rbm93bmAgZG9lc24ndCB3b3JrLCBnZXR0aW5nIGNvbXBpbGVyIGVycm9ycy5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWJzdHJhY3RUZXh0Q29tcG9uZW50OiBBYnN0cmFjdFRleHRDb21wb25lbnQ8YW55Pikge31cblxuICBwdWJsaWMgZW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdFRleHRDb21wb25lbnQuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgcHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWJzdHJhY3RUZXh0Q29tcG9uZW50LmdldFZhbHVlKCkgPT09ICcnO1xuICB9XG5cbiAgcHVibGljIHNldFBsYWNlaG9sZGVyVmFsdWUocGxhY2Vob2xkZXJWYWx1ZTogVCk6IHRoaXMge1xuICAgIHRoaXMuYWJzdHJhY3RUZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgdGhlIHRleHQgYmFzZWQgY29tcG9uZW50IHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAqIEBwYXJhbSAkdW5rbm93biAtIEFueSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgdGV4dCBiYXNlZCBjb21wb25lbnQgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBvciBgbnVsbGAgaWYgdGhlIGNvbXBvbmVudCBpcyBub3QgYSB0ZXh0IGJhc2VkIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRCYXNlZENvbXBvbmVudFZhbHVlPFQ+KCR1bmtub3duOiB1bmtub3duKTogbnVsbCB8IFRleHRCYXNlZENvbXBvbmVudDxUPiB7XG4gIGlmIChpc1RleHRCYXNlZENvbXBvbmVudCgkdW5rbm93bikpIHtcbiAgICByZXR1cm4gJHVua25vd247XG4gIH1cblxuICByZXR1cm4gJHVua25vd24gaW5zdGFuY2VvZiBBYnN0cmFjdFRleHRDb21wb25lbnQgPyBuZXcgQWJzdHJhY3RUZXh0Q29tcG9uZW50V3JhcHBlcjxUPigkdW5rbm93bikgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBpc1RleHRCYXNlZENvbXBvbmVudDxUPihjb21wb25lbnQ6IHVua25vd24pOiBjb21wb25lbnQgaXMgVGV4dEJhc2VkQ29tcG9uZW50PFQ+IHtcbiAgLy8gYGluYCBiZWZvcmUgZWFjaCByZWFkOiBhIHN0cmljdC1wcm94eSB0ZXN0IGRvdWJsZSB0aHJvd3Mgb24gcmVhZGluZyBhIG1lbWJlciBpdCBkb2VzIG5vdCBoYXZlLlxuICBpZiAodHlwZW9mIGNvbXBvbmVudCAhPT0gJ29iamVjdCcgfHwgY29tcG9uZW50ID09PSBudWxsIHx8ICEoJ3NldFBsYWNlaG9sZGVyVmFsdWUnIGluIGNvbXBvbmVudCkgfHwgISgnaXNFbXB0eScgaW4gY29tcG9uZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHRleHRCYXNlZENvbXBvbmVudCA9IGNvbXBvbmVudCBhcyBQYXJ0aWFsPFRleHRCYXNlZENvbXBvbmVudDxUPj47XG4gIHJldHVybiB0eXBlb2YgdGV4dEJhc2VkQ29tcG9uZW50LnNldFBsYWNlaG9sZGVyVmFsdWUgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHRleHRCYXNlZENvbXBvbmVudC5pc0VtcHR5ID09PSAnZnVuY3Rpb24nO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBQXNDO0FBNkJ0QyxNQUFNLDZCQUFpRTtBQUFBO0FBQUEsRUFFOUQsWUFBNkIsdUJBQW1EO0FBQW5EO0FBQUEsRUFBb0Q7QUFBQSxFQUFwRDtBQUFBLEVBRTdCLFFBQWM7QUFDbkIsU0FBSyxzQkFBc0IsU0FBUyxFQUFFO0FBQUEsRUFDeEM7QUFBQSxFQUVPLFVBQW1CO0FBQ3hCLFdBQU8sS0FBSyxzQkFBc0IsU0FBUyxNQUFNO0FBQUEsRUFDbkQ7QUFBQSxFQUVPLG9CQUFvQixrQkFBMkI7QUFDcEQsU0FBSyxzQkFBc0IsZUFBZSxnQkFBMEI7QUFDcEUsV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQVNPLFNBQVMsMkJBQThCLFVBQWlEO0FBQzdGLE1BQUkscUJBQXFCLFFBQVEsR0FBRztBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU8sb0JBQW9CLHdDQUF3QixJQUFJLDZCQUFnQyxRQUFRLElBQUk7QUFDckc7QUFFQSxTQUFTLHFCQUF3QixXQUF3RDtBQUV2RixNQUFJLE9BQU8sY0FBYyxZQUFZLGNBQWMsUUFBUSxFQUFFLHlCQUF5QixjQUFjLEVBQUUsYUFBYSxZQUFZO0FBQzdILFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxxQkFBcUI7QUFDM0IsU0FBTyxPQUFPLG1CQUFtQix3QkFBd0IsY0FBYyxPQUFPLG1CQUFtQixZQUFZO0FBQy9HOyIsIm5hbWVzIjpbXX0=
@@ -114,6 +114,7 @@ var __copyProps = (to, from, except, desc) => {
114
114
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
115
115
  var validation_exports = {};
116
116
  __export(validation_exports, {
117
+ ANDROID_UNSAFE_PATH_CHARS: () => ANDROID_UNSAFE_PATH_CHARS,
117
118
  OBSIDIAN_UNSAFE_FILENAME_CHARS: () => OBSIDIAN_UNSAFE_FILENAME_CHARS,
118
119
  UNIX_UNSAFE_PATH_CHARS: () => UNIX_UNSAFE_PATH_CHARS,
119
120
  WINDOWS_UNSAFE_PATH_CHARS: () => WINDOWS_UNSAFE_PATH_CHARS,
@@ -136,18 +137,19 @@ function isValidationMessageHolder(value) {
136
137
  }
137
138
  const OBSIDIAN_UNSAFE_FILENAME_CHARS = /[#^[\]|]/g;
138
139
  const WINDOWS_UNSAFE_PATH_CHARS = /[*\\/<>:|?"]/g;
139
- const UNIX_UNSAFE_PATH_CHARS = /[\0/]/g;
140
+ const UNIX_UNSAFE_PATH_CHARS = /[\0\\/:]/g;
141
+ const ANDROID_UNSAFE_PATH_CHARS = /[\0*\\/<>:?"]/g;
140
142
  const WINDOWS_RESERVED_NAME_REG_EXP = /^(?:AUX|COM[1-9]|CON|LPT[1-9]|NUL|PRN)$/i;
141
143
  const WINDOWS_TRAILING_CHARS_REG_EXP = /[ .]+$/;
142
144
  const FIRST_NON_CONTROL_CHAR = " ";
143
- function getFileNameValidationMessage(name, isWindows) {
145
+ function getFileNameValidationMessage(name, isWindows, isAndroid) {
144
146
  if (name === "") {
145
147
  return (0, import_i18n.t)(($) => $.obsidianLib.validation.emptyName);
146
148
  }
147
149
  if (hasControlChars(name)) {
148
150
  return (0, import_i18n.t)(($) => $.obsidianLib.validation.controlCharacter, { name });
149
151
  }
150
- const unsafeChars = new Set(name.match(getOsAndObsidianUnsafePathCharsRegExp(isWindows)));
152
+ const unsafeChars = new Set(name.match(getOsAndObsidianUnsafePathCharsRegExp(isWindows, isAndroid)));
151
153
  if (unsafeChars.size > 0) {
152
154
  return (0, import_i18n.t)(($) => $.obsidianLib.validation.unsafeCharacters, { characters: [...unsafeChars].join(" "), name });
153
155
  }
@@ -156,18 +158,22 @@ function getFileNameValidationMessage(name, isWindows) {
156
158
  }
157
159
  return isWindowsReservedName(name) ? (0, import_i18n.t)(($) => $.obsidianLib.validation.windowsReservedName, { name }) : "";
158
160
  }
159
- function getOsAndObsidianUnsafePathCharsRegExp(isWindows) {
161
+ function getOsAndObsidianUnsafePathCharsRegExp(isWindows, isAndroid) {
160
162
  return (0, import_reg_exp.oneOf)([
161
- getOsUnsafePathCharsRegExp(isWindows),
163
+ getOsUnsafePathCharsRegExp(isWindows, isAndroid),
162
164
  OBSIDIAN_UNSAFE_FILENAME_CHARS
163
165
  ]);
164
166
  }
165
- function getOsUnsafePathCharsRegExp(isWindows) {
167
+ function getOsUnsafePathCharsRegExp(isWindows, isAndroid) {
166
168
  isWindows ??= import_obsidian.Platform.isWin;
167
- return isWindows ? WINDOWS_UNSAFE_PATH_CHARS : UNIX_UNSAFE_PATH_CHARS;
169
+ if (isWindows) {
170
+ return WINDOWS_UNSAFE_PATH_CHARS;
171
+ }
172
+ isAndroid ??= import_obsidian.Platform.isAndroidApp;
173
+ return isAndroid ? ANDROID_UNSAFE_PATH_CHARS : UNIX_UNSAFE_PATH_CHARS;
168
174
  }
169
- function getPathValidationMessage(path, isWindows) {
170
- return path.split("/").map((segment) => getFileNameValidationMessage(segment, isWindows)).find(Boolean) ?? "";
175
+ function getPathValidationMessage(path, isWindows, isAndroid) {
176
+ return path.split("/").map((segment) => getFileNameValidationMessage(segment, isWindows, isAndroid)).find(Boolean) ?? "";
171
177
  }
172
178
  function hasWindowsTrailingChars(name) {
173
179
  return WINDOWS_TRAILING_CHARS_REG_EXP.test(name);
@@ -189,6 +195,7 @@ function hasControlChars(name) {
189
195
  }
190
196
  // Annotate the CommonJS export names for ESM import in node:
191
197
  0 && (module.exports = {
198
+ ANDROID_UNSAFE_PATH_CHARS,
192
199
  OBSIDIAN_UNSAFE_FILENAME_CHARS,
193
200
  UNIX_UNSAFE_PATH_CHARS,
194
201
  WINDOWS_UNSAFE_PATH_CHARS,
@@ -201,4 +208,4 @@ function hasControlChars(name) {
201
208
  isWindowsReservedName,
202
209
  trimWindowsTrailingChars
203
210
  });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWYWxpZGF0aW9uIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZXh0bmFtZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBvbmVPZiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuXG4vKipcbiAqIEhvbGRzIGEgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIHtcbiAgLyoqXG4gICAqIEEgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICAgKi9cbiAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgaG9sZGVyLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWUgaXMgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgaG9sZGVyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBWYWxpZGF0aW9uTWVzc2FnZUhvbGRlciB7XG4gIHJldHVybiAodmFsdWUgYXMgUGFydGlhbDxWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcj4pLnZhbGlkYXRpb25NZXNzYWdlICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogTWF0Y2hlcyBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBzYWZlIHRvIHVzZSBpbiBmaWxlIG5hbWVzIHdpdGhpbiBPYnNpZGlhbi5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX1VOU0FGRV9GSUxFTkFNRV9DSEFSUyA9IC9bI15bXFxdfF0vZztcblxuLyoqXG4gKiBXaW5kb3dzLXNwZWNpZmljIHVuc2FmZSBmaWxlIG5hbWUgcGF0aCBjaGFyYWN0ZXJzLlxuICovXG5leHBvcnQgY29uc3QgV0lORE9XU19VTlNBRkVfUEFUSF9DSEFSUyA9IC9bKlxcXFwvPD46fD9cIl0vZztcblxuLyoqXG4gKiBVbml4LXNwZWNpZmljIHVuc2FmZSBmaWxlIG5hbWUgcGF0aCBjaGFyYWN0ZXJzLlxuICovXG5leHBvcnQgY29uc3QgVU5JWF9VTlNBRkVfUEFUSF9DSEFSUyA9IC9bXFwwL10vZztcblxuLyoqXG4gKiBUaGUgTVMtRE9TIGRldmljZSBuYW1lcyBXaW5kb3dzIHN0aWxsIHJlZnVzZXMgYXMgYSBmaWxlIG5hbWUsIHdpdGggb3Igd2l0aG91dCBhbiBleHRlbnNpb24uXG4gKlxuICogYENPTklOJGAgLyBgQ09OT1VUJGAgYW5kIHRoZSBzdXBlcnNjcmlwdCBgQ09NwrJgIGZvcm1zIGFyZSBkZWxpYmVyYXRlbHkgYWJzZW50OiB0aGV5IGFyZSBhY2NlcHRlZCBieVxuICogZXZlcnkgV2luZG93cyB2ZXJzaW9uIHRoYXQgcnVucyBPYnNpZGlhbiwgYW5kIG1hdGNoaW5nIHRoZW0gd291bGQgcmVuYW1lIGZpbGVzIHRoYXQgd29yay5cbiAqXG4gKiBVbmxpa2UgdGhlIGV4cG9ydGVkIGNoYXJhY3RlciBzZXRzIGFib3ZlLCB0aGlzIGNhcnJpZXMgbm8gYGdgIGZsYWcsIHNvIGB0ZXN0YCBtYXkgYmUgY2FsbGVkIG9uIGl0XG4gKiByZXBlYXRlZGx5IOKAlCBhIGBnYC1mbGFnZ2VkIHJlZ2V4cCBhZHZhbmNlcyBgbGFzdEluZGV4YCBhbmQgYW5zd2VycyBkaWZmZXJlbnRseSBvbiBjb25zZWN1dGl2ZSBjYWxscy5cbiAqL1xuY29uc3QgV0lORE9XU19SRVNFUlZFRF9OQU1FX1JFR19FWFAgPSAvXig/OkFVWHxDT01bMS05XXxDT058TFBUWzEtOV18TlVMfFBSTikkL2k7XG5cbi8qKlxuICogVGhlIHRyYWlsaW5nIGRvdHMgYW5kIHNwYWNlcyBXaW5kb3dzIHN0cmlwcyBmcm9tIGEgbmFtZSBiZWZvcmUgaXQgZG9lcyBhbnl0aGluZyBlbHNlIHdpdGggaXQuXG4gKi9cbmNvbnN0IFdJTkRPV1NfVFJBSUxJTkdfQ0hBUlNfUkVHX0VYUCA9IC9bIC5dKyQvO1xuXG4vKipcbiAqIFRoZSBmaXJzdCBjaGFyYWN0ZXIgYWZ0ZXIgdGhlIEMwIGNvbnRyb2wgcmFuZ2UsIFUrMDAwMCB0byBVKzAwMUYsIHdoaWNoIFdpbmRvd3MgcmVmdXNlcyBpbiBhIG5hbWUuXG4gKi9cbmNvbnN0IEZJUlNUX05PTl9DT05UUk9MX0NIQVIgPSAnICc7XG5cbi8qKlxuICogVmFsaWRhdGVzIGEgc2luZ2xlIGZpbGUgb3IgZm9sZGVyIG5hbWUgYWdhaW5zdCBldmVyeSBuYW1pbmcgcnVsZSB0aGlzIG1vZHVsZSBvd25zLlxuICpcbiAqIFRoZSBydWxlcywgY2hlY2tlZCBpbiB0aGlzIG9yZGVyLCBhbmQgdGhlIGZpcnN0IG9uZSBicm9rZW4gbmFtZXMgdGhlIG1lc3NhZ2U6XG4gKlxuICogMS4gVGhlIG5hbWUgaXMgbm90IGVtcHR5LlxuICogMi4gSXQgaG9sZHMgbm8gY29udHJvbCBjaGFyYWN0ZXIgKFUrMDAwMCB0byBVKzAwMUYpLlxuICogMy4gSXQgaG9sZHMgbm9uZSBvZiB0aGUgY2hhcmFjdGVycyB7QGxpbmsgZ2V0T3NBbmRPYnNpZGlhblVuc2FmZVBhdGhDaGFyc1JlZ0V4cH0gbWF0Y2hlcy5cbiAqIDQuIEl0IGRvZXMgbm90IGVuZCB3aXRoIGEgZG90IG9yIGEgc3BhY2UgKHtAbGluayBoYXNXaW5kb3dzVHJhaWxpbmdDaGFyc30pLlxuICogNS4gSXQgaXMgbm90IGFuIE1TLURPUyBkZXZpY2UgbmFtZSAoe0BsaW5rIGlzV2luZG93c1Jlc2VydmVkTmFtZX0pLCB3aXRoIG9yIHdpdGhvdXQgYW4gZXh0ZW5zaW9uLlxuICpcbiAqIE9ubHkgcnVsZSAzIGRlcGVuZHMgb24gYGlzV2luZG93c2AuIFJ1bGVzIDIsIDQgYW5kIDUgYXBwbHkgb24gZXZlcnkgcGxhdGZvcm0sIGJlY2F1c2UgYSB2YXVsdCBpcyBzeW5jZWQsXG4gKiBhbmQgYSBuYW1lIGNyZWF0ZWQgb24gbWFjT1Mgb3IgTGludXggdGhhdCBXaW5kb3dzIHJlZnVzZXMgYnJlYWtzIHRoZSB2YXVsdCB0aGVyZS4gVGhlIGNoYXJhY3RlciBzZXQgc3RheXNcbiAqIHBsYXRmb3JtLWRlcGVuZGVudCwgYmVjYXVzZSBhIG5hbWUgc3VjaCBhcyBgTWVldGluZzogbm90ZXNgIGlzIGNvbW1vbiBvbiBtYWNPUywgd2hlcmUgaXQgd29ya3MuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byB2YWxpZGF0ZS4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCB3aXRoIG9yIHdpdGhvdXQgaXRzIGV4dGVuc2lvbi5cbiAqIEBwYXJhbSBpc1dpbmRvd3MgLSBXaGV0aGVyIHRvIGluY2x1ZGUgdGhlIFdpbmRvd3Mtc3BlY2lmaWMgY2hhcmFjdGVyIHNldC4gRGVmYXVsdHMgdG8gYFBsYXRmb3JtLmlzV2luYC5cbiAqIEByZXR1cm5zIEEgbWVzc2FnZSBkZXNjcmliaW5nIHRoZSBmaXJzdCBicm9rZW4gcnVsZSwgb3IgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBuYW1lIGlzIHZhbGlkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZU5hbWVWYWxpZGF0aW9uTWVzc2FnZShuYW1lOiBzdHJpbmcsIGlzV2luZG93cz86IGJvb2xlYW4pOiBzdHJpbmcge1xuICBpZiAobmFtZSA9PT0gJycpIHtcbiAgICByZXR1cm4gdCgoJCkgPT4gJC5vYnNpZGlhbkxpYi52YWxpZGF0aW9uLmVtcHR5TmFtZSk7XG4gIH1cblxuICBpZiAoaGFzQ29udHJvbENoYXJzKG5hbWUpKSB7XG4gICAgcmV0dXJuIHQoKCQpID0+ICQub2JzaWRpYW5MaWIudmFsaWRhdGlvbi5jb250cm9sQ2hhcmFjdGVyLCB7IG5hbWUgfSk7XG4gIH1cblxuICBjb25zdCB1bnNhZmVDaGFycyA9IG5ldyBTZXQobmFtZS5tYXRjaChnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cykpKTtcbiAgaWYgKHVuc2FmZUNoYXJzLnNpemUgPiAwKSB7XG4gICAgcmV0dXJuIHQoKCQpID0+ICQub2JzaWRpYW5MaWIudmFsaWRhdGlvbi51bnNhZmVDaGFyYWN0ZXJzLCB7IGNoYXJhY3RlcnM6IFsuLi51bnNhZmVDaGFyc10uam9pbignICcpLCBuYW1lIH0pO1xuICB9XG5cbiAgaWYgKGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWUpKSB7XG4gICAgcmV0dXJuIHQoKCQpID0+ICQub2JzaWRpYW5MaWIudmFsaWRhdGlvbi50cmFpbGluZ0NoYXJhY3RlcnMsIHsgbmFtZSB9KTtcbiAgfVxuXG4gIHJldHVybiBpc1dpbmRvd3NSZXNlcnZlZE5hbWUobmFtZSkgPyB0KCgkKSA9PiAkLm9ic2lkaWFuTGliLnZhbGlkYXRpb24ud2luZG93c1Jlc2VydmVkTmFtZSwgeyBuYW1lIH0pIDogJyc7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHJlZ2V4cCBtYXRjaGluZyBhbGwgdW5zYWZlIGNoYXJhY3RlcnMgaW4gZmlsZSBuYW1lcy9wYXRocy5cbiAqXG4gKiBJbmNsdWRlcyBib3RoIE9TLXNwZWNpZmljIHJlc3RyaWN0aW9ucyBhbmQgT2JzaWRpYW4tc3BlY2lmaWMgb25lcy5cbiAqXG4gKiBAcGFyYW0gaXNXaW5kb3dzIC0gV2hldGhlciB0byBpbmNsdWRlIFdpbmRvd3Mtc3BlY2lmaWMgcmVzdHJpY3Rpb25zLiBEZWZhdWx0cyB0byBgUGxhdGZvcm0uaXNXaW5gLlxuICogQHJldHVybnMgQSByZWdleHAgbWF0Y2hpbmcgYWxsIHVuc2FmZSBjaGFyYWN0ZXJzIGluIGZpbGUgbmFtZXMvcGF0aHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cz86IGJvb2xlYW4pOiBSZWdFeHAge1xuICByZXR1cm4gb25lT2YoW1xuICAgIGdldE9zVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cyksXG4gICAgT0JTSURJQU5fVU5TQUZFX0ZJTEVOQU1FX0NIQVJTXG4gIF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSByZWdleHAgbWF0Y2hpbmcgY2hhcmFjdGVycyB0aGF0IGFyZSBub3Qgc2FmZSB0byB1c2UgaW4gZmlsZSBuYW1lcy9wYXRocyBhdCB0aGUgT1MgbGV2ZWwuXG4gKlxuICogQHBhcmFtIGlzV2luZG93cyAtIFdoZXRoZXIgdG8gaW5jbHVkZSBXaW5kb3dzLXNwZWNpZmljIHJlc3RyaWN0aW9ucy4gRGVmYXVsdHMgdG8gYFBsYXRmb3JtLmlzV2luYC5cbiAqIEByZXR1cm5zIEEgcmVnZXhwIG1hdGNoaW5nIGNoYXJhY3RlcnMgdGhhdCBhcmUgbm90IHNhZmUgdG8gdXNlIGluIGZpbGUgbmFtZXMvcGF0aHMgYXQgdGhlIE9TIGxldmVsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3NVbnNhZmVQYXRoQ2hhcnNSZWdFeHAoaXNXaW5kb3dzPzogYm9vbGVhbik6IFJlZ0V4cCB7XG4gIGlzV2luZG93cyA/Pz0gUGxhdGZvcm0uaXNXaW47XG4gIHJldHVybiBpc1dpbmRvd3MgPyBXSU5ET1dTX1VOU0FGRV9QQVRIX0NIQVJTIDogVU5JWF9VTlNBRkVfUEFUSF9DSEFSUztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgZXZlcnkgc2VnbWVudCBvZiBhIHZhdWx0IHBhdGggd2l0aCB7QGxpbmsgZ2V0RmlsZU5hbWVWYWxpZGF0aW9uTWVzc2FnZX0uXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgdmF1bHQtcmVsYXRpdmUgcGF0aCB0byB2YWxpZGF0ZSwgd2l0aCBgL2AgYXMgdGhlIHNlcGFyYXRvci5cbiAqIEBwYXJhbSBpc1dpbmRvd3MgLSBXaGV0aGVyIHRvIGluY2x1ZGUgdGhlIFdpbmRvd3Mtc3BlY2lmaWMgY2hhcmFjdGVyIHNldC4gRGVmYXVsdHMgdG8gYFBsYXRmb3JtLmlzV2luYC5cbiAqIEByZXR1cm5zIFRoZSBtZXNzYWdlIGZvciB0aGUgZmlyc3QgaW52YWxpZCBzZWdtZW50LCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgZXZlcnkgc2VnbWVudCBpcyB2YWxpZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhdGhWYWxpZGF0aW9uTWVzc2FnZShwYXRoOiBzdHJpbmcsIGlzV2luZG93cz86IGJvb2xlYW4pOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5zcGxpdCgnLycpLm1hcCgoc2VnbWVudCkgPT4gZ2V0RmlsZU5hbWVWYWxpZGF0aW9uTWVzc2FnZShzZWdtZW50LCBpc1dpbmRvd3MpKS5maW5kKEJvb2xlYW4pID8/ICcnO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbmFtZSBlbmRzIHdpdGggdGhlIGRvdHMgb3Igc3BhY2VzIFdpbmRvd3MgcmVmdXNlcy5cbiAqXG4gKiBBbnN3ZXJzIGZvciBXaW5kb3dzIHJlZ2FyZGxlc3Mgb2YgdGhlIHBsYXRmb3JtIGluIHVzZTogYSB2YXVsdCBpcyBzeW5jZWQsIHNvIHRoZSBydWxlcyB0aGF0IG1hdHRlciBhcmVcbiAqIG5vdCBuZWNlc3NhcmlseSB0aG9zZSBvZiB0aGUgbWFjaGluZSBhc2tpbmcuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byBjaGVjay4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCBub3QgYSBwYXRoLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBuYW1lIGVuZHMgd2l0aCBhIGRvdCBvciBhIHNwYWNlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gV0lORE9XU19UUkFJTElOR19DSEFSU19SRUdfRVhQLnRlc3QobmFtZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBuYW1lIGlzIG9uZSBvZiB0aGUgTVMtRE9TIGRldmljZSBuYW1lcyBXaW5kb3dzIHJlZnVzZXMuXG4gKlxuICogVHdvIHN0ZXBzIHRoZSBjYWxsZXIgd291bGQgb3RoZXJ3aXNlIGhhdmUgdG8ga25vdyBhYm91dCBoYXBwZW4gaGVyZTogdHJhaWxpbmcgZG90cyBhbmQgc3BhY2VzIGFyZVxuICogdHJpbW1lZCBCRUZPUkUgdGhlIHRlc3QsIGJlY2F1c2UgV2luZG93cyBzdHJpcHMgdGhlbSBiZWZvcmUgZGVjaWRpbmcgYW5kIGBDT04gYCBpcyB0aGVyZWZvcmUgYXNcbiAqIHJlc2VydmVkIGFzIGBDT05gOyBhbmQgdGhlIGV4dGVuc2lvbiBpcyBkcm9wcGVkLCBiZWNhdXNlIGBDT04ubWRgIGlzIHJlc2VydmVkIHRvby5cbiAqXG4gKiBgQ09OSU4kYCAvIGBDT05PVVQkYCBhbmQgdGhlIHN1cGVyc2NyaXB0IGBDT03CsmAgZm9ybXMgYXJlIGRlbGliZXJhdGVseSBOT1QgcmVzZXJ2ZWQ6IHRoZXkgYXJlIGFjY2VwdGVkXG4gKiBieSBldmVyeSBXaW5kb3dzIHZlcnNpb24gdGhhdCBydW5zIE9ic2lkaWFuLCBhbmQgbWF0Y2hpbmcgdGhlbSB3b3VsZCByZW5hbWUgZmlsZXMgdGhhdCB3b3JrLlxuICpcbiAqIEFuc3dlcnMgZm9yIFdpbmRvd3MgcmVnYXJkbGVzcyBvZiB0aGUgcGxhdGZvcm0gaW4gdXNlOiBhIHZhdWx0IGlzIHN5bmNlZCwgc28gdGhlIHJ1bGVzIHRoYXQgbWF0dGVyIGFyZVxuICogbm90IG5lY2Vzc2FyaWx5IHRob3NlIG9mIHRoZSBtYWNoaW5lIGFza2luZy5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIHRvIGNoZWNrLiBBIHNpbmdsZSBwYXRoIHNlZ21lbnQsIHdpdGggb3Igd2l0aG91dCBpdHMgZXh0ZW5zaW9uLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBuYW1lIGlzIHJlc2VydmVkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzV2luZG93c1Jlc2VydmVkTmFtZShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgdHJpbW1lZE5hbWUgPSB0cmltV2luZG93c1RyYWlsaW5nQ2hhcnMobmFtZSk7XG4gIHJldHVybiBXSU5ET1dTX1JFU0VSVkVEX05BTUVfUkVHX0VYUC50ZXN0KGJhc2VuYW1lKHRyaW1tZWROYW1lLCBleHRuYW1lKHRyaW1tZWROYW1lKSkpO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgdGhlIHRyYWlsaW5nIGRvdHMgYW5kIHNwYWNlcyBXaW5kb3dzIHJlZnVzZXMgZnJvbSB0aGUgZW5kIG9mIGEgbmFtZS5cbiAqXG4gKiBUcmltIGJlZm9yZSB0ZXN0aW5nIGZvciBhIHJlc2VydmVkIG5hbWUsIG5ldmVyIGFmdGVyOiB0cmltbWluZyBhZnRlcndhcmRzIHR1cm5zIGFuIGFjY2VwdGVkIGBDT04gYCBpbnRvXG4gKiBhIHJlamVjdGVkIGBDT05gLiB7QGxpbmsgaXNXaW5kb3dzUmVzZXJ2ZWROYW1lfSBhbHJlYWR5IGRvZXMgdGhpcyBpbnRlcm5hbGx5LlxuICpcbiAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgdG8gdHJpbS4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCBub3QgYSBwYXRoLlxuICogQHJldHVybnMgVGhlIG5hbWUgd2l0aG91dCBpdHMgdHJhaWxpbmcgZG90cyBhbmQgc3BhY2VzLCB3aGljaCBtYXkgYmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmltV2luZG93c1RyYWlsaW5nQ2hhcnMobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWUucmVwbGFjZShXSU5ET1dTX1RSQUlMSU5HX0NIQVJTX1JFR19FWFAsICcnKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIG5hbWUgaG9sZHMgYSBjb250cm9sIGNoYXJhY3RlciwgVSswMDAwIHRvIFUrMDAxRi5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBuYW1lIGhvbGRzIGEgY29udHJvbCBjaGFyYWN0ZXIsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5mdW5jdGlvbiBoYXNDb250cm9sQ2hhcnMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGZvciAoY29uc3QgY2hhciBvZiBuYW1lKSB7XG4gICAgaWYgKGNoYXIgPCBGSVJTVF9OT05fQ09OVFJPTF9DSEFSKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLGtCQUdPO0FBQ1AscUJBQXNCO0FBQ3RCLHNCQUF5QjtBQUV6QixrQkFBa0I7QUFrQlgsU0FBUywwQkFBMEIsT0FBa0Q7QUFDMUYsU0FBUSxNQUEyQyxzQkFBc0I7QUFDM0U7QUFLTyxNQUFNLGlDQUFpQztBQUt2QyxNQUFNLDRCQUE0QjtBQUtsQyxNQUFNLHlCQUF5QjtBQVd0QyxNQUFNLGdDQUFnQztBQUt0QyxNQUFNLGlDQUFpQztBQUt2QyxNQUFNLHlCQUF5QjtBQXFCeEIsU0FBUyw2QkFBNkIsTUFBYyxXQUE2QjtBQUN0RixNQUFJLFNBQVMsSUFBSTtBQUNmLGVBQU8sZUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLFdBQVcsU0FBUztBQUFBLEVBQ3BEO0FBRUEsTUFBSSxnQkFBZ0IsSUFBSSxHQUFHO0FBQ3pCLGVBQU8sZUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLFdBQVcsa0JBQWtCLEVBQUUsS0FBSyxDQUFDO0FBQUEsRUFDckU7QUFFQSxRQUFNLGNBQWMsSUFBSSxJQUFJLEtBQUssTUFBTSxzQ0FBc0MsU0FBUyxDQUFDLENBQUM7QUFDeEYsTUFBSSxZQUFZLE9BQU8sR0FBRztBQUN4QixlQUFPLGVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxXQUFXLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxHQUFHLFdBQVcsRUFBRSxLQUFLLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFBQSxFQUM3RztBQUVBLE1BQUksd0JBQXdCLElBQUksR0FBRztBQUNqQyxlQUFPLGVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxXQUFXLG9CQUFvQixFQUFFLEtBQUssQ0FBQztBQUFBLEVBQ3ZFO0FBRUEsU0FBTyxzQkFBc0IsSUFBSSxRQUFJLGVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxXQUFXLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxJQUFJO0FBQzFHO0FBVU8sU0FBUyxzQ0FBc0MsV0FBNkI7QUFDakYsYUFBTyxzQkFBTTtBQUFBLElBQ1gsMkJBQTJCLFNBQVM7QUFBQSxJQUNwQztBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBUU8sU0FBUywyQkFBMkIsV0FBNkI7QUFDdEUsZ0JBQWMseUJBQVM7QUFDdkIsU0FBTyxZQUFZLDRCQUE0QjtBQUNqRDtBQVNPLFNBQVMseUJBQXlCLE1BQWMsV0FBNkI7QUFDbEYsU0FBTyxLQUFLLE1BQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLDZCQUE2QixTQUFTLFNBQVMsQ0FBQyxFQUFFLEtBQUssT0FBTyxLQUFLO0FBQzdHO0FBV08sU0FBUyx3QkFBd0IsTUFBdUI7QUFDN0QsU0FBTywrQkFBK0IsS0FBSyxJQUFJO0FBQ2pEO0FBa0JPLFNBQVMsc0JBQXNCLE1BQXVCO0FBQzNELFFBQU0sY0FBYyx5QkFBeUIsSUFBSTtBQUNqRCxTQUFPLDhCQUE4QixTQUFLLHNCQUFTLGlCQUFhLHFCQUFRLFdBQVcsQ0FBQyxDQUFDO0FBQ3ZGO0FBV08sU0FBUyx5QkFBeUIsTUFBc0I7QUFDN0QsU0FBTyxLQUFLLFFBQVEsZ0NBQWdDLEVBQUU7QUFDeEQ7QUFRQSxTQUFTLGdCQUFnQixNQUF1QjtBQUM5QyxhQUFXLFFBQVEsTUFBTTtBQUN2QixRQUFJLE9BQU8sd0JBQXdCO0FBQ2pDLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLCJuYW1lcyI6W119
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWYWxpZGF0aW9uIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZXh0bmFtZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBvbmVPZiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuXG4vKipcbiAqIEhvbGRzIGEgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIHtcbiAgLyoqXG4gICAqIEEgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICAgKi9cbiAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgaG9sZGVyLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWUgaXMgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgaG9sZGVyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBWYWxpZGF0aW9uTWVzc2FnZUhvbGRlciB7XG4gIHJldHVybiAodmFsdWUgYXMgUGFydGlhbDxWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcj4pLnZhbGlkYXRpb25NZXNzYWdlICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogTWF0Y2hlcyBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBzYWZlIHRvIHVzZSBpbiBmaWxlIG5hbWVzIHdpdGhpbiBPYnNpZGlhbi5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX1VOU0FGRV9GSUxFTkFNRV9DSEFSUyA9IC9bI15bXFxdfF0vZztcblxuLyoqXG4gKiBUaGUgY2hhcmFjdGVycyBPYnNpZGlhbiByZWZ1c2VzIGluIGEgZmlsZSBuYW1lIG9uIFdpbmRvd3MuXG4gKlxuICogUmVhZCBmcm9tIE9ic2lkaWFuIDEuMTUuMCdzIGBhcHAuanNgLCB3aG9zZSBuYW1lIGNoZWNrIHRocm93cyBvbiB0aGlzIHNldCBmcm9tIGBhcHAudmF1bHQuY3JlYXRlYCwgYVxuICogcmVuYW1lIGFuZCBTeW5jIGFsaWtlLlxuICovXG5leHBvcnQgY29uc3QgV0lORE9XU19VTlNBRkVfUEFUSF9DSEFSUyA9IC9bKlxcXFwvPD46fD9cIl0vZztcblxuLyoqXG4gKiBUaGUgY2hhcmFjdGVycyBPYnNpZGlhbiByZWZ1c2VzIGluIGEgZmlsZSBuYW1lIG9uIG1hY09TLCBMaW51eCBhbmQgaU9TLCBwbHVzIHRoZSBOVUwgbm8gZmlsZSBzeXN0ZW0gc3RvcmVzLlxuICpcbiAqIFRoaXMgaXMgT2JzaWRpYW4ncyByZWZ1c2FsIHNldCwgbm90IHRoZSBmaWxlIHN5c3RlbSdzOiBtYWNPUyBhbmQgTGludXggc3RvcmUgYFxcYCBhbmQgYDpgLCBidXQgT2JzaWRpYW5cbiAqIHJlZnVzZXMgYm90aCwgc28gYSBuYW1lIGhvbGRpbmcgZWl0aGVyIGNhbm5vdCBiZSBjcmVhdGVkIHRocm91Z2ggdGhlIHZhdWx0IHRoZXJlLiBSZWFkIGZyb20gT2JzaWRpYW5cbiAqIDEuMTUuMCdzIGBhcHAuanNgLlxuICovXG5leHBvcnQgY29uc3QgVU5JWF9VTlNBRkVfUEFUSF9DSEFSUyA9IC9bXFwwXFxcXC86XS9nO1xuXG4vKipcbiAqIFRoZSBjaGFyYWN0ZXJzIE9ic2lkaWFuIHJlZnVzZXMgaW4gYSBmaWxlIG5hbWUgb24gQW5kcm9pZCwgcGx1cyB0aGUgTlVMIG5vIGZpbGUgc3lzdGVtIHN0b3Jlcy5cbiAqXG4gKiBPYnNpZGlhbiBhZGRzIGAqID8gPCA+IFwiYCB0byB0aGUge0BsaW5rIFVOSVhfVU5TQUZFX1BBVEhfQ0hBUlN9IHNldCB0aGVyZSwgYmVjYXVzZSBBbmRyb2lkJ3Mgc2hhcmVkXG4gKiBzdG9yYWdlIHJlZnVzZXMgdGhlbS4gUmVhZCBmcm9tIE9ic2lkaWFuIDEuMTUuMCdzIGBhcHAuanNgLlxuICovXG5leHBvcnQgY29uc3QgQU5EUk9JRF9VTlNBRkVfUEFUSF9DSEFSUyA9IC9bXFwwKlxcXFwvPD46P1wiXS9nO1xuXG4vKipcbiAqIFRoZSBNUy1ET1MgZGV2aWNlIG5hbWVzIFdpbmRvd3Mgc3RpbGwgcmVmdXNlcyBhcyBhIGZpbGUgbmFtZSwgd2l0aCBvciB3aXRob3V0IGFuIGV4dGVuc2lvbi5cbiAqXG4gKiBgQ09OSU4kYCAvIGBDT05PVVQkYCBhbmQgdGhlIHN1cGVyc2NyaXB0IGBDT03CsmAgZm9ybXMgYXJlIGRlbGliZXJhdGVseSBhYnNlbnQ6IHRoZXkgYXJlIGFjY2VwdGVkIGJ5XG4gKiBldmVyeSBXaW5kb3dzIHZlcnNpb24gdGhhdCBydW5zIE9ic2lkaWFuLCBhbmQgbWF0Y2hpbmcgdGhlbSB3b3VsZCByZW5hbWUgZmlsZXMgdGhhdCB3b3JrLlxuICpcbiAqIFVubGlrZSB0aGUgZXhwb3J0ZWQgY2hhcmFjdGVyIHNldHMgYWJvdmUsIHRoaXMgY2FycmllcyBubyBgZ2AgZmxhZywgc28gYHRlc3RgIG1heSBiZSBjYWxsZWQgb24gaXRcbiAqIHJlcGVhdGVkbHkg4oCUIGEgYGdgLWZsYWdnZWQgcmVnZXhwIGFkdmFuY2VzIGBsYXN0SW5kZXhgIGFuZCBhbnN3ZXJzIGRpZmZlcmVudGx5IG9uIGNvbnNlY3V0aXZlIGNhbGxzLlxuICovXG5jb25zdCBXSU5ET1dTX1JFU0VSVkVEX05BTUVfUkVHX0VYUCA9IC9eKD86QVVYfENPTVsxLTldfENPTnxMUFRbMS05XXxOVUx8UFJOKSQvaTtcblxuLyoqXG4gKiBUaGUgdHJhaWxpbmcgZG90cyBhbmQgc3BhY2VzIFdpbmRvd3Mgc3RyaXBzIGZyb20gYSBuYW1lIGJlZm9yZSBpdCBkb2VzIGFueXRoaW5nIGVsc2Ugd2l0aCBpdC5cbiAqL1xuY29uc3QgV0lORE9XU19UUkFJTElOR19DSEFSU19SRUdfRVhQID0gL1sgLl0rJC87XG5cbi8qKlxuICogVGhlIGZpcnN0IGNoYXJhY3RlciBhZnRlciB0aGUgQzAgY29udHJvbCByYW5nZSwgVSswMDAwIHRvIFUrMDAxRiwgd2hpY2ggV2luZG93cyByZWZ1c2VzIGluIGEgbmFtZS5cbiAqL1xuY29uc3QgRklSU1RfTk9OX0NPTlRST0xfQ0hBUiA9ICcgJztcblxuLyoqXG4gKiBWYWxpZGF0ZXMgYSBzaW5nbGUgZmlsZSBvciBmb2xkZXIgbmFtZSBhZ2FpbnN0IGV2ZXJ5IG5hbWluZyBydWxlIHRoaXMgbW9kdWxlIG93bnMuXG4gKlxuICogVGhlIHJ1bGVzLCBjaGVja2VkIGluIHRoaXMgb3JkZXIsIGFuZCB0aGUgZmlyc3Qgb25lIGJyb2tlbiBuYW1lcyB0aGUgbWVzc2FnZTpcbiAqXG4gKiAxLiBUaGUgbmFtZSBpcyBub3QgZW1wdHkuXG4gKiAyLiBJdCBob2xkcyBubyBjb250cm9sIGNoYXJhY3RlciAoVSswMDAwIHRvIFUrMDAxRikuXG4gKiAzLiBJdCBob2xkcyBub25lIG9mIHRoZSBjaGFyYWN0ZXJzIHtAbGluayBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwfSBtYXRjaGVzLlxuICogNC4gSXQgZG9lcyBub3QgZW5kIHdpdGggYSBkb3Qgb3IgYSBzcGFjZSAoe0BsaW5rIGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzfSkuXG4gKiA1LiBJdCBpcyBub3QgYW4gTVMtRE9TIGRldmljZSBuYW1lICh7QGxpbmsgaXNXaW5kb3dzUmVzZXJ2ZWROYW1lfSksIHdpdGggb3Igd2l0aG91dCBhbiBleHRlbnNpb24uXG4gKlxuICogT25seSBydWxlIDMgZGVwZW5kcyBvbiB0aGUgcGxhdGZvcm0uIFJ1bGVzIDIsIDQgYW5kIDUgYXBwbHkgb24gZXZlcnkgcGxhdGZvcm0sIGJlY2F1c2UgYSB2YXVsdCBpcyBzeW5jZWQsXG4gKiBhbmQgYSBuYW1lIGNyZWF0ZWQgb24gbWFjT1Mgb3IgTGludXggdGhhdCBXaW5kb3dzIHJlZnVzZXMgYnJlYWtzIHRoZSB2YXVsdCB0aGVyZS4gVGhlIGNoYXJhY3RlciBzZXQgZm9sbG93c1xuICogdGhlIHBsYXRmb3JtIGJlY2F1c2UgaXQgaXMgT2JzaWRpYW4ncyBvd24gcmVmdXNhbCBzZXQsIHdoaWNoIGRpZmZlcnMgcGVyIHBsYXRmb3JtOiBhIG5hbWUgc3VjaCBhcyBgYT9iYCBpc1xuICogYWNjZXB0ZWQgb24gbWFjT1MsIHdoZXJlIE9ic2lkaWFuIGNyZWF0ZXMgaXQuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byB2YWxpZGF0ZS4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCB3aXRoIG9yIHdpdGhvdXQgaXRzIGV4dGVuc2lvbi5cbiAqIEBwYXJhbSBpc1dpbmRvd3MgLSBXaGV0aGVyIHRvIHVzZSB0aGUgV2luZG93cyBjaGFyYWN0ZXIgc2V0LiBEZWZhdWx0cyB0byBgUGxhdGZvcm0uaXNXaW5gLlxuICogQHBhcmFtIGlzQW5kcm9pZCAtIFdoZXRoZXIgdG8gdXNlIHRoZSBBbmRyb2lkIGNoYXJhY3RlciBzZXQgd2hlbiBgaXNXaW5kb3dzYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG9cbiAqIGBQbGF0Zm9ybS5pc0FuZHJvaWRBcHBgLlxuICogQHJldHVybnMgQSBtZXNzYWdlIGRlc2NyaWJpbmcgdGhlIGZpcnN0IGJyb2tlbiBydWxlLCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIG5hbWUgaXMgdmFsaWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlTmFtZVZhbGlkYXRpb25NZXNzYWdlKG5hbWU6IHN0cmluZywgaXNXaW5kb3dzPzogYm9vbGVhbiwgaXNBbmRyb2lkPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChuYW1lID09PSAnJykge1xuICAgIHJldHVybiB0KCgkKSA9PiAkLm9ic2lkaWFuTGliLnZhbGlkYXRpb24uZW1wdHlOYW1lKTtcbiAgfVxuXG4gIGlmIChoYXNDb250cm9sQ2hhcnMobmFtZSkpIHtcbiAgICByZXR1cm4gdCgoJCkgPT4gJC5vYnNpZGlhbkxpYi52YWxpZGF0aW9uLmNvbnRyb2xDaGFyYWN0ZXIsIHsgbmFtZSB9KTtcbiAgfVxuXG4gIGNvbnN0IHVuc2FmZUNoYXJzID0gbmV3IFNldChuYW1lLm1hdGNoKGdldE9zQW5kT2JzaWRpYW5VbnNhZmVQYXRoQ2hhcnNSZWdFeHAoaXNXaW5kb3dzLCBpc0FuZHJvaWQpKSk7XG4gIGlmICh1bnNhZmVDaGFycy5zaXplID4gMCkge1xuICAgIHJldHVybiB0KCgkKSA9PiAkLm9ic2lkaWFuTGliLnZhbGlkYXRpb24udW5zYWZlQ2hhcmFjdGVycywgeyBjaGFyYWN0ZXJzOiBbLi4udW5zYWZlQ2hhcnNdLmpvaW4oJyAnKSwgbmFtZSB9KTtcbiAgfVxuXG4gIGlmIChoYXNXaW5kb3dzVHJhaWxpbmdDaGFycyhuYW1lKSkge1xuICAgIHJldHVybiB0KCgkKSA9PiAkLm9ic2lkaWFuTGliLnZhbGlkYXRpb24udHJhaWxpbmdDaGFyYWN0ZXJzLCB7IG5hbWUgfSk7XG4gIH1cblxuICByZXR1cm4gaXNXaW5kb3dzUmVzZXJ2ZWROYW1lKG5hbWUpID8gdCgoJCkgPT4gJC5vYnNpZGlhbkxpYi52YWxpZGF0aW9uLndpbmRvd3NSZXNlcnZlZE5hbWUsIHsgbmFtZSB9KSA6ICcnO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSByZWdleHAgbWF0Y2hpbmcgYWxsIHVuc2FmZSBjaGFyYWN0ZXJzIGluIGZpbGUgbmFtZXMvcGF0aHMuXG4gKlxuICogSW5jbHVkZXMgYm90aCB0aGUgcGxhdGZvcm0ncyByZWZ1c2VkIGNoYXJhY3RlcnMgKHtAbGluayBnZXRPc1Vuc2FmZVBhdGhDaGFyc1JlZ0V4cH0pIGFuZCB0aGUgb25lcyB0aGF0IGJyZWFrXG4gKiBsaW5rcyAoe0BsaW5rIE9CU0lESUFOX1VOU0FGRV9GSUxFTkFNRV9DSEFSU30pLlxuICpcbiAqIEBwYXJhbSBpc1dpbmRvd3MgLSBXaGV0aGVyIHRvIHVzZSB0aGUgV2luZG93cyBjaGFyYWN0ZXIgc2V0LiBEZWZhdWx0cyB0byBgUGxhdGZvcm0uaXNXaW5gLlxuICogQHBhcmFtIGlzQW5kcm9pZCAtIFdoZXRoZXIgdG8gdXNlIHRoZSBBbmRyb2lkIGNoYXJhY3RlciBzZXQgd2hlbiBgaXNXaW5kb3dzYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG9cbiAqIGBQbGF0Zm9ybS5pc0FuZHJvaWRBcHBgLlxuICogQHJldHVybnMgQSByZWdleHAgbWF0Y2hpbmcgYWxsIHVuc2FmZSBjaGFyYWN0ZXJzIGluIGZpbGUgbmFtZXMvcGF0aHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cz86IGJvb2xlYW4sIGlzQW5kcm9pZD86IGJvb2xlYW4pOiBSZWdFeHAge1xuICByZXR1cm4gb25lT2YoW1xuICAgIGdldE9zVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cywgaXNBbmRyb2lkKSxcbiAgICBPQlNJRElBTl9VTlNBRkVfRklMRU5BTUVfQ0hBUlNcbiAgXSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHJlZ2V4cCBtYXRjaGluZyB0aGUgY2hhcmFjdGVycyBPYnNpZGlhbiByZWZ1c2VzIGluIGEgZmlsZSBuYW1lIG9uIHRoZSBnaXZlbiBwbGF0Zm9ybS5cbiAqXG4gKiBUaGF0IGlzIHtAbGluayBXSU5ET1dTX1VOU0FGRV9QQVRIX0NIQVJTfSBvbiBXaW5kb3dzLCB7QGxpbmsgQU5EUk9JRF9VTlNBRkVfUEFUSF9DSEFSU30gb24gQW5kcm9pZCBhbmRcbiAqIHtAbGluayBVTklYX1VOU0FGRV9QQVRIX0NIQVJTfSBldmVyeXdoZXJlIGVsc2UuIEl0IGlzIE9ic2lkaWFuJ3Mgc2V0IHJhdGhlciB0aGFuIHRoZSBmaWxlIHN5c3RlbSdzLCBzbyBhXG4gKiBuYW1lIGl0IGFjY2VwdHMgY2FuIGJlIGNyZWF0ZWQgdGhyb3VnaCB0aGUgdmF1bHQuXG4gKlxuICogQHBhcmFtIGlzV2luZG93cyAtIFdoZXRoZXIgdG8gdXNlIHRoZSBXaW5kb3dzIGNoYXJhY3RlciBzZXQuIERlZmF1bHRzIHRvIGBQbGF0Zm9ybS5pc1dpbmAuXG4gKiBAcGFyYW0gaXNBbmRyb2lkIC0gV2hldGhlciB0byB1c2UgdGhlIEFuZHJvaWQgY2hhcmFjdGVyIHNldCB3aGVuIGBpc1dpbmRvd3NgIGlzIGZhbHNlLiBEZWZhdWx0cyB0b1xuICogYFBsYXRmb3JtLmlzQW5kcm9pZEFwcGAuXG4gKiBAcmV0dXJucyBBIHJlZ2V4cCBtYXRjaGluZyB0aGUgY2hhcmFjdGVycyBPYnNpZGlhbiByZWZ1c2VzIGluIGEgZmlsZSBuYW1lIG9uIHRoZSBnaXZlbiBwbGF0Zm9ybS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9zVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cz86IGJvb2xlYW4sIGlzQW5kcm9pZD86IGJvb2xlYW4pOiBSZWdFeHAge1xuICBpc1dpbmRvd3MgPz89IFBsYXRmb3JtLmlzV2luO1xuICBpZiAoaXNXaW5kb3dzKSB7XG4gICAgcmV0dXJuIFdJTkRPV1NfVU5TQUZFX1BBVEhfQ0hBUlM7XG4gIH1cblxuICBpc0FuZHJvaWQgPz89IFBsYXRmb3JtLmlzQW5kcm9pZEFwcDtcbiAgcmV0dXJuIGlzQW5kcm9pZCA/IEFORFJPSURfVU5TQUZFX1BBVEhfQ0hBUlMgOiBVTklYX1VOU0FGRV9QQVRIX0NIQVJTO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyBldmVyeSBzZWdtZW50IG9mIGEgdmF1bHQgcGF0aCB3aXRoIHtAbGluayBnZXRGaWxlTmFtZVZhbGlkYXRpb25NZXNzYWdlfS5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSB2YXVsdC1yZWxhdGl2ZSBwYXRoIHRvIHZhbGlkYXRlLCB3aXRoIGAvYCBhcyB0aGUgc2VwYXJhdG9yLlxuICogQHBhcmFtIGlzV2luZG93cyAtIFdoZXRoZXIgdG8gdXNlIHRoZSBXaW5kb3dzIGNoYXJhY3RlciBzZXQuIERlZmF1bHRzIHRvIGBQbGF0Zm9ybS5pc1dpbmAuXG4gKiBAcGFyYW0gaXNBbmRyb2lkIC0gV2hldGhlciB0byB1c2UgdGhlIEFuZHJvaWQgY2hhcmFjdGVyIHNldCB3aGVuIGBpc1dpbmRvd3NgIGlzIGZhbHNlLiBEZWZhdWx0cyB0b1xuICogYFBsYXRmb3JtLmlzQW5kcm9pZEFwcGAuXG4gKiBAcmV0dXJucyBUaGUgbWVzc2FnZSBmb3IgdGhlIGZpcnN0IGludmFsaWQgc2VnbWVudCwgb3IgYW4gZW1wdHkgc3RyaW5nIGlmIGV2ZXJ5IHNlZ21lbnQgaXMgdmFsaWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXRoVmFsaWRhdGlvbk1lc3NhZ2UocGF0aDogc3RyaW5nLCBpc1dpbmRvd3M/OiBib29sZWFuLCBpc0FuZHJvaWQ/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguc3BsaXQoJy8nKS5tYXAoKHNlZ21lbnQpID0+IGdldEZpbGVOYW1lVmFsaWRhdGlvbk1lc3NhZ2Uoc2VnbWVudCwgaXNXaW5kb3dzLCBpc0FuZHJvaWQpKS5maW5kKEJvb2xlYW4pID8/ICcnO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbmFtZSBlbmRzIHdpdGggdGhlIGRvdHMgb3Igc3BhY2VzIFdpbmRvd3MgcmVmdXNlcy5cbiAqXG4gKiBBbnN3ZXJzIGZvciBXaW5kb3dzIHJlZ2FyZGxlc3Mgb2YgdGhlIHBsYXRmb3JtIGluIHVzZTogYSB2YXVsdCBpcyBzeW5jZWQsIHNvIHRoZSBydWxlcyB0aGF0IG1hdHRlciBhcmVcbiAqIG5vdCBuZWNlc3NhcmlseSB0aG9zZSBvZiB0aGUgbWFjaGluZSBhc2tpbmcuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byBjaGVjay4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCBub3QgYSBwYXRoLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBuYW1lIGVuZHMgd2l0aCBhIGRvdCBvciBhIHNwYWNlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gV0lORE9XU19UUkFJTElOR19DSEFSU19SRUdfRVhQLnRlc3QobmFtZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBuYW1lIGlzIG9uZSBvZiB0aGUgTVMtRE9TIGRldmljZSBuYW1lcyBXaW5kb3dzIHJlZnVzZXMuXG4gKlxuICogVHdvIHN0ZXBzIHRoZSBjYWxsZXIgd291bGQgb3RoZXJ3aXNlIGhhdmUgdG8ga25vdyBhYm91dCBoYXBwZW4gaGVyZTogdHJhaWxpbmcgZG90cyBhbmQgc3BhY2VzIGFyZVxuICogdHJpbW1lZCBCRUZPUkUgdGhlIHRlc3QsIGJlY2F1c2UgV2luZG93cyBzdHJpcHMgdGhlbSBiZWZvcmUgZGVjaWRpbmcgYW5kIGBDT04gYCBpcyB0aGVyZWZvcmUgYXNcbiAqIHJlc2VydmVkIGFzIGBDT05gOyBhbmQgdGhlIGV4dGVuc2lvbiBpcyBkcm9wcGVkLCBiZWNhdXNlIGBDT04ubWRgIGlzIHJlc2VydmVkIHRvby5cbiAqXG4gKiBgQ09OSU4kYCAvIGBDT05PVVQkYCBhbmQgdGhlIHN1cGVyc2NyaXB0IGBDT03CsmAgZm9ybXMgYXJlIGRlbGliZXJhdGVseSBOT1QgcmVzZXJ2ZWQ6IHRoZXkgYXJlIGFjY2VwdGVkXG4gKiBieSBldmVyeSBXaW5kb3dzIHZlcnNpb24gdGhhdCBydW5zIE9ic2lkaWFuLCBhbmQgbWF0Y2hpbmcgdGhlbSB3b3VsZCByZW5hbWUgZmlsZXMgdGhhdCB3b3JrLlxuICpcbiAqIEFuc3dlcnMgZm9yIFdpbmRvd3MgcmVnYXJkbGVzcyBvZiB0aGUgcGxhdGZvcm0gaW4gdXNlOiBhIHZhdWx0IGlzIHN5bmNlZCwgc28gdGhlIHJ1bGVzIHRoYXQgbWF0dGVyIGFyZVxuICogbm90IG5lY2Vzc2FyaWx5IHRob3NlIG9mIHRoZSBtYWNoaW5lIGFza2luZy5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIHRvIGNoZWNrLiBBIHNpbmdsZSBwYXRoIHNlZ21lbnQsIHdpdGggb3Igd2l0aG91dCBpdHMgZXh0ZW5zaW9uLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBuYW1lIGlzIHJlc2VydmVkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzV2luZG93c1Jlc2VydmVkTmFtZShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgdHJpbW1lZE5hbWUgPSB0cmltV2luZG93c1RyYWlsaW5nQ2hhcnMobmFtZSk7XG4gIHJldHVybiBXSU5ET1dTX1JFU0VSVkVEX05BTUVfUkVHX0VYUC50ZXN0KGJhc2VuYW1lKHRyaW1tZWROYW1lLCBleHRuYW1lKHRyaW1tZWROYW1lKSkpO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgdGhlIHRyYWlsaW5nIGRvdHMgYW5kIHNwYWNlcyBXaW5kb3dzIHJlZnVzZXMgZnJvbSB0aGUgZW5kIG9mIGEgbmFtZS5cbiAqXG4gKiBUcmltIGJlZm9yZSB0ZXN0aW5nIGZvciBhIHJlc2VydmVkIG5hbWUsIG5ldmVyIGFmdGVyOiB0cmltbWluZyBhZnRlcndhcmRzIHR1cm5zIGFuIGFjY2VwdGVkIGBDT04gYCBpbnRvXG4gKiBhIHJlamVjdGVkIGBDT05gLiB7QGxpbmsgaXNXaW5kb3dzUmVzZXJ2ZWROYW1lfSBhbHJlYWR5IGRvZXMgdGhpcyBpbnRlcm5hbGx5LlxuICpcbiAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgdG8gdHJpbS4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCBub3QgYSBwYXRoLlxuICogQHJldHVybnMgVGhlIG5hbWUgd2l0aG91dCBpdHMgdHJhaWxpbmcgZG90cyBhbmQgc3BhY2VzLCB3aGljaCBtYXkgYmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmltV2luZG93c1RyYWlsaW5nQ2hhcnMobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWUucmVwbGFjZShXSU5ET1dTX1RSQUlMSU5HX0NIQVJTX1JFR19FWFAsICcnKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIG5hbWUgaG9sZHMgYSBjb250cm9sIGNoYXJhY3RlciwgVSswMDAwIHRvIFUrMDAxRi5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBuYW1lIGhvbGRzIGEgY29udHJvbCBjaGFyYWN0ZXIsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5mdW5jdGlvbiBoYXNDb250cm9sQ2hhcnMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGZvciAoY29uc3QgY2hhciBvZiBuYW1lKSB7XG4gICAgaWYgKGNoYXIgPCBGSVJTVF9OT05fQ09OVFJPTF9DSEFSKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsa0JBR087QUFDUCxxQkFBc0I7QUFDdEIsc0JBQXlCO0FBRXpCLGtCQUFrQjtBQWtCWCxTQUFTLDBCQUEwQixPQUFrRDtBQUMxRixTQUFRLE1BQTJDLHNCQUFzQjtBQUMzRTtBQUtPLE1BQU0saUNBQWlDO0FBUXZDLE1BQU0sNEJBQTRCO0FBU2xDLE1BQU0seUJBQXlCO0FBUS9CLE1BQU0sNEJBQTRCO0FBV3pDLE1BQU0sZ0NBQWdDO0FBS3RDLE1BQU0saUNBQWlDO0FBS3ZDLE1BQU0seUJBQXlCO0FBd0J4QixTQUFTLDZCQUE2QixNQUFjLFdBQXFCLFdBQTZCO0FBQzNHLE1BQUksU0FBUyxJQUFJO0FBQ2YsZUFBTyxlQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksV0FBVyxTQUFTO0FBQUEsRUFDcEQ7QUFFQSxNQUFJLGdCQUFnQixJQUFJLEdBQUc7QUFDekIsZUFBTyxlQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksV0FBVyxrQkFBa0IsRUFBRSxLQUFLLENBQUM7QUFBQSxFQUNyRTtBQUVBLFFBQU0sY0FBYyxJQUFJLElBQUksS0FBSyxNQUFNLHNDQUFzQyxXQUFXLFNBQVMsQ0FBQyxDQUFDO0FBQ25HLE1BQUksWUFBWSxPQUFPLEdBQUc7QUFDeEIsZUFBTyxlQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksV0FBVyxrQkFBa0IsRUFBRSxZQUFZLENBQUMsR0FBRyxXQUFXLEVBQUUsS0FBSyxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBQUEsRUFDN0c7QUFFQSxNQUFJLHdCQUF3QixJQUFJLEdBQUc7QUFDakMsZUFBTyxlQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksV0FBVyxvQkFBb0IsRUFBRSxLQUFLLENBQUM7QUFBQSxFQUN2RTtBQUVBLFNBQU8sc0JBQXNCLElBQUksUUFBSSxlQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksV0FBVyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsSUFBSTtBQUMxRztBQWFPLFNBQVMsc0NBQXNDLFdBQXFCLFdBQTZCO0FBQ3RHLGFBQU8sc0JBQU07QUFBQSxJQUNYLDJCQUEyQixXQUFXLFNBQVM7QUFBQSxJQUMvQztBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBY08sU0FBUywyQkFBMkIsV0FBcUIsV0FBNkI7QUFDM0YsZ0JBQWMseUJBQVM7QUFDdkIsTUFBSSxXQUFXO0FBQ2IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxnQkFBYyx5QkFBUztBQUN2QixTQUFPLFlBQVksNEJBQTRCO0FBQ2pEO0FBV08sU0FBUyx5QkFBeUIsTUFBYyxXQUFxQixXQUE2QjtBQUN2RyxTQUFPLEtBQUssTUFBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksNkJBQTZCLFNBQVMsV0FBVyxTQUFTLENBQUMsRUFBRSxLQUFLLE9BQU8sS0FBSztBQUN4SDtBQVdPLFNBQVMsd0JBQXdCLE1BQXVCO0FBQzdELFNBQU8sK0JBQStCLEtBQUssSUFBSTtBQUNqRDtBQWtCTyxTQUFTLHNCQUFzQixNQUF1QjtBQUMzRCxRQUFNLGNBQWMseUJBQXlCLElBQUk7QUFDakQsU0FBTyw4QkFBOEIsU0FBSyxzQkFBUyxpQkFBYSxxQkFBUSxXQUFXLENBQUMsQ0FBQztBQUN2RjtBQVdPLFNBQVMseUJBQXlCLE1BQXNCO0FBQzdELFNBQU8sS0FBSyxRQUFRLGdDQUFnQyxFQUFFO0FBQ3hEO0FBUUEsU0FBUyxnQkFBZ0IsTUFBdUI7QUFDOUMsYUFBVyxRQUFRLE1BQU07QUFDdkIsUUFBSSxPQUFPLHdCQUF3QjtBQUNqQyxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7IiwibmFtZXMiOltdfQ==
@@ -25,13 +25,27 @@ export declare function isValidationMessageHolder(value: unknown): value is Vali
25
25
  */
26
26
  export declare const OBSIDIAN_UNSAFE_FILENAME_CHARS: RegExp;
27
27
  /**
28
- * Windows-specific unsafe file name path characters.
28
+ * The characters Obsidian refuses in a file name on Windows.
29
+ *
30
+ * Read from Obsidian 1.15.0's `app.js`, whose name check throws on this set from `app.vault.create`, a
31
+ * rename and Sync alike.
29
32
  */
30
33
  export declare const WINDOWS_UNSAFE_PATH_CHARS: RegExp;
31
34
  /**
32
- * Unix-specific unsafe file name path characters.
35
+ * The characters Obsidian refuses in a file name on macOS, Linux and iOS, plus the NUL no file system stores.
36
+ *
37
+ * This is Obsidian's refusal set, not the file system's: macOS and Linux store `\` and `:`, but Obsidian
38
+ * refuses both, so a name holding either cannot be created through the vault there. Read from Obsidian
39
+ * 1.15.0's `app.js`.
33
40
  */
34
41
  export declare const UNIX_UNSAFE_PATH_CHARS: RegExp;
42
+ /**
43
+ * The characters Obsidian refuses in a file name on Android, plus the NUL no file system stores.
44
+ *
45
+ * Obsidian adds `* ? < > "` to the {@link UNIX_UNSAFE_PATH_CHARS} set there, because Android's shared
46
+ * storage refuses them. Read from Obsidian 1.15.0's `app.js`.
47
+ */
48
+ export declare const ANDROID_UNSAFE_PATH_CHARS: RegExp;
35
49
  /**
36
50
  * Validates a single file or folder name against every naming rule this module owns.
37
51
  *
@@ -43,39 +57,53 @@ export declare const UNIX_UNSAFE_PATH_CHARS: RegExp;
43
57
  * 4. It does not end with a dot or a space ({@link hasWindowsTrailingChars}).
44
58
  * 5. It is not an MS-DOS device name ({@link isWindowsReservedName}), with or without an extension.
45
59
  *
46
- * Only rule 3 depends on `isWindows`. Rules 2, 4 and 5 apply on every platform, because a vault is synced,
47
- * and a name created on macOS or Linux that Windows refuses breaks the vault there. The character set stays
48
- * platform-dependent, because a name such as `Meeting: notes` is common on macOS, where it works.
60
+ * Only rule 3 depends on the platform. Rules 2, 4 and 5 apply on every platform, because a vault is synced,
61
+ * and a name created on macOS or Linux that Windows refuses breaks the vault there. The character set follows
62
+ * the platform because it is Obsidian's own refusal set, which differs per platform: a name such as `a?b` is
63
+ * accepted on macOS, where Obsidian creates it.
49
64
  *
50
65
  * @param name - The name to validate. A single path segment, with or without its extension.
51
- * @param isWindows - Whether to include the Windows-specific character set. Defaults to `Platform.isWin`.
66
+ * @param isWindows - Whether to use the Windows character set. Defaults to `Platform.isWin`.
67
+ * @param isAndroid - Whether to use the Android character set when `isWindows` is false. Defaults to
68
+ * `Platform.isAndroidApp`.
52
69
  * @returns A message describing the first broken rule, or an empty string if the name is valid.
53
70
  */
54
- export declare function getFileNameValidationMessage(name: string, isWindows?: boolean): string;
71
+ export declare function getFileNameValidationMessage(name: string, isWindows?: boolean, isAndroid?: boolean): string;
55
72
  /**
56
73
  * Returns a regexp matching all unsafe characters in file names/paths.
57
74
  *
58
- * Includes both OS-specific restrictions and Obsidian-specific ones.
75
+ * Includes both the platform's refused characters ({@link getOsUnsafePathCharsRegExp}) and the ones that break
76
+ * links ({@link OBSIDIAN_UNSAFE_FILENAME_CHARS}).
59
77
  *
60
- * @param isWindows - Whether to include Windows-specific restrictions. Defaults to `Platform.isWin`.
78
+ * @param isWindows - Whether to use the Windows character set. Defaults to `Platform.isWin`.
79
+ * @param isAndroid - Whether to use the Android character set when `isWindows` is false. Defaults to
80
+ * `Platform.isAndroidApp`.
61
81
  * @returns A regexp matching all unsafe characters in file names/paths.
62
82
  */
63
- export declare function getOsAndObsidianUnsafePathCharsRegExp(isWindows?: boolean): RegExp;
83
+ export declare function getOsAndObsidianUnsafePathCharsRegExp(isWindows?: boolean, isAndroid?: boolean): RegExp;
64
84
  /**
65
- * Returns a regexp matching characters that are not safe to use in file names/paths at the OS level.
85
+ * Returns a regexp matching the characters Obsidian refuses in a file name on the given platform.
86
+ *
87
+ * That is {@link WINDOWS_UNSAFE_PATH_CHARS} on Windows, {@link ANDROID_UNSAFE_PATH_CHARS} on Android and
88
+ * {@link UNIX_UNSAFE_PATH_CHARS} everywhere else. It is Obsidian's set rather than the file system's, so a
89
+ * name it accepts can be created through the vault.
66
90
  *
67
- * @param isWindows - Whether to include Windows-specific restrictions. Defaults to `Platform.isWin`.
68
- * @returns A regexp matching characters that are not safe to use in file names/paths at the OS level.
91
+ * @param isWindows - Whether to use the Windows character set. Defaults to `Platform.isWin`.
92
+ * @param isAndroid - Whether to use the Android character set when `isWindows` is false. Defaults to
93
+ * `Platform.isAndroidApp`.
94
+ * @returns A regexp matching the characters Obsidian refuses in a file name on the given platform.
69
95
  */
70
- export declare function getOsUnsafePathCharsRegExp(isWindows?: boolean): RegExp;
96
+ export declare function getOsUnsafePathCharsRegExp(isWindows?: boolean, isAndroid?: boolean): RegExp;
71
97
  /**
72
98
  * Validates every segment of a vault path with {@link getFileNameValidationMessage}.
73
99
  *
74
100
  * @param path - The vault-relative path to validate, with `/` as the separator.
75
- * @param isWindows - Whether to include the Windows-specific character set. Defaults to `Platform.isWin`.
101
+ * @param isWindows - Whether to use the Windows character set. Defaults to `Platform.isWin`.
102
+ * @param isAndroid - Whether to use the Android character set when `isWindows` is false. Defaults to
103
+ * `Platform.isAndroidApp`.
76
104
  * @returns The message for the first invalid segment, or an empty string if every segment is valid.
77
105
  */
78
- export declare function getPathValidationMessage(path: string, isWindows?: boolean): string;
106
+ export declare function getPathValidationMessage(path: string, isWindows?: boolean, isAndroid?: boolean): string;
79
107
  /**
80
108
  * Checks whether a name ends with the dots or spaces Windows refuses.
81
109
  *
@@ -57,7 +57,7 @@ export { CssClass } from './css-class.mjs';
57
57
  export { PluginDataHandler } from './data-handler.mjs';
58
58
  export { fixTitle, makeLinkWithPath } from './dataview-link.mjs';
59
59
  export { getRenderedContainer, insertCodeBlock, reloadCurrentFileCache, renderIframe, renderPaginatedList, renderPaginatedTable } from './dataview.mjs';
60
- export { getObsidianLibDebugger } from './debug.mjs';
60
+ export { getObsidianLibDebugger, showInitialDebugMessage } from './debug.mjs';
61
61
  export { bootstrapDemoVault } from './demo-vault-helper.mjs';
62
62
  export { getDemoVaultArchiveFileName, getDemoVaultFolderName } from './demo-vault-naming.mjs';
63
63
  export { openDemoVault } from './desktop-demo-vault-opener.mjs';
@@ -70,7 +70,7 @@ export { applyContentChanges, applyFileChanges, isCanvasChange, isCanvasFileNode
70
70
  export { revealInFileExplorer } from './file-explorer.mjs';
71
71
  export { addAlias, deleteAlias, processFrontmatter, waitForPendingLinkUpdates } from './file-manager.mjs';
72
72
  export { asArrayOfFiles, asArrayOfFolders, asFile, asFileOrNull, asFolder, asFolderOrNull, BASE_FILE_EXTENSION, CANVAS_FILE_EXTENSION, checkExtension, doesExist, FileSystemType, getAbstractFile, getAbstractFileOrNull, getBasename, getExtension, getFile, getFileOrNull, getFileSystemType, getFolder, getFolderOrNull, getMarkdownFiles, getOrCreateFile, getOrCreateFolder, getPath, isAbstractFile, isBaseFile, isCanvasFile, isFile, isFolder, isMarkdownFile, isNote, isPathOrFile, isTreatedAsAttachment, MARKDOWN_FILE_EXTENSION, MissingPathTreatment, trimMarkdownExtension } from './file-system.mjs';
73
- export { FOLDER_NOTES_PLUGIN_ID, FolderNoteLocation, resolveFolderNote, resolveFolderNoteConfig } from './folder-note.mjs';
73
+ export { FOLDER_NOTES_PLUGIN_ID, FolderNoteLocation, getFolderNoteFolder, resolveFolderNote, resolveFolderNoteConfig } from './folder-note.mjs';
74
74
  export { enableFrontmatterFormattingPreservation, preserveFrontmatterFormatting } from './frontmatter-formatting.mjs';
75
75
  export { isFrontmatterLinkCacheWithOffsets, toFrontmatterLinkCacheWithOffsets } from './frontmatter-link-cache-with-offsets.mjs';
76
76
  export { checkIsPlainObject, parseFrontmatter, registerFrontmatterFormattingPreserver, removeEmptyFrontmatterValues, setFrontmatter } from './frontmatter.mjs';
@@ -160,7 +160,7 @@ export { PluginStatusBarItemRegistrar } from './status-bar-item-registrar.mjs';
160
160
  export { getTemplaterFunctions, getTemplaterRenderTargetFile, parseTemplate, requireTemplaterApi, resolveTemplaterApi, TEMPLATER_PLUGIN_ID, TemplaterActiveFileProvider, TemplaterRunMode, TemplaterUnavailabilityReason, TemplaterUnavailableError } from './templater.mjs';
161
161
  export { DurationTransformer } from './transformers/duration-transformer.mjs';
162
162
  export { clickElement, clickMouse, hoverElement, moveMouse, pressKey, typeIntoEditor, unhoverElement } from './trusted-input.mjs';
163
- export { getFileNameValidationMessage, getOsAndObsidianUnsafePathCharsRegExp, getOsUnsafePathCharsRegExp, getPathValidationMessage, hasWindowsTrailingChars, isValidationMessageHolder, isWindowsReservedName, OBSIDIAN_UNSAFE_FILENAME_CHARS, trimWindowsTrailingChars, UNIX_UNSAFE_PATH_CHARS, WINDOWS_UNSAFE_PATH_CHARS } from './validation.mjs';
163
+ export { ANDROID_UNSAFE_PATH_CHARS, getFileNameValidationMessage, getOsAndObsidianUnsafePathCharsRegExp, getOsUnsafePathCharsRegExp, getPathValidationMessage, hasWindowsTrailingChars, isValidationMessageHolder, isWindowsReservedName, OBSIDIAN_UNSAFE_FILENAME_CHARS, trimWindowsTrailingChars, UNIX_UNSAFE_PATH_CHARS, WINDOWS_UNSAFE_PATH_CHARS } from './validation.mjs';
164
164
  export { deleteIfNotUsed, DeleteIfNotUsedResult } from './vault-delete.mjs';
165
165
  export { VaultTransaction } from './vault-transaction.mjs';
166
166
  export { cleanupEmptyFolders, copySafe, createFolderSafe, CreateFolderSafeResult, createTemporaryFile, createTemporaryFolder, deleteEmptyFolder, deleteEmptyFolderHierarchy, getAbstractFilePathSafe, getAvailablePath, getFilePathSafe, getFolderPathSafe, getMarkdownFilesSorted, getNoteFilesSorted, getOrCreateAbstractFileSafe, getOrCreateFileSafe, getOrCreateFolderSafe, getSafeRenamePath, InvokeFileActionSafeResult, invokeWithFileSystemLock, isChild, isChildOrSelf, isEmptyFolder, listSafe, process, readSafe, renameSafe, saveNote, trashSafe } from './vault.mjs';
@@ -178,7 +178,7 @@ export { ASYNC_OPERATION_HOOK_KEY, ASYNC_OPERATION_HOOK_VERSION, getAsyncOperati
178
178
  export { Beeper } from '@mnaoumov/typescript-lib/beeper';
179
179
  export { blobToArrayBuffer, blobToDataUrl, blobToJpegArrayBuffer, dataUrlToArrayBuffer, isImageFile } from '@mnaoumov/typescript-lib/blob';
180
180
  export { formatBytes } from '@mnaoumov/typescript-lib/bytes';
181
- export { enableLibraryDebuggers, getDebugController, getDebugger, getLibDebugger, printWithStackTrace, showInitialDebugMessage } from '@mnaoumov/typescript-lib/debug';
181
+ export { enableLibraryDebuggers, formatDebugGuideReference, getDebugController, getDebugger, getLibDebugger, isDebugNamespaceEnabled, printWithStackTrace } from '@mnaoumov/typescript-lib/debug';
182
182
  export { getDebugSwitch, getDebugSwitches, getTerminateOnTimeoutDebugSwitch, onDebugSwitchChanged, registerDebugSwitch, setDebugSwitch } from '@mnaoumov/typescript-lib/debug-switches';
183
183
  export { extractZipArchive } from '@mnaoumov/typescript-lib/desktop-zip-extractor';
184
184
  export { AsyncCallbackDisposable, AsyncDisposableBase, CallbackDisposable, CombineAsyncDisposable, CombineDisposable, DisposableBase, dispose, disposeAsync, DisposeErrorBehavior, DisposeOrder, isAsyncDisposable, isAsyncDisposableEx, isDisposable, isDisposableEx, MultipleDisposeBehavior, toAsyncDisposableEx, toDisposableEx } from '@mnaoumov/typescript-lib/disposable';