obsidian-typings 2.2.1-beta.30 → 2.2.1-beta.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/implementations.cjs +28 -28
- package/dist/implementations.d.ts +1940 -1940
- package/dist/obsidian-typings.api.json +65 -38
- package/dist/types.d.ts +5620 -5605
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -79,13 +79,13 @@ Be aware that the typings currently only cover a subset of the full API: while m
|
|
|
79
79
|
|
|
80
80
|
3. **Explicit type importing**
|
|
81
81
|
|
|
82
|
-
If you prefer not to add `obsidian-typings` to your `types`, you can also add `import
|
|
82
|
+
If you prefer not to add `obsidian-typings` to your `types`, you can also add `import 'obsidian-typings';` to any project file.
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
4. **Using `obsidian-typings/implementations`** <span id="using-obsidian-typings-implementations"></span>
|
|
87
87
|
|
|
88
|
-
Depending on how your project is set up, `import { X } from
|
|
88
|
+
Depending on how your project is set up, `import { X } from 'obsidian-typings/implementations';` may not work straight out of the box, e.g., if you have `"moduleResolution": "node"` or `"node10"` in your `tsconfig.json`
|
|
89
89
|
|
|
90
90
|
To solve this, you can add the following to your `tsconfig.json`:
|
|
91
91
|
|
|
@@ -110,7 +110,7 @@ Be aware that the typings currently only cover a subset of the full API: while m
|
|
|
110
110
|
To access types from the `obsidian` module, the import syntax does not change:
|
|
111
111
|
|
|
112
112
|
```ts
|
|
113
|
-
import { App } from
|
|
113
|
+
import { App } from 'obsidian';
|
|
114
114
|
|
|
115
115
|
function printInternalPlugins(app: App): void {
|
|
116
116
|
console.log(app.internalPlugins);
|
|
@@ -122,7 +122,7 @@ function printInternalPlugins(app: App): void {
|
|
|
122
122
|
Additional interfaces added by this package (which do not exist in the official API), can be imported using:
|
|
123
123
|
|
|
124
124
|
```ts
|
|
125
|
-
import { InternalPlugins } from
|
|
125
|
+
import { InternalPlugins } from 'obsidian-typings';
|
|
126
126
|
|
|
127
127
|
const internalPlugins: InternalPlugins = this.app.internalPlugins;
|
|
128
128
|
```
|
|
@@ -132,7 +132,7 @@ const internalPlugins: InternalPlugins = this.app.internalPlugins;
|
|
|
132
132
|
Additional helper functions/types/... added by this package can be used by importing from `obsidian-typings/implementations`:
|
|
133
133
|
|
|
134
134
|
```ts
|
|
135
|
-
import { InternalPluginName } from
|
|
135
|
+
import { InternalPluginName } from 'obsidian-typings/implementations';
|
|
136
136
|
|
|
137
137
|
this.app.internalPlugins.getEnabledPluginById(InternalPluginName.FileExplorer);
|
|
138
138
|
```
|
|
@@ -145,7 +145,7 @@ If you need to extend the typings provided by this package, add the following to
|
|
|
145
145
|
|
|
146
146
|
```ts
|
|
147
147
|
export {}; // This is a very essential line. If you don't have any other top-level `import/export` statements, those typings will work not as expected.
|
|
148
|
-
declare module
|
|
148
|
+
declare module 'obsidian-typings' {
|
|
149
149
|
interface PluginsPluginsRecord {
|
|
150
150
|
myPlugin: MyPlugin;
|
|
151
151
|
}
|
package/dist/implementations.cjs
CHANGED
|
@@ -37,21 +37,15 @@ __export(implementations_exports, {
|
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(implementations_exports);
|
|
39
39
|
|
|
40
|
-
// src/obsidian/implementations/
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return new import_obsidian.TFile(vault, path);
|
|
40
|
+
// src/obsidian/implementations/PathUtils.ts
|
|
41
|
+
function parentFolderPath(path) {
|
|
42
|
+
return path.replace(/\/?[^\/]*$/, "") || "/";
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
// src/obsidian/implementations/Constructors/constructTFolder.ts
|
|
47
|
-
var
|
|
46
|
+
var import_obsidian = require("obsidian");
|
|
48
47
|
function constructTFolder(vault, path) {
|
|
49
|
-
return new
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// src/obsidian/implementations/PathUtils.ts
|
|
53
|
-
function parentFolderPath(path) {
|
|
54
|
-
return path.replace(/\/?[^\/]*$/, "") || "/";
|
|
48
|
+
return new import_obsidian.TFolder(vault, path);
|
|
55
49
|
}
|
|
56
50
|
|
|
57
51
|
// src/obsidian/implementations/createTFolderInstance.ts
|
|
@@ -66,18 +60,6 @@ function createTFolderInstance(vault, path) {
|
|
|
66
60
|
return folder;
|
|
67
61
|
}
|
|
68
62
|
|
|
69
|
-
// src/obsidian/implementations/createTFileInstance.ts
|
|
70
|
-
function createTFileInstance(vault, path) {
|
|
71
|
-
let file = vault.getFileByPath(path);
|
|
72
|
-
if (file) {
|
|
73
|
-
return file;
|
|
74
|
-
}
|
|
75
|
-
file = constructTFile(vault, path);
|
|
76
|
-
file.parent = createTFolderInstance(vault, parentFolderPath(path));
|
|
77
|
-
file.deleted = true;
|
|
78
|
-
return file;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
63
|
// src/obsidian/implementations/CustomArrayDictImpl.ts
|
|
82
64
|
var CustomArrayDictImpl = class {
|
|
83
65
|
data = {};
|
|
@@ -162,10 +144,22 @@ var InternalPluginName = {
|
|
|
162
144
|
ZkPrefixer: "zk-prefixer"
|
|
163
145
|
};
|
|
164
146
|
|
|
165
|
-
// src/obsidian/implementations/Constructors/
|
|
166
|
-
var
|
|
167
|
-
function
|
|
168
|
-
return new
|
|
147
|
+
// src/obsidian/implementations/Constructors/constructTFile.ts
|
|
148
|
+
var import_obsidian2 = require("obsidian");
|
|
149
|
+
function constructTFile(vault, path) {
|
|
150
|
+
return new import_obsidian2.TFile(vault, path);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// src/obsidian/implementations/createTFileInstance.ts
|
|
154
|
+
function createTFileInstance(vault, path) {
|
|
155
|
+
let file = vault.getFileByPath(path);
|
|
156
|
+
if (file) {
|
|
157
|
+
return file;
|
|
158
|
+
}
|
|
159
|
+
file = constructTFile(vault, path);
|
|
160
|
+
file.parent = createTFolderInstance(vault, parentFolderPath(path));
|
|
161
|
+
file.deleted = true;
|
|
162
|
+
return file;
|
|
169
163
|
}
|
|
170
164
|
|
|
171
165
|
// src/obsidian/implementations/Constructors/constructInternalPlugins.ts
|
|
@@ -181,4 +175,10 @@ function constructInternalPlugin(app, instance, internalPlugins) {
|
|
|
181
175
|
}
|
|
182
176
|
return new anyPlugin.constructor(app, instance, internalPlugins);
|
|
183
177
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURm9sZGVyLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvUGF0aFV0aWxzLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZpbGVJbnN0YW5jZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0N1c3RvbUFycmF5RGljdEltcGwudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9JbnRlcm5hbFBsdWdpbk5hbWUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvY29uc3RydWN0QXBwLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2lucy50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlVEZpbGVJbnN0YW5jZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVRGb2xkZXJJbnN0YW5jZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1BhdGhVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0N1c3RvbUFycmF5RGljdEltcGwuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9JbnRlcm5hbFBsdWdpbk5hbWUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0QXBwLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGb2xkZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2luLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGaWxlLmpzJztcbmltcG9ydCAnLi4vLi4vaW5kZXguanMnO1xuIiwgImltcG9ydCB7XG4gICAgVEZpbGUsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZpbGVDb25zdHJ1Y3RvciA9IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZykgPT4gVEZpbGU7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBURmlsZSBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZpbGUgYmVsb25ncy5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgVEZpbGUgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURmlsZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICByZXR1cm4gbmV3IChURmlsZSBhcyBURmlsZUNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURm9sZGVyLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG50eXBlIFRGb2xkZXJDb25zdHJ1Y3RvciA9IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZykgPT4gVEZvbGRlcjtcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IFRGb2xkZXIgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIHZhdWx0IC0gVGhlIHZhdWx0IHRvIHdoaWNoIHRoZSBmb2xkZXIgYmVsb25ncy5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZvbGRlci5cbiAqIEByZXR1cm5zIFRoZSBjb25zdHJ1Y3RlZCBURm9sZGVyIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0VEZvbGRlcih2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGb2xkZXIge1xuICAgIHJldHVybiBuZXcgKFRGb2xkZXIgYXMgVEZvbGRlckNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG59XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIHBhcmVudEZvbGRlclBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9cXC8/W15cXC9dKiQvLCAnJykgfHwgJy8nO1xufVxuIiwgImltcG9ydCB7XG4gICAgVEZvbGRlcixcbiAgICB0eXBlIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGNvbnN0cnVjdFRGb2xkZXIgfSBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURm9sZGVyLnRzJztcbmltcG9ydCB7IHBhcmVudEZvbGRlclBhdGggfSBmcm9tICcuL1BhdGhVdGlscy50cyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgcHJvcGVybHkgaW5pdGlhbGl6ZXMgdGhlIGluc3RhbmNlIG9mIFRGb2xkZXIgZXZlbiB0aGUgdW5kZXJseWluZyBmb2xkZXIgZG9lcyBub3QgZXhpc3QuXG4gKiBUaGlzIGRvZXNuJ3QgY3JlYXRlIHRoZSBtaXNzaW5nIGZvbGRlciBvbiB0aGUgZmlsZSBzeXN0ZW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURm9sZGVyIHtcbiAgICBsZXQgZm9sZGVyID0gdmF1bHQuZ2V0Rm9sZGVyQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgICAgcmV0dXJuIGZvbGRlcjtcbiAgICB9XG5cbiAgICBmb2xkZXIgPSBjb25zdHJ1Y3RURm9sZGVyKHZhdWx0LCBwYXRoKTtcbiAgICBmb2xkZXIucGFyZW50ID0gY3JlYXRlVEZvbGRlckluc3RhbmNlKHZhdWx0LCBwYXJlbnRGb2xkZXJQYXRoKHBhdGgpKTtcbiAgICBmb2xkZXIuZGVsZXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIGZvbGRlcjtcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGaWxlLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgY29uc3RydWN0VEZpbGUgfSBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyc7XG5pbXBvcnQgeyBjcmVhdGVURm9sZGVySW5zdGFuY2UgfSBmcm9tICcuL2NyZWF0ZVRGb2xkZXJJbnN0YW5jZS50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi9QYXRoVXRpbHMudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURmlsZSBldmVuIHRoZSB1bmRlcmx5aW5nIGZpbGUgZG9lcyBub3QgZXhpc3QuXG4gKiBUaGlzIGRvZXNuJ3QgY3JlYXRlIHRoZSBtaXNzaW5nIGZpbGUgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZpbGVJbnN0YW5jZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICBsZXQgZmlsZSA9IHZhdWx0LmdldEZpbGVCeVBhdGgocGF0aCk7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgICAgcmV0dXJuIGZpbGU7XG4gICAgfVxuXG4gICAgZmlsZSA9IGNvbnN0cnVjdFRGaWxlKHZhdWx0LCBwYXRoKTtcbiAgICBmaWxlLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZmlsZS5kZWxldGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gZmlsZTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEN1c3RvbUFycmF5RGljdCB9IGZyb20gJy4uL2ludGVybmFscy9DdXN0b21BcnJheURpY3QvQ3VzdG9tQXJyYXlEaWN0LmpzJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tQXJyYXlEaWN0RGF0YVJlY29yZCB9IGZyb20gJy4uL2ludGVybmFscy9DdXN0b21BcnJheURpY3QvQ3VzdG9tQXJyYXlEaWN0RGF0YVJlY29yZC5qcyc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21BcnJheURpY3RJbXBsPFQ+IGltcGxlbWVudHMgQ3VzdG9tQXJyYXlEaWN0PFQ+IHtcbiAgICBwdWJsaWMgZGF0YTogQ3VzdG9tQXJyYXlEaWN0RGF0YVJlY29yZDxUPiA9IHt9O1xuXG4gICAgcHVibGljIGFkZChrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEodGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IFtdIGFzIFRbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YVtrZXldITtcblxuICAgICAgICBpZiAoIXZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YVtrZXldO1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlcy5yZW1vdmUodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5kYXRhW2tleV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlS2V5KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmRhdGFba2V5XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogVFtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSA/IHRoaXMuZGF0YVtrZXldISA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuZGF0YVtrZXldO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhID0ge307XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmRhdGFba2V5XTtcbiAgICAgICAgcmV0dXJuIHZhbHVlcyAmJiB2YWx1ZXMuY29udGFpbnModmFsdWUpIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICBsZXQgYW5zID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICBhbnMgKz0gdGhpcy5kYXRhW2tleV0hLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhbnM7XG4gICAgfVxufVxuIiwgImV4cG9ydCBjb25zdCBJbnRlcm5hbFBsdWdpbk5hbWUgPSB7XG4gICAgQXVkaW9SZWNvcmRlcjogJ2F1ZGlvLXJlY29yZGVyJyxcbiAgICBCYWNrbGluazogJ2JhY2tsaW5rJyxcbiAgICBCb29rbWFya3M6ICdib29rbWFya3MnLFxuICAgIENhbnZhczogJ2NhbnZhcycsXG4gICAgQ29tbWFuZFBhbGV0dGU6ICdjb21tYW5kLXBhbGV0dGUnLFxuICAgIERhaWx5Tm90ZXM6ICdkYWlseS1ub3RlcycsXG4gICAgRWRpdG9yU3RhdHVzOiAnZWRpdG9yLXN0YXR1cycsXG4gICAgRmlsZUV4cGxvcmVyOiAnZmlsZS1leHBsb3JlcicsXG4gICAgRmlsZVJlY292ZXJ5OiAnZmlsZS1yZWNvdmVyeScsXG4gICAgR2xvYmFsU2VhcmNoOiAnZ2xvYmFsLXNlYXJjaCcsXG4gICAgR3JhcGg6ICdncmFwaCcsXG4gICAgTWFya2Rvd25JbXBvcnRlcjogJ21hcmtkb3duLWltcG9ydGVyJyxcbiAgICBOb3RlQ29tcG9zZXI6ICdub3RlLWNvbXBvc2VyJyxcbiAgICBPdXRnb2luZ0xpbms6ICdvdXRnb2luZy1saW5rJyxcbiAgICBPdXRsaW5lOiAnb3V0bGluZScsXG4gICAgUGFnZVByZXZpZXc6ICdwYWdlLXByZXZpZXcnLFxuICAgIFByb3BlcnRpZXM6ICdwcm9wZXJ0aWVzJyxcbiAgICBQdWJsaXNoOiAncHVibGlzaCcsXG4gICAgUmFuZG9tTm90ZTogJ3JhbmRvbS1ub3RlJyxcbiAgICBTbGFzaENvbW1hbmQ6ICdzbGFzaC1jb21tYW5kJyxcbiAgICBTbGlkZXM6ICdzbGlkZXMnLFxuICAgIFN3aXRjaGVyOiAnc3dpdGNoZXInLFxuICAgIFN5bmM6ICdzeW5jJyxcbiAgICBUYWdQYW5lOiAndGFnLXBhbmUnLFxuICAgIFRlbXBsYXRlczogJ3RlbXBsYXRlcycsXG4gICAgV29yZENvdW50OiAnd29yZC1jb3VudCcsXG4gICAgV29ya3NwYWNlczogJ3dvcmtzcGFjZXMnLFxuICAgIFprUHJlZml4ZXI6ICd6ay1wcmVmaXhlcidcbn0gYXMgY29uc3Q7XG4iLCAiaW1wb3J0IHtcbiAgICBBcHAsXG4gICAgdHlwZSBEYXRhQWRhcHRlclxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgQXBwQ29uc3RydWN0b3IgPSBuZXcoYWRhcHRlcjogRGF0YUFkYXB0ZXIsIGFwcElkOiBzdHJpbmcpID0+IEFwcDtcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IEFwcCBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gYWRhcHRlciAtIFRoZSBkYXRhIGFkYXB0ZXIgdG8gdXNlLlxuICogQHBhcmFtIGFwcElkIC0gVGhlIElEIG9mIHRoZSBhcHAuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgQXBwIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0QXBwKGFkYXB0ZXI6IERhdGFBZGFwdGVyLCBhcHBJZDogc3RyaW5nKTogQXBwIHtcbiAgICByZXR1cm4gbmV3IChBcHAgYXMgQXBwQ29uc3RydWN0b3IpKGFkYXB0ZXIsIGFwcElkKTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxQbHVnaW5zIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0ludGVybmFsUGx1Z2luL0ludGVybmFsUGx1Z2lucy5qcyc7XG5cbnR5cGUgSW50ZXJuYWxQbHVnaW5zQ29uc3RydWN0b3IgPSBuZXcoYXBwOiBBcHApID0+IEludGVybmFsUGx1Z2lucztcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IEludGVybmFsUGx1Z2lucyBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIFRoZSBjb25zdHJ1Y3RlZCBJbnRlcm5hbFBsdWdpbnMgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbnMoYXBwOiBBcHApOiBJbnRlcm5hbFBsdWdpbnMge1xuICAgIHJldHVybiBuZXcgKGFwcC5pbnRlcm5hbFBsdWdpbnMuY29uc3RydWN0b3IgYXMgSW50ZXJuYWxQbHVnaW5zQ29uc3RydWN0b3IpKGFwcCk7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2luIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0ludGVybmFsUGx1Z2luL0ludGVybmFsUGx1Z2luLmpzJztcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxQbHVnaW5zIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0ludGVybmFsUGx1Z2luL0ludGVybmFsUGx1Z2lucy5qcyc7XG5cbnR5cGUgSW50ZXJuYWxQbHVnaW5Db25zdHJ1Y3RvcjxJbnN0YW5jZT4gPSBuZXcoXG4gICAgYXBwOiBBcHAsXG4gICAgaW5zdGFuY2U6IEluc3RhbmNlLFxuICAgIGludGVybmFsUGx1Z2luczogSW50ZXJuYWxQbHVnaW5zXG4pID0+IEludGVybmFsUGx1Z2luPEluc3RhbmNlPjtcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IEludGVybmFsUGx1Z2luIGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGluc3RhbmNlIC0gVGhlIGluc3RhbmNlIG9mIHRoZSBwbHVnaW4uXG4gKiBAcGFyYW0gaW50ZXJuYWxQbHVnaW5zIC0gVGhlIGludGVybmFsIHBsdWdpbnMgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgSW50ZXJuYWxQbHVnaW4gaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbjxJbnN0YW5jZT4oXG4gICAgYXBwOiBBcHAsXG4gICAgaW5zdGFuY2U6IEluc3RhbmNlLFxuICAgIGludGVybmFsUGx1Z2luczogSW50ZXJuYWxQbHVnaW5zXG4pOiBJbnRlcm5hbFBsdWdpbjxJbnN0YW5jZT4ge1xuICAgIGNvbnN0IGFueVBsdWdpbiA9IE9iamVjdC52YWx1ZXMoYXBwLmludGVybmFsUGx1Z2lucy5wbHVnaW5zKVswXTtcbiAgICBpZiAoIWFueVBsdWdpbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGludGVybmFsIHBsdWdpbiBmb3VuZCcpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IChhbnlQbHVnaW4uY29uc3RydWN0b3IgYXMgSW50ZXJuYWxQbHVnaW5Db25zdHJ1Y3RvcjxJbnN0YW5jZT4pKGFwcCwgaW5zdGFuY2UsIGludGVybmFsUGx1Z2lucyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNBQSxzQkFHTztBQVdBLFNBQVMsZUFBZSxPQUFjLE1BQXFCO0FBQzlELFNBQU8sSUFBSyxzQkFBMkIsT0FBTyxJQUFJO0FBQ3REOzs7QUNoQkEsSUFBQUEsbUJBR087QUFXQSxTQUFTLGlCQUFpQixPQUFjLE1BQXVCO0FBQ2xFLFNBQU8sSUFBSyx5QkFBK0IsT0FBTyxJQUFJO0FBQzFEOzs7QUNoQk8sU0FBUyxpQkFBaUIsTUFBc0I7QUFDbkQsU0FBTyxLQUFLLFFBQVEsY0FBYyxFQUFFLEtBQUs7QUFDN0M7OztBQ1NPLFNBQVMsc0JBQXNCLE9BQWMsTUFBdUI7QUFDdkUsTUFBSSxTQUFTLE1BQU0sZ0JBQWdCLElBQUk7QUFDdkMsTUFBSSxRQUFRO0FBQ1IsV0FBTztBQUFBLEVBQ1g7QUFFQSxXQUFTLGlCQUFpQixPQUFPLElBQUk7QUFDckMsU0FBTyxTQUFTLHNCQUFzQixPQUFPLGlCQUFpQixJQUFJLENBQUM7QUFDbkUsU0FBTyxVQUFVO0FBQ2pCLFNBQU87QUFDWDs7O0FDVE8sU0FBUyxvQkFBb0IsT0FBYyxNQUFxQjtBQUNuRSxNQUFJLE9BQU8sTUFBTSxjQUFjLElBQUk7QUFDbkMsTUFBSSxNQUFNO0FBQ04sV0FBTztBQUFBLEVBQ1g7QUFFQSxTQUFPLGVBQWUsT0FBTyxJQUFJO0FBQ2pDLE9BQUssU0FBUyxzQkFBc0IsT0FBTyxpQkFBaUIsSUFBSSxDQUFDO0FBQ2pFLE9BQUssVUFBVTtBQUNmLFNBQU87QUFDWDs7O0FDbkJPLElBQU0sc0JBQU4sTUFBMkQ7QUFBQSxFQUN2RCxPQUFxQyxDQUFDO0FBQUEsRUFFdEMsSUFBSSxLQUFhLE9BQWdCO0FBQ3BDLFFBQUksQ0FBRSxLQUFLLEtBQUssZUFBZSxHQUFHLEdBQUk7QUFDbEMsV0FBSyxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBQUEsSUFDdEI7QUFFQSxVQUFNLFNBQVMsS0FBSyxLQUFLLEdBQUc7QUFFNUIsUUFBSSxDQUFDLE9BQU8sU0FBUyxLQUFLLEdBQUc7QUFDekIsYUFBTyxLQUFLLEtBQUs7QUFBQSxJQUNyQjtBQUFBLEVBQ0o7QUFBQSxFQUVPLE9BQU8sS0FBYSxPQUFnQjtBQUN2QyxVQUFNLFNBQVMsS0FBSyxLQUFLLEdBQUc7QUFDNUIsUUFBSSxDQUFDLFFBQVE7QUFDVDtBQUFBLElBQ0o7QUFDQSxXQUFPLE9BQU8sS0FBSztBQUVuQixRQUFJLE9BQU8sV0FBVyxHQUFHO0FBQ3JCLGFBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxJQUN4QjtBQUFBLEVBQ0o7QUFBQSxFQUVPLFVBQVUsS0FBbUI7QUFDaEMsV0FBTyxLQUFLLEtBQUssR0FBRztBQUFBLEVBQ3hCO0FBQUEsRUFFTyxJQUFJLEtBQXlCO0FBQ2hDLFdBQU8sS0FBSyxLQUFLLGVBQWUsR0FBRyxJQUFJLEtBQUssS0FBSyxHQUFHLElBQUs7QUFBQSxFQUM3RDtBQUFBLEVBRU8sT0FBaUI7QUFDcEIsV0FBTyxPQUFPLEtBQUssS0FBSyxJQUFJO0FBQUEsRUFDaEM7QUFBQSxFQUVPLE1BQU0sS0FBbUI7QUFDNUIsV0FBTyxLQUFLLEtBQUssR0FBRztBQUFBLEVBQ3hCO0FBQUEsRUFFTyxXQUFpQjtBQUNwQixTQUFLLE9BQU8sQ0FBQztBQUFBLEVBQ2pCO0FBQUEsRUFFTyxTQUFTLEtBQWEsT0FBbUI7QUFDNUMsVUFBTSxTQUFTLEtBQUssS0FBSyxHQUFHO0FBQzVCLFdBQU8sVUFBVSxPQUFPLFNBQVMsS0FBSyxLQUFLO0FBQUEsRUFDL0M7QUFBQSxFQUVPLFFBQWdCO0FBQ25CLFFBQUksTUFBTTtBQUNWLGVBQVcsT0FBTyxLQUFLLE1BQU07QUFDekIsVUFBSSxLQUFLLEtBQUssZUFBZSxHQUFHLEdBQUc7QUFDL0IsZUFBTyxLQUFLLEtBQUssR0FBRyxFQUFHO0FBQUEsTUFDM0I7QUFBQSxJQUNKO0FBRUEsV0FBTztBQUFBLEVBQ1g7QUFDSjs7O0FDakVPLElBQU0scUJBQXFCO0FBQUEsRUFDOUIsZUFBZTtBQUFBLEVBQ2YsVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsUUFBUTtBQUFBLEVBQ1IsZ0JBQWdCO0FBQUEsRUFDaEIsWUFBWTtBQUFBLEVBQ1osY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsT0FBTztBQUFBLEVBQ1Asa0JBQWtCO0FBQUEsRUFDbEIsY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsU0FBUztBQUFBLEVBQ1QsYUFBYTtBQUFBLEVBQ2IsWUFBWTtBQUFBLEVBQ1osU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osY0FBYztBQUFBLEVBQ2QsUUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUFBLEVBQ1QsV0FBVztBQUFBLEVBQ1gsV0FBVztBQUFBLEVBQ1gsWUFBWTtBQUFBLEVBQ1osWUFBWTtBQUNoQjs7O0FDN0JBLElBQUFDLG1CQUdPO0FBV0EsU0FBUyxhQUFhLFNBQXNCLE9BQW9CO0FBQ25FLFNBQU8sSUFBSyxxQkFBdUIsU0FBUyxLQUFLO0FBQ3JEOzs7QUNMTyxTQUFTLHlCQUF5QixLQUEyQjtBQUNoRSxTQUFPLElBQUssSUFBSSxnQkFBZ0IsWUFBMkMsR0FBRztBQUNsRjs7O0FDS08sU0FBUyx3QkFDWixLQUNBLFVBQ0EsaUJBQ3dCO0FBQ3hCLFFBQU0sWUFBWSxPQUFPLE9BQU8sSUFBSSxnQkFBZ0IsT0FBTyxFQUFFLENBQUM7QUFDOUQsTUFBSSxDQUFDLFdBQVc7QUFDWixVQUFNLElBQUksTUFBTSwwQkFBMEI7QUFBQSxFQUM5QztBQUNBLFNBQU8sSUFBSyxVQUFVLFlBQW9ELEtBQUssVUFBVSxlQUFlO0FBQzVHOyIsCiAgIm5hbWVzIjogWyJpbXBvcnRfb2JzaWRpYW4iLCAiaW1wb3J0X29ic2lkaWFuIl0KfQo=
|
|
178
|
+
|
|
179
|
+
// src/obsidian/implementations/Constructors/constructApp.ts
|
|
180
|
+
var import_obsidian3 = require("obsidian");
|
|
181
|
+
function constructApp(adapter, appId) {
|
|
182
|
+
return new import_obsidian3.App(adapter, appId);
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1BhdGhVdGlscy50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURm9sZGVyLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ3VzdG9tQXJyYXlEaWN0SW1wbC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0ludGVybmFsUGx1Z2luTmFtZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGaWxlSW5zdGFuY2UudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2luLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEFwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGZyb20gJy4vUGF0aFV0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlVEZvbGRlckluc3RhbmNlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ3VzdG9tQXJyYXlEaWN0SW1wbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0ludGVybmFsUGx1Z2luTmFtZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVRGaWxlSW5zdGFuY2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW4uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0QXBwLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGaWxlLmpzJztcbmltcG9ydCAnLi4vLi4vaW5kZXguanMnO1xuIiwgImV4cG9ydCBmdW5jdGlvbiBwYXJlbnRGb2xkZXJQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucmVwbGFjZSgvXFwvP1teXFwvXSokLywgJycpIHx8ICcvJztcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZvbGRlckNvbnN0cnVjdG9yID0gbmV3KHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKSA9PiBURm9sZGVyO1xuXG4vKipcbiAqIENvbnN0cnVjdHMgYSBuZXcgVEZvbGRlciBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZvbGRlciBiZWxvbmdzLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIFRGb2xkZXIgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURm9sZGVyKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgcmV0dXJuIG5ldyAoVEZvbGRlciBhcyBURm9sZGVyQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBjb25zdHJ1Y3RURm9sZGVyIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi9QYXRoVXRpbHMudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURm9sZGVyIGV2ZW4gdGhlIHVuZGVybHlpbmcgZm9sZGVyIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmb2xkZXIgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZvbGRlckluc3RhbmNlKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgbGV0IGZvbGRlciA9IHZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIHJldHVybiBmb2xkZXI7XG4gICAgfVxuXG4gICAgZm9sZGVyID0gY29uc3RydWN0VEZvbGRlcih2YXVsdCwgcGF0aCk7XG4gICAgZm9sZGVyLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZm9sZGVyLmRlbGV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiBmb2xkZXI7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICcuLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0L0N1c3RvbUFycmF5RGljdC5qcyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUFycmF5RGljdERhdGFSZWNvcmQgfSBmcm9tICcuLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0L0N1c3RvbUFycmF5RGljdERhdGFSZWNvcmQuanMnO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tQXJyYXlEaWN0SW1wbDxUPiBpbXBsZW1lbnRzIEN1c3RvbUFycmF5RGljdDxUPiB7XG4gICAgcHVibGljIGRhdGE6IEN1c3RvbUFycmF5RGljdERhdGFSZWNvcmQ8VD4gPSB7fTtcblxuICAgIHB1YmxpYyBhZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICghKHRoaXMuZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhW2tleV0gPSBbXSBhcyBUW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmRhdGFba2V5XSE7XG5cbiAgICAgICAgaWYgKCF2YWx1ZXMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmRhdGFba2V5XTtcbiAgICAgICAgaWYgKCF2YWx1ZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMucmVtb3ZlKHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMuZGF0YVtrZXldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUtleShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBkZWxldGUgdGhpcy5kYXRhW2tleV07XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IFRbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkgPyB0aGlzLmRhdGFba2V5XSEgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmRhdGFba2V5XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHt9O1xuICAgIH1cblxuICAgIHB1YmxpYyBjb250YWlucyhrZXk6IHN0cmluZywgdmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5kYXRhW2tleV07XG4gICAgICAgIHJldHVybiB2YWx1ZXMgJiYgdmFsdWVzLmNvbnRhaW5zKHZhbHVlKSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGFucyA9IDA7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuZGF0YSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgYW5zICs9IHRoaXMuZGF0YVtrZXldIS5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbiIsICJleHBvcnQgY29uc3QgSW50ZXJuYWxQbHVnaW5OYW1lID0ge1xuICAgIEF1ZGlvUmVjb3JkZXI6ICdhdWRpby1yZWNvcmRlcicsXG4gICAgQmFja2xpbms6ICdiYWNrbGluaycsXG4gICAgQm9va21hcmtzOiAnYm9va21hcmtzJyxcbiAgICBDYW52YXM6ICdjYW52YXMnLFxuICAgIENvbW1hbmRQYWxldHRlOiAnY29tbWFuZC1wYWxldHRlJyxcbiAgICBEYWlseU5vdGVzOiAnZGFpbHktbm90ZXMnLFxuICAgIEVkaXRvclN0YXR1czogJ2VkaXRvci1zdGF0dXMnLFxuICAgIEZpbGVFeHBsb3JlcjogJ2ZpbGUtZXhwbG9yZXInLFxuICAgIEZpbGVSZWNvdmVyeTogJ2ZpbGUtcmVjb3ZlcnknLFxuICAgIEdsb2JhbFNlYXJjaDogJ2dsb2JhbC1zZWFyY2gnLFxuICAgIEdyYXBoOiAnZ3JhcGgnLFxuICAgIE1hcmtkb3duSW1wb3J0ZXI6ICdtYXJrZG93bi1pbXBvcnRlcicsXG4gICAgTm90ZUNvbXBvc2VyOiAnbm90ZS1jb21wb3NlcicsXG4gICAgT3V0Z29pbmdMaW5rOiAnb3V0Z29pbmctbGluaycsXG4gICAgT3V0bGluZTogJ291dGxpbmUnLFxuICAgIFBhZ2VQcmV2aWV3OiAncGFnZS1wcmV2aWV3JyxcbiAgICBQcm9wZXJ0aWVzOiAncHJvcGVydGllcycsXG4gICAgUHVibGlzaDogJ3B1Ymxpc2gnLFxuICAgIFJhbmRvbU5vdGU6ICdyYW5kb20tbm90ZScsXG4gICAgU2xhc2hDb21tYW5kOiAnc2xhc2gtY29tbWFuZCcsXG4gICAgU2xpZGVzOiAnc2xpZGVzJyxcbiAgICBTd2l0Y2hlcjogJ3N3aXRjaGVyJyxcbiAgICBTeW5jOiAnc3luYycsXG4gICAgVGFnUGFuZTogJ3RhZy1wYW5lJyxcbiAgICBUZW1wbGF0ZXM6ICd0ZW1wbGF0ZXMnLFxuICAgIFdvcmRDb3VudDogJ3dvcmQtY291bnQnLFxuICAgIFdvcmtzcGFjZXM6ICd3b3Jrc3BhY2VzJyxcbiAgICBaa1ByZWZpeGVyOiAnemstcHJlZml4ZXInXG59IGFzIGNvbnN0O1xuIiwgImltcG9ydCB7XG4gICAgVEZpbGUsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZpbGVDb25zdHJ1Y3RvciA9IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZykgPT4gVEZpbGU7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBURmlsZSBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZpbGUgYmVsb25ncy5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgVEZpbGUgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURmlsZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICByZXR1cm4gbmV3IChURmlsZSBhcyBURmlsZUNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZSxcbiAgICB0eXBlIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGNvbnN0cnVjdFRGaWxlIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZpbGUudHMnO1xuaW1wb3J0IHsgY3JlYXRlVEZvbGRlckluc3RhbmNlIH0gZnJvbSAnLi9jcmVhdGVURm9sZGVySW5zdGFuY2UudHMnO1xuaW1wb3J0IHsgcGFyZW50Rm9sZGVyUGF0aCB9IGZyb20gJy4vUGF0aFV0aWxzLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZpbGUgZXZlbiB0aGUgdW5kZXJseWluZyBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGaWxlSW5zdGFuY2UodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURmlsZSB7XG4gICAgbGV0IGZpbGUgPSB2YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIGZpbGUgPSBjb25zdHJ1Y3RURmlsZSh2YXVsdCwgcGF0aCk7XG4gICAgZmlsZS5wYXJlbnQgPSBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQsIHBhcmVudEZvbGRlclBhdGgocGF0aCkpO1xuICAgIGZpbGUuZGVsZXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIGZpbGU7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2lucyB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbnMuanMnO1xuXG50eXBlIEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yID0gbmV3KGFwcDogQXBwKSA9PiBJbnRlcm5hbFBsdWdpbnM7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBJbnRlcm5hbFBsdWdpbnMgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgSW50ZXJuYWxQbHVnaW5zIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zKGFwcDogQXBwKTogSW50ZXJuYWxQbHVnaW5zIHtcbiAgICByZXR1cm4gbmV3IChhcHAuaW50ZXJuYWxQbHVnaW5zLmNvbnN0cnVjdG9yIGFzIEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yKShhcHApO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFBsdWdpbiB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbi5qcyc7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2lucyB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbnMuanMnO1xuXG50eXBlIEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+ID0gbmV3KFxuICAgIGFwcDogQXBwLFxuICAgIGluc3RhbmNlOiBJbnN0YW5jZSxcbiAgICBpbnRlcm5hbFBsdWdpbnM6IEludGVybmFsUGx1Z2luc1xuKSA9PiBJbnRlcm5hbFBsdWdpbjxJbnN0YW5jZT47XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBJbnRlcm5hbFBsdWdpbiBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBpbnN0YW5jZSAtIFRoZSBpbnN0YW5jZSBvZiB0aGUgcGx1Z2luLlxuICogQHBhcmFtIGludGVybmFsUGx1Z2lucyAtIFRoZSBpbnRlcm5hbCBwbHVnaW5zIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEludGVybmFsUGx1Z2luIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0SW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+KFxuICAgIGFwcDogQXBwLFxuICAgIGluc3RhbmNlOiBJbnN0YW5jZSxcbiAgICBpbnRlcm5hbFBsdWdpbnM6IEludGVybmFsUGx1Z2luc1xuKTogSW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+IHtcbiAgICBjb25zdCBhbnlQbHVnaW4gPSBPYmplY3QudmFsdWVzKGFwcC5pbnRlcm5hbFBsdWdpbnMucGx1Z2lucylbMF07XG4gICAgaWYgKCFhbnlQbHVnaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnRlcm5hbCBwbHVnaW4gZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyAoYW55UGx1Z2luLmNvbnN0cnVjdG9yIGFzIEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+KShhcHAsIGluc3RhbmNlLCBpbnRlcm5hbFBsdWdpbnMpO1xufVxuIiwgImltcG9ydCB7XG4gICAgQXBwLFxuICAgIHR5cGUgRGF0YUFkYXB0ZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG50eXBlIEFwcENvbnN0cnVjdG9yID0gbmV3KGFkYXB0ZXI6IERhdGFBZGFwdGVyLCBhcHBJZDogc3RyaW5nKSA9PiBBcHA7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBBcHAgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFkYXB0ZXIgLSBUaGUgZGF0YSBhZGFwdGVyIHRvIHVzZS5cbiAqIEBwYXJhbSBhcHBJZCAtIFRoZSBJRCBvZiB0aGUgYXBwLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEFwcCBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdEFwcChhZGFwdGVyOiBEYXRhQWRhcHRlciwgYXBwSWQ6IHN0cmluZyk6IEFwcCB7XG4gICAgcmV0dXJuIG5ldyAoQXBwIGFzIEFwcENvbnN0cnVjdG9yKShhZGFwdGVyLCBhcHBJZCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNBTyxTQUFTLGlCQUFpQixNQUFzQjtBQUNuRCxTQUFPLEtBQUssUUFBUSxjQUFjLEVBQUUsS0FBSztBQUM3Qzs7O0FDRkEsc0JBR087QUFXQSxTQUFTLGlCQUFpQixPQUFjLE1BQXVCO0FBQ2xFLFNBQU8sSUFBSyx3QkFBK0IsT0FBTyxJQUFJO0FBQzFEOzs7QUNMTyxTQUFTLHNCQUFzQixPQUFjLE1BQXVCO0FBQ3ZFLE1BQUksU0FBUyxNQUFNLGdCQUFnQixJQUFJO0FBQ3ZDLE1BQUksUUFBUTtBQUNSLFdBQU87QUFBQSxFQUNYO0FBRUEsV0FBUyxpQkFBaUIsT0FBTyxJQUFJO0FBQ3JDLFNBQU8sU0FBUyxzQkFBc0IsT0FBTyxpQkFBaUIsSUFBSSxDQUFDO0FBQ25FLFNBQU8sVUFBVTtBQUNqQixTQUFPO0FBQ1g7OztBQ2xCTyxJQUFNLHNCQUFOLE1BQTJEO0FBQUEsRUFDdkQsT0FBcUMsQ0FBQztBQUFBLEVBRXRDLElBQUksS0FBYSxPQUFnQjtBQUNwQyxRQUFJLENBQUUsS0FBSyxLQUFLLGVBQWUsR0FBRyxHQUFJO0FBQ2xDLFdBQUssS0FBSyxHQUFHLElBQUksQ0FBQztBQUFBLElBQ3RCO0FBRUEsVUFBTSxTQUFTLEtBQUssS0FBSyxHQUFHO0FBRTVCLFFBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxHQUFHO0FBQ3pCLGFBQU8sS0FBSyxLQUFLO0FBQUEsSUFDckI7QUFBQSxFQUNKO0FBQUEsRUFFTyxPQUFPLEtBQWEsT0FBZ0I7QUFDdkMsVUFBTSxTQUFTLEtBQUssS0FBSyxHQUFHO0FBQzVCLFFBQUksQ0FBQyxRQUFRO0FBQ1Q7QUFBQSxJQUNKO0FBQ0EsV0FBTyxPQUFPLEtBQUs7QUFFbkIsUUFBSSxPQUFPLFdBQVcsR0FBRztBQUNyQixhQUFPLEtBQUssS0FBSyxHQUFHO0FBQUEsSUFDeEI7QUFBQSxFQUNKO0FBQUEsRUFFTyxVQUFVLEtBQW1CO0FBQ2hDLFdBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxFQUN4QjtBQUFBLEVBRU8sSUFBSSxLQUF5QjtBQUNoQyxXQUFPLEtBQUssS0FBSyxlQUFlLEdBQUcsSUFBSSxLQUFLLEtBQUssR0FBRyxJQUFLO0FBQUEsRUFDN0Q7QUFBQSxFQUVPLE9BQWlCO0FBQ3BCLFdBQU8sT0FBTyxLQUFLLEtBQUssSUFBSTtBQUFBLEVBQ2hDO0FBQUEsRUFFTyxNQUFNLEtBQW1CO0FBQzVCLFdBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxFQUN4QjtBQUFBLEVBRU8sV0FBaUI7QUFDcEIsU0FBSyxPQUFPLENBQUM7QUFBQSxFQUNqQjtBQUFBLEVBRU8sU0FBUyxLQUFhLE9BQW1CO0FBQzVDLFVBQU0sU0FBUyxLQUFLLEtBQUssR0FBRztBQUM1QixXQUFPLFVBQVUsT0FBTyxTQUFTLEtBQUssS0FBSztBQUFBLEVBQy9DO0FBQUEsRUFFTyxRQUFnQjtBQUNuQixRQUFJLE1BQU07QUFDVixlQUFXLE9BQU8sS0FBSyxNQUFNO0FBQ3pCLFVBQUksS0FBSyxLQUFLLGVBQWUsR0FBRyxHQUFHO0FBQy9CLGVBQU8sS0FBSyxLQUFLLEdBQUcsRUFBRztBQUFBLE1BQzNCO0FBQUEsSUFDSjtBQUVBLFdBQU87QUFBQSxFQUNYO0FBQ0o7OztBQ2pFTyxJQUFNLHFCQUFxQjtBQUFBLEVBQzlCLGVBQWU7QUFBQSxFQUNmLFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLFFBQVE7QUFBQSxFQUNSLGdCQUFnQjtBQUFBLEVBQ2hCLFlBQVk7QUFBQSxFQUNaLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLE9BQU87QUFBQSxFQUNQLGtCQUFrQjtBQUFBLEVBQ2xCLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLFNBQVM7QUFBQSxFQUNULGFBQWE7QUFBQSxFQUNiLFlBQVk7QUFBQSxFQUNaLFNBQVM7QUFBQSxFQUNULFlBQVk7QUFBQSxFQUNaLGNBQWM7QUFBQSxFQUNkLFFBQVE7QUFBQSxFQUNSLFVBQVU7QUFBQSxFQUNWLE1BQU07QUFBQSxFQUNOLFNBQVM7QUFBQSxFQUNULFdBQVc7QUFBQSxFQUNYLFdBQVc7QUFBQSxFQUNYLFlBQVk7QUFBQSxFQUNaLFlBQVk7QUFDaEI7OztBQzdCQSxJQUFBQSxtQkFHTztBQVdBLFNBQVMsZUFBZSxPQUFjLE1BQXFCO0FBQzlELFNBQU8sSUFBSyx1QkFBMkIsT0FBTyxJQUFJO0FBQ3REOzs7QUNKTyxTQUFTLG9CQUFvQixPQUFjLE1BQXFCO0FBQ25FLE1BQUksT0FBTyxNQUFNLGNBQWMsSUFBSTtBQUNuQyxNQUFJLE1BQU07QUFDTixXQUFPO0FBQUEsRUFDWDtBQUVBLFNBQU8sZUFBZSxPQUFPLElBQUk7QUFDakMsT0FBSyxTQUFTLHNCQUFzQixPQUFPLGlCQUFpQixJQUFJLENBQUM7QUFDakUsT0FBSyxVQUFVO0FBQ2YsU0FBTztBQUNYOzs7QUNYTyxTQUFTLHlCQUF5QixLQUEyQjtBQUNoRSxTQUFPLElBQUssSUFBSSxnQkFBZ0IsWUFBMkMsR0FBRztBQUNsRjs7O0FDS08sU0FBUyx3QkFDWixLQUNBLFVBQ0EsaUJBQ3dCO0FBQ3hCLFFBQU0sWUFBWSxPQUFPLE9BQU8sSUFBSSxnQkFBZ0IsT0FBTyxFQUFFLENBQUM7QUFDOUQsTUFBSSxDQUFDLFdBQVc7QUFDWixVQUFNLElBQUksTUFBTSwwQkFBMEI7QUFBQSxFQUM5QztBQUNBLFNBQU8sSUFBSyxVQUFVLFlBQW9ELEtBQUssVUFBVSxlQUFlO0FBQzVHOzs7QUM1QkEsSUFBQUMsbUJBR087QUFXQSxTQUFTLGFBQWEsU0FBc0IsT0FBb0I7QUFDbkUsU0FBTyxJQUFLLHFCQUF1QixTQUFTLEtBQUs7QUFDckQ7IiwKICAibmFtZXMiOiBbImltcG9ydF9vYnNpZGlhbiIsICJpbXBvcnRfb2JzaWRpYW4iXQp9Cg==
|