diff options
Diffstat (limited to 'SI/.obsidian/plugins/recent-files-obsidian')
4 files changed, 390 insertions, 373 deletions
diff --git a/SI/.obsidian/plugins/recent-files-obsidian/data.json b/SI/.obsidian/plugins/recent-files-obsidian/data.json index 6a55a00..624675b 100644 --- a/SI/.obsidian/plugins/recent-files-obsidian/data.json +++ b/SI/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,6 +1,14 @@ { "recentFiles": [ { + "basename": "SAA", + "path": "Resource/AWS/SAA.md" + }, + { + "basename": "Dashboard", + "path": "Dashboard.md" + }, + { "basename": "Machine Learning", "path": "Resource/Data Science/Machine Learning/Machine Learning.md" }, @@ -13,10 +21,6 @@ "path": "Resource/Templates/Notes/link-note.md" }, { - "basename": "Dashboard", - "path": "Dashboard.md" - }, - { "basename": "todo-daily-note", "path": "Resource/Templates/Notes/todo-daily-note.md" }, diff --git a/SI/.obsidian/plugins/recent-files-obsidian/main.js b/SI/.obsidian/plugins/recent-files-obsidian/main.js index c15ebc9..c45900f 100644 --- a/SI/.obsidian/plugins/recent-files-obsidian/main.js +++ b/SI/.obsidian/plugins/recent-files-obsidian/main.js @@ -1,377 +1,393 @@ -'use strict'; +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ -var obsidian = require('obsidian'); +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -const defaultMaxLength = 50; -const DEFAULT_DATA = { - recentFiles: [], - omittedPaths: [], - maxLength: null, - openType: 'tab', +// main.ts +var main_exports = {}; +__export(main_exports, { + default: () => RecentFilesPlugin +}); +module.exports = __toCommonJS(main_exports); +var import_obsidian = require("obsidian"); +var defaultMaxLength = 50; +var DEFAULT_DATA = { + recentFiles: [], + omittedPaths: [] }; -const RecentFilesListViewType = 'recent-files'; -class RecentFilesListView extends obsidian.ItemView { - constructor(leaf, plugin, data) { - super(leaf); - this.redraw = () => { - const openFile = this.app.workspace.getActiveFile(); - const rootEl = createDiv({ cls: 'nav-folder mod-root' }); - const childrenEl = rootEl.createDiv({ cls: 'nav-folder-children' }); - this.data.recentFiles.forEach((currentFile) => { - const navFile = childrenEl.createDiv({ - cls: 'tree-item nav-file recent-files-file', - }); - const navFileTitle = navFile.createDiv({ - cls: 'tree-item-self is-clickable nav-file-title recent-files-title', - }); - const navFileTitleContent = navFileTitle.createDiv({ - cls: 'tree-item-inner nav-file-title-content recent-files-title-content', - }); - navFileTitleContent.setText(currentFile.basename); - if (openFile && currentFile.path === openFile.path) { - navFileTitle.addClass('is-active'); - } - navFileTitle.setAttr('draggable', 'true'); - navFileTitle.addEventListener('dragstart', (event) => { - const file = this.app.metadataCache.getFirstLinkpathDest(currentFile.path, ''); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const dragManager = this.app.dragManager; - const dragData = dragManager.dragFile(event, file); - dragManager.onDragStart(event, dragData); - }); - navFileTitle.addEventListener('mouseover', (event) => { - this.app.workspace.trigger('hover-link', { - event, - source: RecentFilesListViewType, - hoverParent: rootEl, - targetEl: navFile, - linktext: currentFile.path, - }); - }); - navFileTitle.addEventListener('contextmenu', (event) => { - const menu = new obsidian.Menu(); - const file = this.app.vault.getAbstractFileByPath(currentFile.path); - this.app.workspace.trigger('file-menu', menu, file, 'link-context-menu'); - menu.showAtPosition({ x: event.clientX, y: event.clientY }); - }); - navFileTitleContent.addEventListener('click', (event) => { - this.focusFile(currentFile, event.ctrlKey || event.metaKey); - }); - const navFileDelete = navFileTitle.createDiv({ - cls: 'recent-files-file-delete menu-item-icon', - }); - navFileDelete.appendChild(obsidian.getIcon('lucide-x')); - navFileDelete.addEventListener('click', async () => { - await this.removeFile(currentFile); - this.redraw(); - }); - }); - const contentEl = this.containerEl.children[1]; - contentEl.empty(); - contentEl.appendChild(rootEl); - }; - this.removeFile = async (file) => { - this.data.recentFiles = this.data.recentFiles.filter((currFile) => currFile.path !== file.path); - await this.plugin.pruneLength(); // Handles the save - }; - this.updateData = async (file) => { - this.data.recentFiles = this.data.recentFiles.filter((currFile) => currFile.path !== file.path); - this.data.recentFiles.unshift({ - basename: file.basename, - path: file.path, - }); - await this.plugin.pruneLength(); // Handles the save - }; - this.update = async (openedFile) => { - if (!openedFile || !this.plugin.shouldAddFile(openedFile)) { - return; - } - await this.updateData(openedFile); - this.redraw(); - }; - /** - * Open the provided file in the most recent leaf. - * - * @param shouldSplit Whether the file should be opened in a new split, or in - * the most recent split. If the most recent split is pinned, this is set to - * true. - */ - this.focusFile = (file, shouldSplit = false) => { - const targetFile = this.app.vault - .getFiles() - .find((f) => f.path === file.path); - if (targetFile) { - let leaf = this.app.workspace.getMostRecentLeaf(); - const createLeaf = shouldSplit || leaf.getViewState().pinned; - if (createLeaf) { - if (this.plugin.data.openType === 'split') { - leaf = this.app.workspace.getLeaf('split'); - } - else if (this.plugin.data.openType === 'window') { - leaf = this.app.workspace.getLeaf('window'); - } - else { - leaf = this.app.workspace.getLeaf('tab'); - } - } - leaf.openFile(targetFile); - } - else { - new obsidian.Notice('Cannot find a file with that name'); - this.data.recentFiles = this.data.recentFiles.filter((fp) => fp.path !== file.path); - this.plugin.saveData(); - this.redraw(); - } - }; - this.plugin = plugin; - this.data = data; - } - async onOpen() { - this.redraw(); - } - getViewType() { - return RecentFilesListViewType; - } - getDisplayText() { - return 'Recent Files'; - } - getIcon() { - return 'clock'; - } - onPaneMenu(menu) { - menu - .addItem((item) => { - item - .setTitle('Clear list') - .setIcon('sweep') - .onClick(async () => { - this.data.recentFiles = []; - await this.plugin.saveData(); - this.redraw(); - }); - }) - .addItem((item) => { - item - .setTitle('Close') - .setIcon('cross') - .onClick(() => { - this.app.workspace.detachLeavesOfType(RecentFilesListViewType); - }); +var RecentFilesListViewType = "recent-files"; +var RecentFilesListView = class extends import_obsidian.ItemView { + constructor(leaf, plugin, data) { + super(leaf); + this.redraw = () => { + const openFile = this.app.workspace.getActiveFile(); + const rootEl = createDiv({ cls: "nav-folder mod-root" }); + const childrenEl = rootEl.createDiv({ cls: "nav-folder-children" }); + this.data.recentFiles.forEach((currentFile) => { + const navFile = childrenEl.createDiv({ + cls: "tree-item nav-file recent-files-file" }); - } - load() { - super.load(); - this.registerEvent(this.app.workspace.on('file-open', this.update)); - } -} -class RecentFilesPlugin extends obsidian.Plugin { - constructor() { - super(...arguments); - this.pruneOmittedFiles = async () => { - this.data.recentFiles = this.data.recentFiles.filter(this.shouldAddFile); - await this.saveData(); - }; - this.pruneLength = async () => { - const toRemove = this.data.recentFiles.length - (this.data.maxLength || defaultMaxLength); - if (toRemove > 0) { - this.data.recentFiles.splice(this.data.recentFiles.length - toRemove, toRemove); - } - await this.saveData(); - }; - this.shouldAddFile = (file) => { - const patterns = this.data.omittedPaths.filter((path) => path.length > 0); - const fileMatchesRegex = (pattern) => { - try { - return new RegExp(pattern).test(file.path); - } - catch (err) { - console.error('Recent Files: Invalid regex pattern: ' + pattern); - return false; - } - }; - return !patterns.some(fileMatchesRegex); - }; - this.initView = async () => { - let leaf = null; - for (leaf of this.app.workspace.getLeavesOfType(RecentFilesListViewType)) { - if (leaf.view instanceof RecentFilesListView) - return; - // The view instance was created by an older version of the plugin, - // so clear it and recreate it (so it'll be the new version). - // This avoids the need to reload Obsidian to update the plugin. - await leaf.setViewState({ type: 'empty' }); - break; - } - (leaf !== null && leaf !== void 0 ? leaf : this.app.workspace.getLeftLeaf(false)).setViewState({ - type: RecentFilesListViewType, - active: true, - }); - }; - this.handleRename = async (file, oldPath) => { - const entry = this.data.recentFiles.find((recentFile) => recentFile.path === oldPath); - if (entry) { - entry.path = file.path; - entry.basename = this.trimExtension(file.name); - this.view.redraw(); - await this.saveData(); - } - }; - this.handleDelete = async (file) => { - const beforeLen = this.data.recentFiles.length; - this.data.recentFiles = this.data.recentFiles.filter((recentFile) => recentFile.path !== file.path); - if (beforeLen !== this.data.recentFiles.length) { - this.view.redraw(); - await this.saveData(); - } - }; - // trimExtension can be used to turn a filename into a basename when - // interacting with a TAbstractFile that does not have a basename property. - // private readonly trimExtension = (name: string): string => name.split('.')[0]; - // from: https://stackoverflow.com/a/4250408/617864 - this.trimExtension = (name) => name.replace(/\.[^/.]+$/, ''); - } - async onload() { - console.log('Recent Files: Loading plugin v' + this.manifest.version); - await this.loadData(); - obsidian.addIcon('sweep', sweepIcon); - this.registerView(RecentFilesListViewType, (leaf) => (this.view = new RecentFilesListView(leaf, this, this.data))); - this.addCommand({ - id: 'recent-files-open', - name: 'Open', - callback: async () => { - let [leaf] = this.app.workspace.getLeavesOfType(RecentFilesListViewType); - if (!leaf) { - leaf = this.app.workspace.getLeftLeaf(false); - await leaf.setViewState({ type: RecentFilesListViewType }); - } - this.app.workspace.revealLeaf(leaf); - }, + const navFileTitle = navFile.createDiv({ + cls: "tree-item-self is-clickable nav-file-title recent-files-title" }); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - this.app.workspace.registerHoverLinkSource(RecentFilesListViewType, { - display: 'Recent Files', - defaultMod: true, + const navFileTitleContent = navFileTitle.createDiv({ + cls: "tree-item-inner nav-file-title-content recent-files-title-content" }); - if (this.app.workspace.layoutReady) { - this.initView(); - } - else { - this.registerEvent(this.app.workspace.on('layout-ready', this.initView, this)); - } - this.registerEvent(this.app.vault.on('rename', this.handleRename)); - this.registerEvent(this.app.vault.on('delete', this.handleDelete)); - this.addSettingTab(new RecentFilesSettingTab(this.app, this)); - } - onunload() { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - this.app.workspace.unregisterHoverLinkSource(RecentFilesListViewType); - } - async loadData() { - this.data = Object.assign(DEFAULT_DATA, await super.loadData()); - if (!this.data.maxLength) { - console.log('Recent Files: maxLength is not set, using default (' + - defaultMaxLength.toString() + - ')'); + navFileTitleContent.setText(currentFile.basename); + if (openFile && currentFile.path === openFile.path) { + navFileTitle.addClass("is-active"); } - } - async saveData() { - await super.saveData(this.data); - } -} -class RecentFilesSettingTab extends obsidian.PluginSettingTab { - constructor(app, plugin) { - super(app, plugin); - this.plugin = plugin; - } - display() { - const { containerEl } = this; - containerEl.empty(); - containerEl.createEl('h2', { text: 'Recent Files List' }); - const fragment = document.createDocumentFragment(); - const link = document.createElement('a'); - link.href = - 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#writing_a_regular_expression_pattern'; - link.text = 'MDN - Regular expressions'; - fragment.append('RegExp patterns to ignore. One pattern per line. See '); - fragment.append(link); - fragment.append(' for help.'); - new obsidian.Setting(containerEl) - .setName('Omitted pathname patterns') - .setDesc(fragment) - .addTextArea((textArea) => { - textArea.inputEl.setAttr('rows', 6); - textArea - .setPlaceholder('^daily/\n\\.png$\nfoobar.*baz') - .setValue(this.plugin.data.omittedPaths.join('\n')); - textArea.inputEl.onblur = (e) => { - const patterns = e.target.value; - this.plugin.data.omittedPaths = patterns.split('\n'); - this.plugin.pruneOmittedFiles(); - this.plugin.view.redraw(); - }; + navFileTitle.setAttr("draggable", "true"); + navFileTitle.addEventListener("dragstart", (event) => { + const file = this.app.metadataCache.getFirstLinkpathDest( + currentFile.path, + "" + ); + const dragManager = this.app.dragManager; + const dragData = dragManager.dragFile(event, file); + dragManager.onDragStart(event, dragData); }); - new obsidian.Setting(containerEl) - .setName('List length') - .setDesc('Maximum number of filenames to keep in the list.') - .addText((text) => { - var _a; - text.inputEl.setAttr('type', 'number'); - text.inputEl.setAttr('placeholder', defaultMaxLength); - text - .setValue((_a = this.plugin.data.maxLength) === null || _a === void 0 ? void 0 : _a.toString()) - .onChange((value) => { - const parsed = parseInt(value, 10); - if (!Number.isNaN(parsed) && parsed <= 0) { - new obsidian.Notice('List length must be a positive integer'); - return; - } - }); - text.inputEl.onblur = (e) => { - const maxfiles = e.target.value; - const parsed = parseInt(maxfiles, 10); - this.plugin.data.maxLength = parsed; - this.plugin.pruneLength(); - this.plugin.view.redraw(); - }; + navFileTitle.addEventListener("mouseover", (event) => { + this.app.workspace.trigger("hover-link", { + event, + source: RecentFilesListViewType, + hoverParent: rootEl, + targetEl: navFile, + linktext: currentFile.path + }); }); - new obsidian.Setting(containerEl) - .setName('Open note in') - .setDesc('Open the clicked recent file record in a new tab, split, or window (only works on the desktop app).') - .addDropdown((dropdown) => { - const options = { - tab: 'tab', - split: 'split', - window: 'window', - }; - dropdown - .addOptions(options) - .setValue(this.plugin.data.openType) - .onChange(async (value) => { - this.plugin.data.openType = value; - await this.plugin.saveData(); - this.display(); - }); + navFileTitle.addEventListener("contextmenu", (event) => { + const menu = new import_obsidian.Menu(); + menu.addItem( + (item) => item.setSection("action").setTitle("Open in new tab").setIcon("file-plus").onClick(() => { + this.focusFile(currentFile, "tab"); + }) + ); + const file = this.app.vault.getAbstractFileByPath(currentFile.path); + this.app.workspace.trigger( + "file-menu", + menu, + file, + "link-context-menu" + ); + menu.showAtPosition({ x: event.clientX, y: event.clientY }); }); - const div = containerEl.createEl('div', { - cls: 'recent-files-donation', + navFileTitle.addEventListener("click", (event) => { + const newLeaf = import_obsidian.Keymap.isModEvent(event); + this.focusFile(currentFile, newLeaf); }); - const donateText = document.createElement('p'); - donateText.appendText('If this plugin adds value for you and you would like to help support ' + - 'continued development, please use the buttons below:'); - div.appendChild(donateText); - const parser = new DOMParser(); - div.appendChild(createDonateButton('https://paypal.me/tgrosinger', parser.parseFromString(paypal, 'text/xml').documentElement)); - div.appendChild(createDonateButton('https://www.buymeacoffee.com/tgrosinger', parser.parseFromString(buyMeACoffee, 'text/xml').documentElement)); - } -} -const createDonateButton = (link, img) => { - const a = document.createElement('a'); - a.setAttribute('href', link); - a.addClass('recent-files-donate-button'); - a.appendChild(img); - return a; + navFileTitleContent.addEventListener("mousedown", (event) => { + if (event.button === 1) { + event.preventDefault(); + this.focusFile(currentFile, "tab"); + } + }); + const navFileDelete = navFileTitle.createDiv({ + cls: "recent-files-file-delete menu-item-icon" + }); + (0, import_obsidian.setIcon)(navFileDelete, "lucide-x"); + navFileDelete.addEventListener("click", async (event) => { + event.stopPropagation(); + await this.removeFile(currentFile); + this.redraw(); + }); + }); + this.contentEl.setChildrenInPlace([rootEl]); + }; + this.removeFile = async (file) => { + this.data.recentFiles = this.data.recentFiles.filter( + (currFile) => currFile.path !== file.path + ); + await this.plugin.pruneLength(); + }; + this.updateData = async (file) => { + this.data.recentFiles = this.data.recentFiles.filter( + (currFile) => currFile.path !== file.path + ); + this.data.recentFiles.unshift({ + basename: file.basename, + path: file.path + }); + await this.plugin.pruneLength(); + }; + this.update = async (openedFile) => { + await sleep(15); + if (!openedFile || !this.plugin.shouldAddFile(openedFile)) { + return; + } + await this.updateData(openedFile); + this.redraw(); + }; + /** + * Open the provided file in the most recent leaf. + * + * @param shouldSplit Whether the file should be opened in a new split, or in + * the most recent split. If the most recent split is pinned, this is set to + * true. + */ + this.focusFile = (file, newLeaf) => { + const targetFile = this.app.vault.getFiles().find((f) => f.path === file.path); + if (targetFile) { + const leaf = this.app.workspace.getLeaf(newLeaf); + leaf.openFile(targetFile); + } else { + new import_obsidian.Notice("Cannot find a file with that name"); + this.data.recentFiles = this.data.recentFiles.filter( + (fp) => fp.path !== file.path + ); + this.plugin.saveData(); + this.redraw(); + } + }; + this.plugin = plugin; + this.data = data; + } + async onOpen() { + this.redraw(); + } + getViewType() { + return RecentFilesListViewType; + } + getDisplayText() { + return "Recent Files"; + } + getIcon() { + return "clock"; + } + onPaneMenu(menu) { + menu.addItem((item) => { + item.setTitle("Clear list").setIcon("sweep").onClick(async () => { + this.data.recentFiles = []; + await this.plugin.saveData(); + this.redraw(); + }); + }).addItem((item) => { + item.setTitle("Close").setIcon("cross").onClick(() => { + this.app.workspace.detachLeavesOfType(RecentFilesListViewType); + }); + }); + } + load() { + super.load(); + this.registerEvent(this.app.workspace.on("file-open", this.update)); + } +}; +var RecentFilesPlugin = class extends import_obsidian.Plugin { + constructor() { + super(...arguments); + this.pruneOmittedFiles = async () => { + this.data.recentFiles = this.data.recentFiles.filter(this.shouldAddFile); + await this.saveData(); + }; + this.pruneLength = async () => { + const toRemove = this.data.recentFiles.length - (this.data.maxLength || defaultMaxLength); + if (toRemove > 0) { + this.data.recentFiles.splice( + this.data.recentFiles.length - toRemove, + toRemove + ); + } + await this.saveData(); + }; + this.shouldAddFile = (file) => { + const patterns = this.data.omittedPaths.filter( + (path) => path.length > 0 + ); + const fileMatchesRegex = (pattern) => { + try { + return new RegExp(pattern).test(file.path); + } catch (err) { + console.error("Recent Files: Invalid regex pattern: " + pattern); + return false; + } + }; + return !patterns.some(fileMatchesRegex); + }; + this.initView = async () => { + var _a; + let leaf = null; + for (leaf of this.app.workspace.getLeavesOfType(RecentFilesListViewType)) { + if (leaf.view instanceof RecentFilesListView) return; + await leaf.setViewState({ type: "empty" }); + break; + } + (_a = leaf != null ? leaf : this.app.workspace.getLeftLeaf(false)) == null ? void 0 : _a.setViewState({ + type: RecentFilesListViewType, + active: true + }); + }; + this.handleRename = async (file, oldPath) => { + const entry = this.data.recentFiles.find( + (recentFile) => recentFile.path === oldPath + ); + if (entry) { + entry.path = file.path; + entry.basename = this.trimExtension(file.name); + this.view.redraw(); + await this.saveData(); + } + }; + this.handleDelete = async (file) => { + const beforeLen = this.data.recentFiles.length; + this.data.recentFiles = this.data.recentFiles.filter( + (recentFile) => recentFile.path !== file.path + ); + if (beforeLen !== this.data.recentFiles.length) { + this.view.redraw(); + await this.saveData(); + } + }; + // trimExtension can be used to turn a filename into a basename when + // interacting with a TAbstractFile that does not have a basename property. + // private readonly trimExtension = (name: string): string => name.split('.')[0]; + // from: https://stackoverflow.com/a/4250408/617864 + this.trimExtension = (name) => name.replace(/\.[^/.]+$/, ""); + } + async onload() { + console.log("Recent Files: Loading plugin v" + this.manifest.version); + await this.loadData(); + (0, import_obsidian.addIcon)("sweep", sweepIcon); + this.registerView( + RecentFilesListViewType, + (leaf) => this.view = new RecentFilesListView(leaf, this, this.data) + ); + this.addCommand({ + id: "recent-files-open", + name: "Open", + callback: async () => { + let leaf; + [leaf] = this.app.workspace.getLeavesOfType( + RecentFilesListViewType + ); + if (!leaf) { + leaf = this.app.workspace.getLeftLeaf(false); + await (leaf == null ? void 0 : leaf.setViewState({ type: RecentFilesListViewType })); + } + if (leaf) { + this.app.workspace.revealLeaf(leaf); + } + } + }); + this.app.workspace.registerHoverLinkSource( + RecentFilesListViewType, + { + display: "Recent Files", + defaultMod: true + } + ); + this.app.workspace.onLayoutReady(() => { + this.initView(); + }); + this.registerEvent(this.app.vault.on("rename", this.handleRename)); + this.registerEvent(this.app.vault.on("delete", this.handleDelete)); + this.addSettingTab(new RecentFilesSettingTab(this.app, this)); + } + onunload() { + this.app.workspace.unregisterHoverLinkSource( + RecentFilesListViewType + ); + } + async loadData() { + this.data = Object.assign(DEFAULT_DATA, await super.loadData()); + } + async saveData() { + await super.saveData(this.data); + } }; -const sweepIcon = ` +var RecentFilesSettingTab = class extends import_obsidian.PluginSettingTab { + constructor(app, plugin) { + super(app, plugin); + this.plugin = plugin; + } + display() { + const { containerEl } = this; + containerEl.empty(); + containerEl.createEl("h2", { text: "Recent Files List" }); + const fragment = document.createDocumentFragment(); + const link = document.createElement("a"); + link.href = "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#writing_a_regular_expression_pattern"; + link.text = "MDN - Regular expressions"; + fragment.append("RegExp patterns to ignore. One pattern per line. See "); + fragment.append(link); + fragment.append(" for help."); + new import_obsidian.Setting(containerEl).setName("Omitted pathname patterns").setDesc(fragment).addTextArea((textArea) => { + textArea.inputEl.setAttr("rows", 6); + textArea.setPlaceholder("^daily/\n\\.png$\nfoobar.*baz").setValue(this.plugin.data.omittedPaths.join("\n")); + textArea.inputEl.onblur = (e) => { + const patterns = e.target.value; + this.plugin.data.omittedPaths = patterns.split("\n"); + this.plugin.pruneOmittedFiles(); + this.plugin.view.redraw(); + }; + }); + new import_obsidian.Setting(containerEl).setName("List length").setDesc("Maximum number of filenames to keep in the list.").addText((text) => { + var _a; + text.inputEl.setAttr("type", "number"); + text.inputEl.setAttr("placeholder", defaultMaxLength); + text.setValue(((_a = this.plugin.data.maxLength) == null ? void 0 : _a.toString()) || "").onChange((value) => { + const parsed = parseInt(value, 10); + if (!Number.isNaN(parsed) && parsed <= 0) { + new import_obsidian.Notice("List length must be a positive integer"); + return; + } + }); + text.inputEl.onblur = (e) => { + const maxfiles = e.target.value; + const parsed = parseInt(maxfiles, 10); + this.plugin.data.maxLength = parsed; + this.plugin.pruneLength(); + this.plugin.view.redraw(); + }; + }); + const div = containerEl.createEl("div", { + cls: "recent-files-donation" + }); + const donateText = document.createElement("p"); + donateText.appendText( + "If this plugin adds value for you and you would like to help support continued development, please use the buttons below:" + ); + div.appendChild(donateText); + const parser = new DOMParser(); + div.appendChild( + createDonateButton( + "https://paypal.me/tgrosinger", + parser.parseFromString(paypal, "text/xml").documentElement + ) + ); + div.appendChild( + createDonateButton( + "https://www.buymeacoffee.com/tgrosinger", + parser.parseFromString(buyMeACoffee, "text/xml").documentElement + ) + ); + } +}; +var createDonateButton = (link, img) => { + const a = document.createElement("a"); + a.setAttribute("href", link); + a.addClass("recent-files-donate-button"); + a.appendChild(img); + return a; +}; +var sweepIcon = ` <svg fill="currentColor" stroke="currentColor" version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <path d="m495.72 1.582c-7.456-3.691-16.421-0.703-20.142 6.694l-136.92 274.08-26.818-13.433c-22.207-11.118-49.277-2.065-60.396 20.083l-6.713 13.405 160.96 80.616 6.713-13.411c11.087-22.143 2.227-49.18-20.083-60.381l-26.823-13.435 136.92-274.08c3.706-7.412 0.703-16.421-6.694-20.141z"/> <circle cx="173" cy="497" r="15"/> @@ -380,7 +396,7 @@ const sweepIcon = ` <path d="m113 482h-60c-8.276 0-15-6.724-15-15 0-8.291-6.709-15-15-15s-15 6.709-15 15c0 24.814 20.186 45 45 45h60c8.291 0 15-6.709 15-15s-6.709-15-15-15z"/> <path d="m108.64 388.07c-6.563 0.82-11.807 5.845-12.92 12.349-1.113 6.519 2.153 12.993 8.057 15.952l71.675 35.889c12.935 6.475 27.231 9.053 41.177 7.573-1.641 6.65 1.479 13.784 7.852 16.992l67.061 33.589c5.636 2.78 12.169 1.8 16.685-2.197 2.347-2.091 53.436-48.056 83.3-98.718l-161.6-80.94c-36.208 48.109-120.36 59.39-121.28 59.511z"/> </svg>`; -const buyMeACoffee = ` +var buyMeACoffee = ` <svg width="150" height="42" viewBox="0 0 260 73" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0 11.68C0 5.22932 5.22931 0 11.68 0H248.2C254.651 0 259.88 5.22931 259.88 11.68V61.32C259.88 67.7707 254.651 73 248.2 73H11.68C5.22931 73 0 67.7707 0 61.32V11.68Z" fill="#FFDD00"/> <path d="M52.2566 24.0078L52.2246 23.9889L52.1504 23.9663C52.1802 23.9915 52.2176 24.0061 52.2566 24.0078Z" fill="#0D0C22"/> @@ -403,7 +419,7 @@ const buyMeACoffee = ` <path fill-rule="evenodd" clip-rule="evenodd" d="M162.887 36.0434C162.81 36.4918 162.707 36.986 162.578 37.525C162.448 38.0646 162.284 38.623 162.086 39.2004C161.888 39.7779 161.644 40.2984 161.354 40.7616C161.064 41.2254 160.733 41.5935 160.359 41.8671C159.985 42.1406 159.555 42.2546 159.066 42.2089C158.822 42.1788 158.635 42.0117 158.506 41.7075C158.376 41.4038 158.308 41.0161 158.3 40.545C158.292 40.0743 158.334 39.5575 158.426 38.9951C158.517 38.4333 158.658 37.8821 158.849 37.3426C159.04 36.8036 159.272 36.3056 159.547 35.8496C159.821 35.3939 160.138 35.0405 160.496 34.7898C160.854 34.5391 161.247 34.4217 161.674 34.4365C162.101 34.4518 162.559 34.6643 163.047 35.0747C163.016 35.2725 162.963 35.5954 162.887 36.0434ZM171.019 37.787C170.782 37.6656 170.538 37.6392 170.287 37.7075C170.035 37.7757 169.856 38.0076 169.749 38.4026C169.688 38.8283 169.551 39.3294 169.338 39.9069C169.124 40.4843 168.861 41.0317 168.548 41.5478C168.236 42.0646 167.877 42.494 167.473 42.8358C167.069 43.1778 166.638 43.3337 166.181 43.3028C165.799 43.2727 165.532 43.079 165.38 42.7218C165.227 42.3647 165.147 41.9168 165.14 41.3769C165.132 40.838 165.186 40.2301 165.3 39.5538C165.414 38.8777 165.552 38.2054 165.712 37.5363C165.872 36.868 166.036 36.2258 166.204 35.6105C166.371 34.9951 166.508 34.4747 166.616 34.0493C166.738 33.6693 166.699 33.3466 166.501 33.0803C166.303 32.8149 166.055 32.6246 165.758 32.5107C165.46 32.3967 165.159 32.3664 164.854 32.4196C164.549 32.4728 164.351 32.6362 164.259 32.9094C163.359 32.1345 162.494 31.7166 161.663 31.6559C160.831 31.5952 160.065 31.7776 159.364 32.203C158.662 32.6284 158.041 33.2437 157.5 34.0493C156.958 34.8549 156.52 35.7322 156.184 36.6818C155.849 37.6314 155.639 38.6004 155.555 39.5879C155.471 40.5757 155.536 41.4761 155.75 42.289C155.963 43.1018 156.34 43.7669 156.882 44.283C157.423 44.7998 158.159 45.0583 159.089 45.0583C159.501 45.0583 159.898 44.9747 160.279 44.8076C160.66 44.6401 161.011 44.4426 161.331 44.2148C161.651 43.9869 161.933 43.7475 162.178 43.4968C162.421 43.2461 162.612 43.0373 162.749 42.8699C162.856 43.417 163.032 43.8808 163.276 44.2605C163.519 44.6401 163.798 44.9521 164.111 45.1948C164.423 45.4376 164.751 45.6164 165.094 45.7306C165.437 45.8445 165.769 45.9015 166.089 45.9015C166.806 45.9015 167.477 45.6583 168.102 45.1719C168.727 44.6861 169.288 44.0893 169.784 43.3829C170.279 42.6762 170.687 41.9319 171.007 41.1491C171.328 40.3666 171.541 39.6715 171.648 39.0634C171.755 38.8355 171.735 38.5964 171.591 38.3457C171.446 38.095 171.255 37.909 171.019 37.787Z" fill="#0D0C23"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M212.194 50.3701C212.064 50.8866 211.862 51.3238 211.587 51.6806C211.313 52.0377 210.97 52.2239 210.558 52.2393C210.299 52.2543 210.101 52.1175 209.963 51.8289C209.826 51.5401 209.731 51.1679 209.678 50.7122C209.624 50.2562 209.601 49.747 209.609 49.1849C209.616 48.6227 209.639 48.0681 209.678 47.521C209.715 46.9742 209.761 46.4647 209.815 45.9939C209.868 45.5226 209.91 45.1586 209.94 44.9C210.459 44.9608 210.89 45.1846 211.233 45.5723C211.576 45.9598 211.839 46.4193 212.022 46.9514C212.205 47.4831 212.312 48.0568 212.343 48.6722C212.373 49.2875 212.323 49.8534 212.194 50.3701ZM203.913 50.3701C203.783 50.8866 203.581 51.3238 203.307 51.6806C203.032 52.0377 202.689 52.2239 202.277 52.2393C202.018 52.2543 201.82 52.1175 201.683 51.8289C201.545 51.5401 201.45 51.1679 201.397 50.7122C201.343 50.2562 201.32 49.747 201.328 49.1849C201.336 48.6227 201.358 48.0681 201.397 47.521C201.434 46.9742 201.48 46.4647 201.534 45.9939C201.587 45.5226 201.629 45.1586 201.66 44.9C202.178 44.9608 202.609 45.1846 202.952 45.5723C203.295 45.9598 203.558 46.4193 203.741 46.9514C203.924 47.4831 204.031 48.0568 204.062 48.6722C204.092 49.2875 204.042 49.8534 203.913 50.3701ZM195.415 37.4241C195.399 37.7884 195.365 38.1114 195.312 38.3925C195.258 38.6741 195.186 38.8522 195.095 38.9283C194.927 38.8369 194.721 38.6018 194.477 38.2216C194.233 37.8419 194.042 37.4122 193.905 36.9336C193.768 36.4551 193.725 35.9843 193.779 35.5205C193.832 35.0573 194.073 34.6967 194.5 34.4379C194.667 34.3468 194.812 34.3809 194.934 34.5405C195.056 34.7001 195.155 34.9318 195.232 35.2357C195.308 35.5399 195.361 35.8892 195.392 36.2842C195.422 36.6795 195.43 37.0591 195.415 37.4241ZM193.39 41.9711C193.154 42.2215 192.89 42.4381 192.601 42.6206C192.311 42.803 192.014 42.9398 191.709 43.0309C191.404 43.1223 191.129 43.1448 190.885 43.0991C190.199 42.9627 189.673 42.666 189.307 42.2103C188.941 41.7545 188.708 41.219 188.609 40.6037C188.51 39.9881 188.521 39.3308 188.644 38.6319C188.765 37.933 188.971 37.2835 189.261 36.6832C189.551 36.0829 189.902 35.5662 190.313 35.1333C190.725 34.7001 191.175 34.4306 191.663 34.3239C191.48 35.0989 191.419 35.9007 191.48 36.7286C191.541 37.5568 191.739 38.3355 192.075 39.0648C192.288 39.506 192.544 39.9082 192.841 40.2729C193.139 40.6378 193.501 40.9492 193.928 41.2075C193.806 41.466 193.626 41.7204 193.39 41.9711ZM218.702 37.6519C218.747 37.3026 218.816 36.9336 218.908 36.5462C218.999 36.159 219.114 35.7828 219.251 35.4181C219.388 35.0532 219.548 34.738 219.731 34.4723C219.914 34.2065 220.108 34.0163 220.314 33.9024C220.52 33.7884 220.73 33.7997 220.943 33.9365C221.172 34.0735 221.313 34.3621 221.367 34.8025C221.42 35.2435 221.367 35.7142 221.207 36.2159C221.046 36.7173 220.761 37.1884 220.349 37.6288C219.937 38.07 219.38 38.3583 218.679 38.4951C218.648 38.2826 218.656 38.0015 218.702 37.6519ZM227.921 37.6519C227.966 37.3026 228.035 36.9336 228.126 36.5462C228.218 36.159 228.332 35.7828 228.47 35.4181C228.607 35.0532 228.767 34.738 228.95 34.4723C229.133 34.2065 229.328 34.0163 229.533 33.9024C229.739 33.7884 229.949 33.7997 230.162 33.9365C230.391 34.0735 230.532 34.3621 230.586 34.8025C230.639 35.2435 230.586 35.7142 230.425 36.2159C230.265 36.7173 229.979 37.1884 229.568 37.6288C229.156 38.07 228.599 38.3583 227.898 38.4951C227.867 38.2826 227.875 38.0015 227.921 37.6519ZM236.488 38.9852C236.312 38.7955 236.099 38.6625 235.847 38.5862C235.595 38.5104 235.355 38.5029 235.126 38.5636C234.897 38.6244 234.752 38.784 234.692 39.0422C234.57 39.5286 234.375 40.0262 234.108 40.5349C233.841 41.0444 233.514 41.5267 233.125 41.9824C232.736 42.4381 232.297 42.8412 231.81 43.1905C231.321 43.5401 230.81 43.7908 230.277 43.9423C229.743 44.1101 229.301 44.1289 228.95 43.9996C228.599 43.8706 228.321 43.6503 228.115 43.3389C227.909 43.0271 227.761 42.6512 227.669 42.2103C227.578 41.7699 227.524 41.3142 227.509 40.8428C228.378 40.9038 229.152 40.7483 229.831 40.3755C230.509 40.0034 231.085 39.5092 231.558 38.8939C232.031 38.2788 232.389 37.5874 232.633 36.82C232.877 36.0526 233.014 35.2892 233.045 34.5293C233.06 33.815 232.953 33.211 232.724 32.7171C232.496 32.2235 232.187 31.8395 231.798 31.5662C231.409 31.2924 230.963 31.133 230.46 31.0874C229.957 31.0417 229.445 31.1105 228.927 31.2924C228.302 31.5055 227.772 31.851 227.338 32.3296C226.903 32.8085 226.54 33.3634 226.251 33.9934C225.961 34.6244 225.732 35.3039 225.564 36.0335C225.396 36.7627 225.274 37.481 225.199 38.1874C225.124 38.873 225.084 39.5292 225.075 40.1572C225.017 40.2824 224.956 40.4082 224.889 40.5349C224.622 41.0444 224.295 41.5267 223.906 41.9824C223.517 42.4381 223.078 42.8412 222.591 43.1905C222.102 43.5401 221.592 43.7908 221.058 43.9423C220.524 44.1101 220.082 44.1289 219.731 43.9996C219.38 43.8706 219.102 43.6503 218.896 43.3389C218.691 43.0271 218.542 42.6512 218.45 42.2103C218.359 41.7699 218.305 41.3142 218.29 40.8428C219.159 40.9038 219.933 40.7483 220.612 40.3755C221.29 40.0034 221.866 39.5092 222.339 38.8939C222.811 38.2788 223.17 37.5874 223.414 36.82C223.658 36.0526 223.795 35.2892 223.826 34.5293C223.841 33.815 223.734 33.211 223.506 32.7171C223.277 32.2235 222.968 31.8395 222.579 31.5662C222.19 31.2924 221.744 31.133 221.241 31.0874C220.738 31.0417 220.227 31.1105 219.708 31.2924C219.083 31.5055 218.553 31.851 218.119 32.3296C217.684 32.8085 217.321 33.3634 217.032 33.9934C216.742 34.6244 216.513 35.3039 216.346 36.0335C216.178 36.7627 216.056 37.481 215.98 38.1874C215.936 38.5859 215.907 38.9722 215.886 39.3516C215.739 39.4765 215.595 39.6023 215.442 39.7258C214.916 40.1514 214.363 40.5349 213.784 40.8769C213.204 41.219 212.601 41.5001 211.977 41.7204C211.351 41.9408 210.71 42.0738 210.055 42.1192L211.473 26.9847C211.565 26.6655 211.519 26.3847 211.336 26.1415C211.153 25.8983 210.916 25.7312 210.627 25.6401C210.337 25.5488 210.028 25.5566 209.7 25.6627C209.372 25.7694 209.102 26.0126 208.888 26.3919C208.781 26.9697 208.671 27.7597 208.557 28.7625C208.442 29.7653 208.328 30.8595 208.213 32.0448C208.099 33.23 207.985 34.4532 207.87 35.7142C207.756 36.9759 207.657 38.1533 207.573 39.2472C207.569 39.2958 207.566 39.3398 207.562 39.3878C207.429 39.5005 207.299 39.6142 207.161 39.7258C206.635 40.1514 206.082 40.5349 205.503 40.8769C204.923 41.219 204.321 41.5001 203.696 41.7204C203.07 41.9408 202.429 42.0738 201.774 42.1192L203.192 26.9847C203.284 26.6655 203.238 26.3847 203.055 26.1415C202.872 25.8983 202.635 25.7312 202.346 25.6401C202.056 25.5488 201.747 25.5566 201.419 25.6627C201.091 25.7694 200.821 26.0126 200.607 26.3919C200.501 26.9697 200.39 27.7597 200.276 28.7625C200.161 29.7653 200.047 30.8595 199.933 32.0448C199.818 33.23 199.704 34.4532 199.589 35.7142C199.475 36.9759 199.376 38.1533 199.292 39.2472C199.29 39.2692 199.289 39.2891 199.287 39.3111C199.048 39.4219 198.786 39.519 198.503 39.6006C198.213 39.6844 197.885 39.7339 197.519 39.7489C197.58 39.4751 197.63 39.1712 197.668 38.8369C197.706 38.5029 197.737 38.1533 197.76 37.7884C197.782 37.4241 197.79 37.0591 197.782 36.6945C197.774 36.3296 197.755 35.9956 197.725 35.6914C197.649 35.0385 197.508 34.4191 197.302 33.8338C197.096 33.2491 196.818 32.7593 196.467 32.3637C196.116 31.9687 195.678 31.7027 195.151 31.5662C194.626 31.4294 194.012 31.4748 193.31 31.7027C192.273 31.5662 191.339 31.6613 190.508 31.9878C189.677 32.3149 188.956 32.7894 188.346 33.4122C187.736 34.0357 187.237 34.7684 186.848 35.6119C186.459 36.4551 186.2 37.3214 186.07 38.21C186.015 38.5868 185.988 38.9618 185.98 39.336C185.744 39.8177 185.486 40.2388 185.201 40.5921C184.797 41.0935 184.377 41.5038 183.943 41.8228C183.508 42.142 183.077 42.3852 182.65 42.5523C182.223 42.7198 181.842 42.8337 181.507 42.8941C181.11 42.9702 180.729 42.978 180.363 42.917C179.997 42.8565 179.661 42.6816 179.357 42.3927C179.112 42.1802 178.925 41.8381 178.796 41.3671C178.666 40.896 178.59 40.3608 178.567 39.7602C178.544 39.1599 178.567 38.533 178.636 37.8798C178.705 37.2266 178.822 36.6072 178.99 36.0222C179.158 35.4372 179.371 34.913 179.631 34.4492C179.89 33.9862 180.195 33.6554 180.546 33.4579C180.744 33.4886 180.866 33.606 180.912 33.811C180.958 34.0163 180.969 34.2595 180.946 34.5405C180.923 34.8219 180.889 35.1105 180.843 35.4066C180.797 35.703 180.775 35.9502 180.775 36.1474C180.851 36.5577 180.999 36.877 181.221 37.1048C181.441 37.3327 181.69 37.466 181.964 37.5036C182.239 37.5417 182.509 37.4773 182.776 37.3098C183.043 37.143 183.26 36.877 183.428 36.512C183.443 36.5274 183.466 36.5349 183.497 36.5349L183.817 33.6404C183.909 33.2451 183.847 32.8958 183.634 32.5919C183.42 32.288 183.138 32.113 182.788 32.0676C182.345 31.4294 181.747 31.0914 180.992 31.0532C180.237 31.0154 179.463 31.2623 178.67 31.7941C178.182 32.144 177.751 32.626 177.378 33.2413C177.004 33.857 176.699 34.5405 176.463 35.2926C176.226 36.0448 176.058 36.8391 175.959 37.6748C175.86 38.5104 175.841 39.3236 175.902 40.1133C175.963 40.9038 176.104 41.6484 176.325 42.347C176.546 43.0462 176.855 43.6312 177.252 44.102C177.587 44.5123 177.968 44.8127 178.395 45.0027C178.822 45.1927 179.268 45.3101 179.734 45.3558C180.199 45.4012 180.66 45.3821 181.118 45.2988C181.575 45.2155 182.01 45.0978 182.421 44.9454C182.955 44.7482 183.505 44.4972 184.069 44.1933C184.633 43.8897 185.174 43.5248 185.693 43.0991C185.966 42.8753 186.228 42.6313 186.482 42.3696C186.598 42.6553 186.727 42.9317 186.882 43.1905C187.294 43.8741 187.85 44.429 188.552 44.8544C189.253 45.2797 190.115 45.4844 191.137 45.4697C192.235 45.4544 193.249 45.1774 194.18 44.6378C195.11 44.0988 195.872 43.3042 196.467 42.256C197.358 42.256 198.234 42.1096 199.096 41.819C199.089 41.911 199.081 42.0079 199.075 42.0966C199.014 42.9019 198.983 43.4487 198.983 43.7376C198.968 44.239 198.934 44.8581 198.88 45.5949C198.827 46.332 198.793 47.1069 198.778 47.9198C198.763 48.7326 198.793 49.5532 198.869 50.3817C198.945 51.2096 199.105 51.962 199.349 52.6383C199.593 53.3141 199.94 53.8878 200.39 54.3591C200.84 54.8299 201.431 55.1112 202.163 55.2023C202.941 55.3084 203.612 55.1717 204.176 54.792C204.74 54.412 205.198 53.8918 205.549 53.2308C205.899 52.5695 206.147 51.8061 206.292 50.9401C206.437 50.074 206.479 49.2039 206.418 48.3301C206.357 47.4562 206.196 46.6321 205.937 45.8575C205.678 45.0822 205.319 44.444 204.862 43.9423C205.137 43.8669 205.465 43.7226 205.846 43.5095C206.227 43.2969 206.62 43.0575 207.024 42.7915C207.123 42.7261 207.221 42.6573 207.32 42.5902C207.283 43.1286 207.264 43.5126 207.264 43.7376C207.249 44.239 207.215 44.8581 207.161 45.5949C207.108 46.332 207.073 47.1069 207.058 47.9198C207.043 48.7326 207.073 49.5532 207.15 50.3817C207.226 51.2096 207.386 51.962 207.63 52.6383C207.874 53.3141 208.221 53.8878 208.671 54.3591C209.121 54.8299 209.712 55.1112 210.444 55.2023C211.221 55.3084 211.892 55.1717 212.457 54.792C213.021 54.412 213.478 53.8918 213.83 53.2308C214.18 52.5695 214.428 51.8061 214.573 50.9401C214.718 50.074 214.759 49.2039 214.699 48.3301C214.637 47.4562 214.477 46.6321 214.218 45.8575C213.959 45.0822 213.601 44.444 213.143 43.9423C213.418 43.8669 213.745 43.7226 214.127 43.5095C214.508 43.2969 214.9 43.0575 215.305 42.7915C215.515 42.6533 215.724 42.5107 215.932 42.3641C216.01 43.1072 216.179 43.759 216.448 44.3073C216.776 44.9761 217.222 45.4925 217.787 45.8575C218.351 46.2218 219.014 46.4234 219.777 46.4612C220.539 46.4988 221.37 46.3586 222.271 46.0393C222.941 45.7965 223.525 45.4925 224.02 45.1279C224.516 44.763 224.962 44.3185 225.358 43.7946C225.381 43.7642 225.403 43.7313 225.425 43.7006C225.496 43.9134 225.574 44.1179 225.667 44.3073C225.995 44.9761 226.441 45.4925 227.006 45.8575C227.569 46.2218 228.233 46.4234 228.996 46.4612C229.758 46.4988 230.589 46.3586 231.489 46.0393C232.16 45.7965 232.744 45.4925 233.239 45.1279C233.735 44.763 234.181 44.3185 234.577 43.7946C234.974 43.27 235.336 42.666 235.664 41.9824C235.992 41.2985 236.323 40.5164 236.659 39.6347C236.72 39.3918 236.663 39.1752 236.488 38.9852Z" fill="#0D0C23"/> </svg>`; -const paypal = ` +var paypal = ` <svg xmlns="http://www.w3.org/2000/svg" width="150" height="40"> <path fill="#253B80" d="M46.211 6.749h-6.839a.95.95 0 0 0-.939.802l-2.766 17.537a.57.57 0 0 0 .564.658h3.265a.95.95 0 0 0 .939-.803l.746-4.73a.95.95 0 0 1 .938-.803h2.165c4.505 0 7.105-2.18 7.784-6.5.306-1.89.013-3.375-.872-4.415-.972-1.142-2.696-1.746-4.985-1.746zM47 13.154c-.374 2.454-2.249 2.454-4.062 2.454h-1.032l.724-4.583a.57.57 0 0 1 .563-.481h.473c1.235 0 2.4 0 3.002.704.359.42.469 1.044.332 1.906zM66.654 13.075h-3.275a.57.57 0 0 0-.563.481l-.145.916-.229-.332c-.709-1.029-2.29-1.373-3.868-1.373-3.619 0-6.71 2.741-7.312 6.586-.313 1.918.132 3.752 1.22 5.031.998 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .562.66h2.95a.95.95 0 0 0 .939-.803l1.77-11.209a.568.568 0 0 0-.561-.658zm-4.565 6.374c-.316 1.871-1.801 3.127-3.695 3.127-.951 0-1.711-.305-2.199-.883-.484-.574-.668-1.391-.514-2.301.295-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.499.589.697 1.411.554 2.317zM84.096 13.075h-3.291a.954.954 0 0 0-.787.417l-4.539 6.686-1.924-6.425a.953.953 0 0 0-.912-.678h-3.234a.57.57 0 0 0-.541.754l3.625 10.638-3.408 4.811a.57.57 0 0 0 .465.9h3.287a.949.949 0 0 0 .781-.408l10.946-15.8a.57.57 0 0 0-.468-.895z"/> <path fill="#179BD7" d="M94.992 6.749h-6.84a.95.95 0 0 0-.938.802l-2.766 17.537a.569.569 0 0 0 .562.658h3.51a.665.665 0 0 0 .656-.562l.785-4.971a.95.95 0 0 1 .938-.803h2.164c4.506 0 7.105-2.18 7.785-6.5.307-1.89.012-3.375-.873-4.415-.971-1.142-2.694-1.746-4.983-1.746zm.789 6.405c-.373 2.454-2.248 2.454-4.062 2.454h-1.031l.725-4.583a.568.568 0 0 1 .562-.481h.473c1.234 0 2.4 0 3.002.704.359.42.468 1.044.331 1.906zM115.434 13.075h-3.273a.567.567 0 0 0-.562.481l-.145.916-.23-.332c-.709-1.029-2.289-1.373-3.867-1.373-3.619 0-6.709 2.741-7.311 6.586-.312 1.918.131 3.752 1.219 5.031 1 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .564.66h2.949a.95.95 0 0 0 .938-.803l1.771-11.209a.571.571 0 0 0-.565-.658zm-4.565 6.374c-.314 1.871-1.801 3.127-3.695 3.127-.949 0-1.711-.305-2.199-.883-.484-.574-.666-1.391-.514-2.301.297-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.501.589.699 1.411.554 2.317zM119.295 7.23l-2.807 17.858a.569.569 0 0 0 .562.658h2.822c.469 0 .867-.34.939-.803l2.768-17.536a.57.57 0 0 0-.562-.659h-3.16a.571.571 0 0 0-.562.482z"/> @@ -412,6 +428,3 @@ const paypal = ` <path fill="#222D65" d="M21.754 7.151a9.757 9.757 0 0 0-1.203-.267 15.284 15.284 0 0 0-2.426-.177h-7.352a1.172 1.172 0 0 0-1.159.992L8.05 17.605l-.045.289a1.336 1.336 0 0 1 1.321-1.132h2.752c5.405 0 9.637-2.195 10.874-8.545.037-.188.068-.371.096-.55a6.594 6.594 0 0 0-1.017-.429 9.045 9.045 0 0 0-.277-.087z"/> <path fill="#253B80" d="M9.614 7.699a1.169 1.169 0 0 1 1.159-.991h7.352c.871 0 1.684.057 2.426.177a9.757 9.757 0 0 1 1.481.353c.365.121.704.264 1.017.429.368-2.347-.003-3.945-1.272-5.392C20.378.682 17.853 0 14.622 0h-9.38c-.66 0-1.223.48-1.325 1.133L.01 25.898a.806.806 0 0 0 .795.932h5.791l1.454-9.225 1.564-9.906z"/> </svg>`; - -module.exports = RecentFilesPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhZGRJY29uLFxuICBBcHAsXG4gIGdldEljb24sXG4gIEl0ZW1WaWV3LFxuICBNZW51LFxuICBOb3RpY2UsXG4gIFBsdWdpbixcbiAgUGx1Z2luU2V0dGluZ1RhYixcbiAgU2V0dGluZyxcbiAgVEFic3RyYWN0RmlsZSxcbiAgVEZpbGUsXG4gIFdvcmtzcGFjZUxlYWYsXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW50ZXJmYWNlIEZpbGVQYXRoIHtcbiAgcGF0aDogc3RyaW5nO1xuICBiYXNlbmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUmVjZW50RmlsZXNEYXRhIHtcbiAgcmVjZW50RmlsZXM6IEZpbGVQYXRoW107XG4gIG9taXR0ZWRQYXRoczogc3RyaW5nW107XG4gIG1heExlbmd0aDogbnVtYmVyO1xuICBvcGVuVHlwZTogc3RyaW5nO1xufVxuXG5jb25zdCBkZWZhdWx0TWF4TGVuZ3RoOiBudW1iZXIgPSA1MDtcblxuY29uc3QgREVGQVVMVF9EQVRBOiBSZWNlbnRGaWxlc0RhdGEgPSB7XG4gIHJlY2VudEZpbGVzOiBbXSxcbiAgb21pdHRlZFBhdGhzOiBbXSxcbiAgbWF4TGVuZ3RoOiBudWxsLFxuICBvcGVuVHlwZTogJ3RhYicsXG59O1xuXG5jb25zdCBSZWNlbnRGaWxlc0xpc3RWaWV3VHlwZSA9ICdyZWNlbnQtZmlsZXMnO1xuXG5jbGFzcyBSZWNlbnRGaWxlc0xpc3RWaWV3IGV4dGVuZHMgSXRlbVZpZXcge1xuICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogUmVjZW50RmlsZXNQbHVnaW47XG4gIHByaXZhdGUgZGF0YTogUmVjZW50RmlsZXNEYXRhO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxlYWY6IFdvcmtzcGFjZUxlYWYsXG4gICAgcGx1Z2luOiBSZWNlbnRGaWxlc1BsdWdpbixcbiAgICBkYXRhOiBSZWNlbnRGaWxlc0RhdGEsXG4gICkge1xuICAgIHN1cGVyKGxlYWYpO1xuXG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvbk9wZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWaWV3VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBSZWNlbnRGaWxlc0xpc3RWaWV3VHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnUmVjZW50IEZpbGVzJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbG9jayc7XG4gIH1cblxuICBwdWJsaWMgb25QYW5lTWVudShtZW51OiBNZW51KTogdm9pZCB7XG4gICAgbWVudVxuICAgICAgLmFkZEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbVxuICAgICAgICAgIC5zZXRUaXRsZSgnQ2xlYXIgbGlzdCcpXG4gICAgICAgICAgLnNldEljb24oJ3N3ZWVwJylcbiAgICAgICAgICAub25DbGljayhhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGEucmVjZW50RmlsZXMgPSBbXTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVEYXRhKCk7XG4gICAgICAgICAgICB0aGlzLnJlZHJhdygpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5hZGRJdGVtKChpdGVtKSA9PiB7XG4gICAgICAgIGl0ZW1cbiAgICAgICAgICAuc2V0VGl0bGUoJ0Nsb3NlJylcbiAgICAgICAgICAuc2V0SWNvbignY3Jvc3MnKVxuICAgICAgICAgIC5vbkNsaWNrKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5kZXRhY2hMZWF2ZXNPZlR5cGUoUmVjZW50RmlsZXNMaXN0Vmlld1R5cGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbG9hZCgpOiB2b2lkIHtcbiAgICBzdXBlci5sb2FkKCk7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZS1vcGVuJywgdGhpcy51cGRhdGUpKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSByZWRyYXcgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3Qgb3BlbkZpbGUgPSB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlRmlsZSgpO1xuXG4gICAgY29uc3Qgcm9vdEVsID0gY3JlYXRlRGl2KHsgY2xzOiAnbmF2LWZvbGRlciBtb2Qtcm9vdCcgfSk7XG4gICAgY29uc3QgY2hpbGRyZW5FbCA9IHJvb3RFbC5jcmVhdGVEaXYoeyBjbHM6ICduYXYtZm9sZGVyLWNoaWxkcmVuJyB9KTtcblxuICAgIHRoaXMuZGF0YS5yZWNlbnRGaWxlcy5mb3JFYWNoKChjdXJyZW50RmlsZSkgPT4ge1xuICAgICAgY29uc3QgbmF2RmlsZSA9IGNoaWxkcmVuRWwuY3JlYXRlRGl2KHtcbiAgICAgICAgY2xzOiAndHJlZS1pdGVtIG5hdi1maWxlIHJlY2VudC1maWxlcy1maWxlJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbmF2RmlsZVRpdGxlID0gbmF2RmlsZS5jcmVhdGVEaXYoe1xuICAgICAgICBjbHM6ICd0cmVlLWl0ZW0tc2VsZiBpcy1jbGlja2FibGUgbmF2LWZpbGUtdGl0bGUgcmVjZW50LWZpbGVzLXRpdGxlJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbmF2RmlsZVRpdGxlQ29udGVudCA9IG5hdkZpbGVUaXRsZS5jcmVhdGVEaXYoe1xuICAgICAgICBjbHM6ICd0cmVlLWl0ZW0taW5uZXIgbmF2LWZpbGUtdGl0bGUtY29udGVudCByZWNlbnQtZmlsZXMtdGl0bGUtY29udGVudCcsXG4gICAgICB9KTtcblxuICAgICAgbmF2RmlsZVRpdGxlQ29udGVudC5zZXRUZXh0KGN1cnJlbnRGaWxlLmJhc2VuYW1lKTtcblxuICAgICAgaWYgKG9wZW5GaWxlICYmIGN1cnJlbnRGaWxlLnBhdGggPT09IG9wZW5GaWxlLnBhdGgpIHtcbiAgICAgICAgbmF2RmlsZVRpdGxlLmFkZENsYXNzKCdpcy1hY3RpdmUnKTtcbiAgICAgIH1cblxuICAgICAgbmF2RmlsZVRpdGxlLnNldEF0dHIoJ2RyYWdnYWJsZScsICd0cnVlJyk7XG4gICAgICBuYXZGaWxlVGl0bGUuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ3N0YXJ0JywgKGV2ZW50OiBEcmFnRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZSA9IHRoaXMuYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Rmlyc3RMaW5rcGF0aERlc3QoXG4gICAgICAgICAgY3VycmVudEZpbGUucGF0aCxcbiAgICAgICAgICAnJyxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCBkcmFnTWFuYWdlciA9ICh0aGlzLmFwcCBhcyBhbnkpLmRyYWdNYW5hZ2VyO1xuICAgICAgICBjb25zdCBkcmFnRGF0YSA9IGRyYWdNYW5hZ2VyLmRyYWdGaWxlKGV2ZW50LCBmaWxlKTtcbiAgICAgICAgZHJhZ01hbmFnZXIub25EcmFnU3RhcnQoZXZlbnQsIGRyYWdEYXRhKTtcbiAgICAgIH0pO1xuXG4gICAgICBuYXZGaWxlVGl0bGUuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS50cmlnZ2VyKCdob3Zlci1saW5rJywge1xuICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgIHNvdXJjZTogUmVjZW50RmlsZXNMaXN0Vmlld1R5cGUsXG4gICAgICAgICAgaG92ZXJQYXJlbnQ6IHJvb3RFbCxcbiAgICAgICAgICB0YXJnZXRFbDogbmF2RmlsZSxcbiAgICAgICAgICBsaW5rdGV4dDogY3VycmVudEZpbGUucGF0aCxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgbmF2RmlsZVRpdGxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbnUgPSBuZXcgTWVudSgpO1xuICAgICAgICBjb25zdCBmaWxlID0gdGhpcy5hcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKGN1cnJlbnRGaWxlLnBhdGgpO1xuICAgICAgICB0aGlzLmFwcC53b3Jrc3BhY2UudHJpZ2dlcihcbiAgICAgICAgICAnZmlsZS1tZW51JyxcbiAgICAgICAgICBtZW51LFxuICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgJ2xpbmstY29udGV4dC1tZW51JyxcbiAgICAgICAgKTtcbiAgICAgICAgbWVudS5zaG93QXRQb3NpdGlvbih7IHg6IGV2ZW50LmNsaWVudFgsIHk6IGV2ZW50LmNsaWVudFkgfSk7XG4gICAgICB9KTtcblxuICAgICAgbmF2RmlsZVRpdGxlQ29udGVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzRmlsZShjdXJyZW50RmlsZSwgZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBuYXZGaWxlRGVsZXRlID0gbmF2RmlsZVRpdGxlLmNyZWF0ZURpdih7XG4gICAgICAgIGNsczogJ3JlY2VudC1maWxlcy1maWxlLWRlbGV0ZSBtZW51LWl0ZW0taWNvbicsXG4gICAgICB9KTtcbiAgICAgIG5hdkZpbGVEZWxldGUuYXBwZW5kQ2hpbGQoZ2V0SWNvbignbHVjaWRlLXgnKSk7XG4gICAgICBuYXZGaWxlRGVsZXRlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLnJlbW92ZUZpbGUoY3VycmVudEZpbGUpO1xuICAgICAgICB0aGlzLnJlZHJhdygpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250ZW50RWwgPSB0aGlzLmNvbnRhaW5lckVsLmNoaWxkcmVuWzFdO1xuICAgIGNvbnRlbnRFbC5lbXB0eSgpO1xuICAgIGNvbnRlbnRFbC5hcHBlbmRDaGlsZChyb290RWwpO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVtb3ZlRmlsZSA9IGFzeW5jIChmaWxlOiBGaWxlUGF0aCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHRoaXMuZGF0YS5yZWNlbnRGaWxlcyA9IHRoaXMuZGF0YS5yZWNlbnRGaWxlcy5maWx0ZXIoXG4gICAgICAoY3VyckZpbGUpID0+IGN1cnJGaWxlLnBhdGggIT09IGZpbGUucGF0aCxcbiAgICApO1xuICAgIGF3YWl0IHRoaXMucGx1Z2luLnBydW5lTGVuZ3RoKCk7IC8vIEhhbmRsZXMgdGhlIHNhdmVcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZURhdGEgPSBhc3luYyAoZmlsZTogVEZpbGUpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICB0aGlzLmRhdGEucmVjZW50RmlsZXMgPSB0aGlzLmRhdGEucmVjZW50RmlsZXMuZmlsdGVyKFxuICAgICAgKGN1cnJGaWxlKSA9PiBjdXJyRmlsZS5wYXRoICE9PSBmaWxlLnBhdGgsXG4gICAgKTtcbiAgICB0aGlzLmRhdGEucmVjZW50RmlsZXMudW5zaGlmdCh7XG4gICAgICBiYXNlbmFtZTogZmlsZS5iYXNlbmFtZSxcbiAgICAgIHBhdGg6IGZpbGUucGF0aCxcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMucGx1Z2luLnBydW5lTGVuZ3RoKCk7IC8vIEhhbmRsZXMgdGhlIHNhdmVcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZSA9IGFzeW5jIChvcGVuZWRGaWxlOiBURmlsZSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmICghb3BlbmVkRmlsZSB8fCAhdGhpcy5wbHVnaW4uc2hvdWxkQWRkRmlsZShvcGVuZWRGaWxlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMudXBkYXRlRGF0YShvcGVuZWRGaWxlKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSBwcm92aWRlZCBmaWxlIGluIHRoZSBtb3N0IHJlY2VudCBsZWFmLlxuICAgKlxuICAgKiBAcGFyYW0gc2hvdWxkU3BsaXQgV2hldGhlciB0aGUgZmlsZSBzaG91bGQgYmUgb3BlbmVkIGluIGEgbmV3IHNwbGl0LCBvciBpblxuICAgKiB0aGUgbW9zdCByZWNlbnQgc3BsaXQuIElmIHRoZSBtb3N0IHJlY2VudCBzcGxpdCBpcyBwaW5uZWQsIHRoaXMgaXMgc2V0IHRvXG4gICAqIHRydWUuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzRmlsZSA9IChmaWxlOiBGaWxlUGF0aCwgc2hvdWxkU3BsaXQgPSBmYWxzZSk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHRhcmdldEZpbGUgPSB0aGlzLmFwcC52YXVsdFxuICAgICAgLmdldEZpbGVzKClcbiAgICAgIC5maW5kKChmKSA9PiBmLnBhdGggPT09IGZpbGUucGF0aCk7XG5cbiAgICBpZiAodGFyZ2V0RmlsZSkge1xuICAgICAgbGV0IGxlYWYgPSB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TW9zdFJlY2VudExlYWYoKTtcblxuICAgICAgY29uc3QgY3JlYXRlTGVhZiA9IHNob3VsZFNwbGl0IHx8IGxlYWYuZ2V0Vmlld1N0YXRlKCkucGlubmVkO1xuICAgICAgaWYgKGNyZWF0ZUxlYWYpIHtcbiAgICAgICAgaWYgKHRoaXMucGx1Z2luLmRhdGEub3BlblR5cGUgPT09ICdzcGxpdCcpIHtcbiAgICAgICAgICBsZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlYWYoJ3NwbGl0Jyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5wbHVnaW4uZGF0YS5vcGVuVHlwZSA9PT0gJ3dpbmRvdycpIHtcbiAgICAgICAgICBsZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlYWYoJ3dpbmRvdycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxlYWYgPSB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TGVhZigndGFiJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxlYWYub3BlbkZpbGUodGFyZ2V0RmlsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ldyBOb3RpY2UoJ0Nhbm5vdCBmaW5kIGEgZmlsZSB3aXRoIHRoYXQgbmFtZScpO1xuICAgICAgdGhpcy5kYXRhLnJlY2VudEZpbGVzID0gdGhpcy5kYXRhLnJlY2VudEZpbGVzLmZpbHRlcihcbiAgICAgICAgKGZwKSA9PiBmcC5wYXRoICE9PSBmaWxlLnBhdGgsXG4gICAgICApO1xuICAgICAgdGhpcy5wbHVnaW4uc2F2ZURhdGEoKTtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWNlbnRGaWxlc1BsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG4gIHB1YmxpYyBkYXRhOiBSZWNlbnRGaWxlc0RhdGE7XG4gIHB1YmxpYyB2aWV3OiBSZWNlbnRGaWxlc0xpc3RWaWV3O1xuXG4gIHB1YmxpYyBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5sb2coJ1JlY2VudCBGaWxlczogTG9hZGluZyBwbHVnaW4gdicgKyB0aGlzLm1hbmlmZXN0LnZlcnNpb24pO1xuXG4gICAgYXdhaXQgdGhpcy5sb2FkRGF0YSgpO1xuXG4gICAgYWRkSWNvbignc3dlZXAnLCBzd2VlcEljb24pO1xuXG4gICAgdGhpcy5yZWdpc3RlclZpZXcoXG4gICAgICBSZWNlbnRGaWxlc0xpc3RWaWV3VHlwZSxcbiAgICAgIChsZWFmKSA9PiAodGhpcy52aWV3ID0gbmV3IFJlY2VudEZpbGVzTGlzdFZpZXcobGVhZiwgdGhpcywgdGhpcy5kYXRhKSksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ3JlY2VudC1maWxlcy1vcGVuJyxcbiAgICAgIG5hbWU6ICdPcGVuJyxcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGxldCBbbGVhZl0gPSB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKFxuICAgICAgICAgIFJlY2VudEZpbGVzTGlzdFZpZXdUeXBlLFxuICAgICAgICApO1xuICAgICAgICBpZiAoIWxlYWYpIHtcbiAgICAgICAgICBsZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlZnRMZWFmKGZhbHNlKTtcbiAgICAgICAgICBhd2FpdCBsZWFmLnNldFZpZXdTdGF0ZSh7IHR5cGU6IFJlY2VudEZpbGVzTGlzdFZpZXdUeXBlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHAud29ya3NwYWNlLnJldmVhbExlYWYobGVhZik7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAodGhpcy5hcHAud29ya3NwYWNlIGFzIGFueSkucmVnaXN0ZXJIb3ZlckxpbmtTb3VyY2UoXG4gICAgICBSZWNlbnRGaWxlc0xpc3RWaWV3VHlwZSxcbiAgICAgIHtcbiAgICAgICAgZGlzcGxheTogJ1JlY2VudCBGaWxlcycsXG4gICAgICAgIGRlZmF1bHRNb2Q6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAodGhpcy5hcHAud29ya3NwYWNlLmxheW91dFJlYWR5KSB7XG4gICAgICB0aGlzLmluaXRWaWV3KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJFdmVudChcbiAgICAgICAgdGhpcy5hcHAud29ya3NwYWNlLm9uKCdsYXlvdXQtcmVhZHknLCB0aGlzLmluaXRWaWV3LCB0aGlzKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLnZhdWx0Lm9uKCdyZW5hbWUnLCB0aGlzLmhhbmRsZVJlbmFtZSkpO1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC52YXVsdC5vbignZGVsZXRlJywgdGhpcy5oYW5kbGVEZWxldGUpKTtcblxuICAgIHRoaXMuYWRkU2V0dGluZ1RhYihuZXcgUmVjZW50RmlsZXNTZXR0aW5nVGFiKHRoaXMuYXBwLCB0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgb251bmxvYWQoKTogdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAodGhpcy5hcHAud29ya3NwYWNlIGFzIGFueSkudW5yZWdpc3RlckhvdmVyTGlua1NvdXJjZShcbiAgICAgIFJlY2VudEZpbGVzTGlzdFZpZXdUeXBlLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZERhdGEoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5kYXRhID0gT2JqZWN0LmFzc2lnbihERUZBVUxUX0RBVEEsIGF3YWl0IHN1cGVyLmxvYWREYXRhKCkpO1xuICAgIGlmICghdGhpcy5kYXRhLm1heExlbmd0aCkge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICdSZWNlbnQgRmlsZXM6IG1heExlbmd0aCBpcyBub3Qgc2V0LCB1c2luZyBkZWZhdWx0ICgnICtcbiAgICAgICAgICBkZWZhdWx0TWF4TGVuZ3RoLnRvU3RyaW5nKCkgK1xuICAgICAgICAgICcpJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHNhdmVEYXRhKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLnNhdmVEYXRhKHRoaXMuZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgcHJ1bmVPbWl0dGVkRmlsZXMgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgdGhpcy5kYXRhLnJlY2VudEZpbGVzID0gdGhpcy5kYXRhLnJlY2VudEZpbGVzLmZpbHRlcih0aGlzLnNob3VsZEFkZEZpbGUpO1xuICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEoKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJ1bmVMZW5ndGggPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgdG9SZW1vdmUgPVxuICAgICAgdGhpcy5kYXRhLnJlY2VudEZpbGVzLmxlbmd0aCAtICh0aGlzLmRhdGEubWF4TGVuZ3RoIHx8IGRlZmF1bHRNYXhMZW5ndGgpO1xuICAgIGlmICh0b1JlbW92ZSA+IDApIHtcbiAgICAgIHRoaXMuZGF0YS5yZWNlbnRGaWxlcy5zcGxpY2UoXG4gICAgICAgIHRoaXMuZGF0YS5yZWNlbnRGaWxlcy5sZW5ndGggLSB0b1JlbW92ZSxcbiAgICAgICAgdG9SZW1vdmUsXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLnNhdmVEYXRhKCk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IHNob3VsZEFkZEZpbGUgPSAoZmlsZTogRmlsZVBhdGgpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBwYXR0ZXJuczogc3RyaW5nW10gPSB0aGlzLmRhdGEub21pdHRlZFBhdGhzLmZpbHRlcihcbiAgICAgIChwYXRoKSA9PiBwYXRoLmxlbmd0aCA+IDAsXG4gICAgKTtcbiAgICBjb25zdCBmaWxlTWF0Y2hlc1JlZ2V4ID0gKHBhdHRlcm46IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAocGF0dGVybikudGVzdChmaWxlLnBhdGgpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1JlY2VudCBGaWxlczogSW52YWxpZCByZWdleCBwYXR0ZXJuOiAnICsgcGF0dGVybik7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiAhcGF0dGVybnMuc29tZShmaWxlTWF0Y2hlc1JlZ2V4KTtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGluaXRWaWV3ID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGxldCBsZWFmOiBXb3Jrc3BhY2VMZWFmID0gbnVsbDtcbiAgICBmb3IgKGxlYWYgb2YgdGhpcy5hcHAud29ya3NwYWNlLmdldExlYXZlc09mVHlwZShSZWNlbnRGaWxlc0xpc3RWaWV3VHlwZSkpIHtcbiAgICAgIGlmIChsZWFmLnZpZXcgaW5zdGFuY2VvZiBSZWNlbnRGaWxlc0xpc3RWaWV3KSByZXR1cm47XG4gICAgICAvLyBUaGUgdmlldyBpbnN0YW5jZSB3YXMgY3JlYXRlZCBieSBhbiBvbGRlciB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4sXG4gICAgICAvLyBzbyBjbGVhciBpdCBhbmQgcmVjcmVhdGUgaXQgKHNvIGl0J2xsIGJlIHRoZSBuZXcgdmVyc2lvbikuXG4gICAgICAvLyBUaGlzIGF2b2lkcyB0aGUgbmVlZCB0byByZWxvYWQgT2JzaWRpYW4gdG8gdXBkYXRlIHRoZSBwbHVnaW4uXG4gICAgICBhd2FpdCBsZWFmLnNldFZpZXdTdGF0ZSh7IHR5cGU6ICdlbXB0eScgfSk7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgKGxlYWYgPz8gdGhpcy5hcHAud29ya3NwYWNlLmdldExlZnRMZWFmKGZhbHNlKSkuc2V0Vmlld1N0YXRlKHtcbiAgICAgIHR5cGU6IFJlY2VudEZpbGVzTGlzdFZpZXdUeXBlLFxuICAgICAgYWN0aXZlOiB0cnVlLFxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlUmVuYW1lID0gYXN5bmMgKFxuICAgIGZpbGU6IFRBYnN0cmFjdEZpbGUsXG4gICAgb2xkUGF0aDogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZGF0YS5yZWNlbnRGaWxlcy5maW5kKFxuICAgICAgKHJlY2VudEZpbGUpID0+IHJlY2VudEZpbGUucGF0aCA9PT0gb2xkUGF0aCxcbiAgICApO1xuICAgIGlmIChlbnRyeSkge1xuICAgICAgZW50cnkucGF0aCA9IGZpbGUucGF0aDtcbiAgICAgIGVudHJ5LmJhc2VuYW1lID0gdGhpcy50cmltRXh0ZW5zaW9uKGZpbGUubmFtZSk7XG4gICAgICB0aGlzLnZpZXcucmVkcmF3KCk7XG4gICAgICBhd2FpdCB0aGlzLnNhdmVEYXRhKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlRGVsZXRlID0gYXN5bmMgKFxuICAgIGZpbGU6IFRBYnN0cmFjdEZpbGUsXG4gICk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IGJlZm9yZUxlbiA9IHRoaXMuZGF0YS5yZWNlbnRGaWxlcy5sZW5ndGg7XG4gICAgdGhpcy5kYXRhLnJlY2VudEZpbGVzID0gdGhpcy5kYXRhLnJlY2VudEZpbGVzLmZpbHRlcihcbiAgICAgIChyZWNlbnRGaWxlKSA9PiByZWNlbnRGaWxlLnBhdGggIT09IGZpbGUucGF0aCxcbiAgICApO1xuXG4gICAgaWYgKGJlZm9yZUxlbiAhPT0gdGhpcy5kYXRhLnJlY2VudEZpbGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy52aWV3LnJlZHJhdygpO1xuICAgICAgYXdhaXQgdGhpcy5zYXZlRGF0YSgpO1xuICAgIH1cbiAgfTtcblxuICAvLyB0cmltRXh0ZW5zaW9uIGNhbiBiZSB1c2VkIHRvIHR1cm4gYSBmaWxlbmFtZSBpbnRvIGEgYmFzZW5hbWUgd2hlblxuICAvLyBpbnRlcmFjdGluZyB3aXRoIGEgVEFic3RyYWN0RmlsZSB0aGF0IGRvZXMgbm90IGhhdmUgYSBiYXNlbmFtZSBwcm9wZXJ0eS5cbiAgLy8gcHJpdmF0ZSByZWFkb25seSB0cmltRXh0ZW5zaW9uID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiBuYW1lLnNwbGl0KCcuJylbMF07XG4gIC8vIGZyb206IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80MjUwNDA4LzYxNzg2NFxuICBwcml2YXRlIHJlYWRvbmx5IHRyaW1FeHRlbnNpb24gPSAobmFtZTogc3RyaW5nKTogc3RyaW5nID0+XG4gICAgbmFtZS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpO1xufVxuXG5jbGFzcyBSZWNlbnRGaWxlc1NldHRpbmdUYWIgZXh0ZW5kcyBQbHVnaW5TZXR0aW5nVGFiIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW46IFJlY2VudEZpbGVzUGx1Z2luO1xuXG4gIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwbHVnaW46IFJlY2VudEZpbGVzUGx1Z2luKSB7XG4gICAgc3VwZXIoYXBwLCBwbHVnaW4pO1xuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICB9XG5cbiAgcHVibGljIGRpc3BsYXkoKTogdm9pZCB7XG4gICAgY29uc3QgeyBjb250YWluZXJFbCB9ID0gdGhpcztcbiAgICBjb250YWluZXJFbC5lbXB0eSgpO1xuICAgIGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdoMicsIHsgdGV4dDogJ1JlY2VudCBGaWxlcyBMaXN0JyB9KTtcblxuICAgIGNvbnN0IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID1cbiAgICAgICdodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L0d1aWRlL1JlZ3VsYXJfRXhwcmVzc2lvbnMjd3JpdGluZ19hX3JlZ3VsYXJfZXhwcmVzc2lvbl9wYXR0ZXJuJztcbiAgICBsaW5rLnRleHQgPSAnTUROIC0gUmVndWxhciBleHByZXNzaW9ucyc7XG4gICAgZnJhZ21lbnQuYXBwZW5kKCdSZWdFeHAgcGF0dGVybnMgdG8gaWdub3JlLiBPbmUgcGF0dGVybiBwZXIgbGluZS4gU2VlICcpO1xuICAgIGZyYWdtZW50LmFwcGVuZChsaW5rKTtcbiAgICBmcmFnbWVudC5hcHBlbmQoJyBmb3IgaGVscC4nKTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoJ09taXR0ZWQgcGF0aG5hbWUgcGF0dGVybnMnKVxuICAgICAgLnNldERlc2MoZnJhZ21lbnQpXG4gICAgICAuYWRkVGV4dEFyZWEoKHRleHRBcmVhKSA9PiB7XG4gICAgICAgIHRleHRBcmVhLmlucHV0RWwuc2V0QXR0cigncm93cycsIDYpO1xuICAgICAgICB0ZXh0QXJlYVxuICAgICAgICAgIC5zZXRQbGFjZWhvbGRlcignXmRhaWx5L1xcblxcXFwucG5nJFxcbmZvb2Jhci4qYmF6JylcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5wbHVnaW4uZGF0YS5vbWl0dGVkUGF0aHMuam9pbignXFxuJykpO1xuICAgICAgICB0ZXh0QXJlYS5pbnB1dEVsLm9uYmx1ciA9IChlOiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgcGF0dGVybnMgPSAoZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgICAgdGhpcy5wbHVnaW4uZGF0YS5vbWl0dGVkUGF0aHMgPSBwYXR0ZXJucy5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgdGhpcy5wbHVnaW4ucHJ1bmVPbWl0dGVkRmlsZXMoKTtcbiAgICAgICAgICB0aGlzLnBsdWdpbi52aWV3LnJlZHJhdygpO1xuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKCdMaXN0IGxlbmd0aCcpXG4gICAgICAuc2V0RGVzYygnTWF4aW11bSBudW1iZXIgb2YgZmlsZW5hbWVzIHRvIGtlZXAgaW4gdGhlIGxpc3QuJylcbiAgICAgIC5hZGRUZXh0KCh0ZXh0KSA9PiB7XG4gICAgICAgIHRleHQuaW5wdXRFbC5zZXRBdHRyKCd0eXBlJywgJ251bWJlcicpO1xuICAgICAgICB0ZXh0LmlucHV0RWwuc2V0QXR0cigncGxhY2Vob2xkZXInLCBkZWZhdWx0TWF4TGVuZ3RoKTtcbiAgICAgICAgdGV4dFxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5kYXRhLm1heExlbmd0aD8udG9TdHJpbmcoKSlcbiAgICAgICAgICAub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgICAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4ocGFyc2VkKSAmJiBwYXJzZWQgPD0gMCkge1xuICAgICAgICAgICAgICBuZXcgTm90aWNlKCdMaXN0IGxlbmd0aCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcicpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIHRleHQuaW5wdXRFbC5vbmJsdXIgPSAoZTogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1heGZpbGVzID0gKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KG1heGZpbGVzLCAxMCk7XG4gICAgICAgICAgdGhpcy5wbHVnaW4uZGF0YS5tYXhMZW5ndGggPSBwYXJzZWQ7XG4gICAgICAgICAgdGhpcy5wbHVnaW4ucHJ1bmVMZW5ndGgoKTtcbiAgICAgICAgICB0aGlzLnBsdWdpbi52aWV3LnJlZHJhdygpO1xuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKCdPcGVuIG5vdGUgaW4nKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgICdPcGVuIHRoZSBjbGlja2VkIHJlY2VudCBmaWxlIHJlY29yZCBpbiBhIG5ldyB0YWIsIHNwbGl0LCBvciB3aW5kb3cgKG9ubHkgd29ya3Mgb24gdGhlIGRlc2t0b3AgYXBwKS4nLFxuICAgICAgKVxuICAgICAgLmFkZERyb3Bkb3duKChkcm9wZG93bikgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgICAgIHRhYjogJ3RhYicsXG4gICAgICAgICAgc3BsaXQ6ICdzcGxpdCcsXG4gICAgICAgICAgd2luZG93OiAnd2luZG93JyxcbiAgICAgICAgfTtcblxuICAgICAgICBkcm9wZG93blxuICAgICAgICAgIC5hZGRPcHRpb25zKG9wdGlvbnMpXG4gICAgICAgICAgLnNldFZhbHVlKHRoaXMucGx1Z2luLmRhdGEub3BlblR5cGUpXG4gICAgICAgICAgLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wbHVnaW4uZGF0YS5vcGVuVHlwZSA9IHZhbHVlO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4uc2F2ZURhdGEoKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBkaXYgPSBjb250YWluZXJFbC5jcmVhdGVFbCgnZGl2Jywge1xuICAgICAgY2xzOiAncmVjZW50LWZpbGVzLWRvbmF0aW9uJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRvbmF0ZVRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7XG4gICAgZG9uYXRlVGV4dC5hcHBlbmRUZXh0KFxuICAgICAgJ0lmIHRoaXMgcGx1Z2luIGFkZHMgdmFsdWUgZm9yIHlvdSBhbmQgeW91IHdvdWxkIGxpa2UgdG8gaGVscCBzdXBwb3J0ICcgK1xuICAgICAgICAnY29udGludWVkIGRldmVsb3BtZW50LCBwbGVhc2UgdXNlIHRoZSBidXR0b25zIGJlbG93OicsXG4gICAgKTtcbiAgICBkaXYuYXBwZW5kQ2hpbGQoZG9uYXRlVGV4dCk7XG5cbiAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG5cbiAgICBkaXYuYXBwZW5kQ2hpbGQoXG4gICAgICBjcmVhdGVEb25hdGVCdXR0b24oXG4gICAgICAgICdodHRwczovL3BheXBhbC5tZS90Z3Jvc2luZ2VyJyxcbiAgICAgICAgcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhwYXlwYWwsICd0ZXh0L3htbCcpLmRvY3VtZW50RWxlbWVudCxcbiAgICAgICksXG4gICAgKTtcblxuICAgIGRpdi5hcHBlbmRDaGlsZChcbiAgICAgIGNyZWF0ZURvbmF0ZUJ1dHRvbihcbiAgICAgICAgJ2h0dHBzOi8vd3d3LmJ1eW1lYWNvZmZlZS5jb20vdGdyb3NpbmdlcicsXG4gICAgICAgIHBhcnNlci5wYXJzZUZyb21TdHJpbmcoYnV5TWVBQ29mZmVlLCAndGV4dC94bWwnKS5kb2N1bWVudEVsZW1lbnQsXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgY3JlYXRlRG9uYXRlQnV0dG9uID0gKGxpbms6IHN0cmluZywgaW1nOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50ID0+IHtcbiAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgYS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBsaW5rKTtcbiAgYS5hZGRDbGFzcygncmVjZW50LWZpbGVzLWRvbmF0ZS1idXR0b24nKTtcbiAgYS5hcHBlbmRDaGlsZChpbWcpO1xuICByZXR1cm4gYTtcbn07XG5cbmNvbnN0IHN3ZWVwSWNvbiA9IGBcbjxzdmcgZmlsbD1cImN1cnJlbnRDb2xvclwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtNDk1LjcyIDEuNTgyYy03LjQ1Ni0zLjY5MS0xNi40MjEtMC43MDMtMjAuMTQyIDYuNjk0bC0xMzYuOTIgMjc0LjA4LTI2LjgxOC0xMy40MzNjLTIyLjIwNy0xMS4xMTgtNDkuMjc3LTIuMDY1LTYwLjM5NiAyMC4wODNsLTYuNzEzIDEzLjQwNSAxNjAuOTYgODAuNjE2IDYuNzEzLTEzLjQxMWMxMS4wODctMjIuMTQzIDIuMjI3LTQ5LjE4LTIwLjA4My02MC4zODFsLTI2LjgyMy0xMy40MzUgMTM2LjkyLTI3NC4wOGMzLjcwNi03LjQxMiAwLjcwMy0xNi40MjEtNi42OTQtMjAuMTQxelwiLz5cbiAgPGNpcmNsZSBjeD1cIjE3M1wiIGN5PVwiNDk3XCIgcj1cIjE1XCIvPlxuICA8Y2lyY2xlIGN4PVwiMjNcIiBjeT1cIjQwN1wiIHI9XCIxNVwiLz5cbiAgPGNpcmNsZSBjeD1cIjgzXCIgY3k9XCI0MzdcIiByPVwiMTVcIi8+XG4gIDxwYXRoIGQ9XCJtMTEzIDQ4MmgtNjBjLTguMjc2IDAtMTUtNi43MjQtMTUtMTUgMC04LjI5MS02LjcwOS0xNS0xNS0xNXMtMTUgNi43MDktMTUgMTVjMCAyNC44MTQgMjAuMTg2IDQ1IDQ1IDQ1aDYwYzguMjkxIDAgMTUtNi43MDkgMTUtMTVzLTYuNzA5LTE1LTE1LTE1elwiLz5cbiAgPHBhdGggZD1cIm0xMDguNjQgMzg4LjA3Yy02LjU2MyAwLjgyLTExLjgwNyA1Ljg0NS0xMi45MiAxMi4zNDktMS4xMTMgNi41MTkgMi4xNTMgMTIuOTkzIDguMDU3IDE1Ljk1Mmw3MS42NzUgMzUuODg5YzEyLjkzNSA2LjQ3NSAyNy4yMzEgOS4wNTMgNDEuMTc3IDcuNTczLTEuNjQxIDYuNjUgMS40NzkgMTMuNzg0IDcuODUyIDE2Ljk5Mmw2Ny4wNjEgMzMuNTg5YzUuNjM2IDIuNzggMTIuMTY5IDEuOCAxNi42ODUtMi4xOTcgMi4zNDctMi4wOTEgNTMuNDM2LTQ4LjA1NiA4My4zLTk4LjcxOGwtMTYxLjYtODAuOTRjLTM2LjIwOCA0OC4xMDktMTIwLjM2IDU5LjM5LTEyMS4yOCA1OS41MTF6XCIvPlxuPC9zdmc+YDtcblxuY29uc3QgYnV5TWVBQ29mZmVlID0gYFxuPHN2ZyB3aWR0aD1cIjE1MFwiIGhlaWdodD1cIjQyXCIgdmlld0JveD1cIjAgMCAyNjAgNzNcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNMCAxMS42OEMwIDUuMjI5MzIgNS4yMjkzMSAwIDExLjY4IDBIMjQ4LjJDMjU0LjY1MSAwIDI1OS44OCA1LjIyOTMxIDI1OS44OCAxMS42OFY2MS4zMkMyNTkuODggNjcuNzcwNyAyNTQuNjUxIDczIDI0OC4yIDczSDExLjY4QzUuMjI5MzEgNzMgMCA2Ny43NzA3IDAgNjEuMzJWMTEuNjhaXCIgZmlsbD1cIiNGRkREMDBcIi8+XG48cGF0aCBkPVwiTTUyLjI1NjYgMjQuMDA3OEw1Mi4yMjQ2IDIzLjk4ODlMNTIuMTUwNCAyMy45NjYzQzUyLjE4MDIgMjMuOTkxNSA1Mi4yMTc2IDI0LjAwNjEgNTIuMjU2NiAyNC4wMDc4WlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk01Mi43MjQ4IDI3LjM0NTdMNTIuNjg5NSAyNy4zNTU2TDUyLjcyNDggMjcuMzQ1N1pcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNTIuMjcwMSAyNC4wMDI0QzUyLjI2NiAyNC4wMDE5IDUyLjI2MTkgMjQuMDAwOSA1Mi4yNTggMjMuOTk5NUM1Mi4yNTc4IDI0LjAwMjIgNTIuMjU3OCAyNC4wMDQ5IDUyLjI1OCAyNC4wMDc2QzUyLjI2MjQgMjQuMDA3IDUyLjI2NjYgMjQuMDA1MiA1Mi4yNzAxIDI0LjAwMjRaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTUyLjI1NzggMjQuMDA5NEg1Mi4yNjQzVjI0LjAwNTRMNTIuMjU3OCAyNC4wMDk0WlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk01Mi42OTczIDI3LjMzOTRMNTIuNzUxMyAyNy4zMDg2TDUyLjc3MTQgMjcuMjk3M0w1Mi43ODk3IDI3LjI3NzhDNTIuNzU1NCAyNy4yOTI2IDUyLjcyNDEgMjcuMzEzNSA1Mi42OTczIDI3LjMzOTRaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTUyLjM0ODQgMjQuMDgxMkw1Mi4yOTU2IDI0LjAzMUw1Mi4yNTk4IDI0LjAxMTVDNTIuMjc5IDI0LjA0NTQgNTIuMzEwOCAyNC4wNzA1IDUyLjM0ODQgMjQuMDgxMlpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNMzkuMDY4NCA1Ni40NjlDMzkuMDI2MiA1Ni40ODcyIDM4Ljk4OTMgNTYuNTE1OCAzOC45NjA5IDU2LjU1MkwzOC45OTQzIDU2LjUzMDZDMzkuMDE2OSA1Ni41MDk4IDM5LjA0ODkgNTYuNDg1MyAzOS4wNjg0IDU2LjQ2OVpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNDYuNzgwMiA1NC45NTE4QzQ2Ljc4MDIgNTQuOTA0MSA0Ni43NTY5IDU0LjkxMjkgNDYuNzYyNiA1NS4wODI2QzQ2Ljc2MjYgNTUuMDY4NyA0Ni43NjgzIDU1LjA1NDkgNDYuNzcwOCA1NS4wNDE3QzQ2Ljc3MzkgNTUuMDExNSA0Ni43NzY0IDU0Ljk4MiA0Ni43ODAyIDU0Ljk1MThaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTQ1Ljk4NDQgNTYuNDY5QzQ1Ljk0MjIgNTYuNDg3MiA0NS45MDUzIDU2LjUxNTggNDUuODc3IDU2LjU1Mkw0NS45MTAzIDU2LjUzMDZDNDUuOTMyOSA1Ni41MDk4IDQ1Ljk2NDkgNTYuNDg1MyA0NS45ODQ0IDU2LjQ2OVpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNMzMuNjMwNyA1Ni44MzAxQzMzLjU5ODcgNTYuODAyMyAzMy41NTk1IDU2Ljc4NCAzMy41MTc2IDU2Ljc3NzNDMzMuNTUxNSA1Ni43OTM3IDMzLjU4NTUgNTYuODEgMzMuNjA4MSA1Ni44MjI2TDMzLjYzMDcgNTYuODMwMVpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNMzIuNDExOCA1NS42NTk4QzMyLjQwNjggNTUuNjEwMyAzMi4zOTE2IDU1LjU2MjQgMzIuMzY3MiA1NS41MTlDMzIuMzg0NSA1NS41NjQyIDMyLjM5OSA1NS42MTA0IDMyLjQxMDYgNTUuNjU3M0wzMi40MTE4IDU1LjY1OThaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTQwLjYyMyAzNC43MjIxQzM4Ljk0NDkgMzUuNDQwNSAzNy4wNDA0IDM2LjI1NTEgMzQuNTcyMiAzNi4yNTUxQzMzLjUzOTcgMzYuMjUzMSAzMi41MTIyIDM2LjExMTQgMzEuNTE3NiAzNS44MzRMMzMuMjI0NyA1My4zNjA1QzMzLjI4NTEgNTQuMDkzIDMzLjYxODggNTQuNzc2MSAzNC4xNTk1IDU1LjI3MzlDMzQuNzAwMyA1NS43NzE4IDM1LjQwODUgNTYuMDQ4MiAzNi4xNDM1IDU2LjA0OEMzNi4xNDM1IDU2LjA0OCAzOC41NjQgNTYuMTczNyAzOS4zNzE2IDU2LjE3MzdDNDAuMjQwOSA1Ni4xNzM3IDQyLjg0NzQgNTYuMDQ4IDQyLjg0NzQgNTYuMDQ4QzQzLjU4MjMgNTYuMDQ4IDQ0LjI5MDQgNTUuNzcxNiA0NC44MzEgNTUuMjczN0M0NS4zNzE2IDU0Ljc3NTkgNDUuNzA1MiA1NC4wOTI5IDQ1Ljc2NTYgNTMuMzYwNUw0Ny41OTQgMzMuOTkzQzQ2Ljc3NjkgMzMuNzE0IDQ1Ljk1MjMgMzMuNTI4NiA0NS4wMjI3IDMzLjUyODZDNDMuNDE1IDMzLjUyNzkgNDIuMTE5NiAzNC4wODE3IDQwLjYyMyAzNC43MjIxWlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbjxwYXRoIGQ9XCJNMjYuMjM0NCAyNy4yNDQ5TDI2LjI2MzMgMjcuMjcxOUwyNi4yODIxIDI3LjI4MzJDMjYuMjY3NiAyNy4yNjg4IDI2LjI1MTYgMjcuMjU1OSAyNi4yMzQ0IDI3LjI0NDlaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTU1LjQ5MDYgMjUuNjI3NEw1NS4yMzM2IDI0LjMzMDdDNTUuMDAyOSAyMy4xNjczIDU0LjQ3OTMgMjIuMDY4IDUzLjI4NTEgMjEuNjQ3NUM1Mi45MDI0IDIxLjUxMyA1Mi40NjggMjEuNDU1MiA1Mi4xNzQ1IDIxLjE3NjhDNTEuODgxIDIwLjg5ODMgNTEuNzk0MyAyMC40NjU5IDUxLjcyNjQgMjAuMDY0OUM1MS42MDA3IDE5LjMyODkgNTEuNDgyNSAxOC41OTIzIDUxLjM1MzcgMTcuODU3NUM1MS4yNDI0IDE3LjIyNTkgNTEuMTU0NCAxNi41MTYzIDUwLjg2NDcgMTUuOTM2OEM1MC40ODc2IDE1LjE1ODYgNDkuNzA1IDE0LjcwMzYgNDguOTI2OSAxNC40MDI1QzQ4LjUyODIgMTQuMjUzNyA0OC4xMjEzIDE0LjEyNzggNDcuNzA4MiAxNC4wMjU0QzQ1Ljc2NDIgMTMuNTEyNSA0My43MjAyIDEzLjMyNCA0MS43MjAyIDEzLjIxNjVDMzkuMzE5NyAxMy4wODQgMzYuOTEyOCAxMy4xMjM5IDM0LjUxOCAxMy4zMzU5QzMyLjczNTUgMTMuNDk4MSAzMC44NTgxIDEzLjY5NDIgMjkuMTY0MiAxNC4zMTA4QzI4LjU0NTEgMTQuNTM2NCAyNy45MDcxIDE0LjgwNzMgMjcuNDM2NCAxNS4yODU2QzI2Ljg1ODcgMTUuODczMyAyNi42NzAyIDE2Ljc4MjEgMjcuMDkxOSAxNy41MTVDMjcuMzkxNyAxOC4wMzU0IDI3Ljg5OTYgMTguNDAzMSAyOC40MzgyIDE4LjY0NjNDMjkuMTM5OCAxOC45NTk3IDI5Ljg3MjYgMTkuMTk4MiAzMC42MjQyIDE5LjM1NzhDMzIuNzE3MiAxOS44MjA0IDM0Ljg4NSAyMC4wMDIxIDM3LjAyMzMgMjAuMDc5NEMzOS4zOTMyIDIwLjE3NSA0MS43NjcgMjAuMDk3NSA0NC4xMjU2IDE5Ljg0NzRDNDQuNzA4OSAxOS43ODMzIDQ1LjI5MTEgMTkuNzA2NCA0NS44NzIzIDE5LjYxNjhDNDYuNTU2OCAxOS41MTE4IDQ2Ljk5NjEgMTguNjE2OCA0Ni43OTQzIDE3Ljk5MzNDNDYuNTUzIDE3LjI0NzkgNDUuOTA0NCAxNi45NTg3IDQ1LjE3MDkgMTcuMDcxMkM0NS4wNjI4IDE3LjA4ODIgNDQuOTU1MyAxNy4xMDM5IDQ0Ljg0NzIgMTcuMTE5Nkw0NC43NjkyIDE3LjEzMUM0NC41MjA4IDE3LjE2MjQgNDQuMjcyMyAxNy4xOTE3IDQ0LjAyMzggMTcuMjE5QzQzLjUxMDUgMTcuMjc0MyA0Mi45OTU5IDE3LjMxOTUgNDIuNDgwMSAxNy4zNTQ3QzQxLjMyNDkgMTcuNDM1MiA0MC4xNjY1IDE3LjQ3MjIgMzkuMDA4OCAxNy40NzQxQzM3Ljg3MTIgMTcuNDc0MSAzNi43MzI5IDE3LjQ0MjEgMzUuNTk3OCAxNy4zNjczQzM1LjA3OTkgMTcuMzMzMyAzNC41NjMyIDE3LjI5MDIgMzQuMDQ3OCAxNy4yMzc4QzMzLjgxMzQgMTcuMjEzMyAzMy41Nzk2IDE3LjE4NzUgMzMuMzQ1OCAxNy4xNTg2TDMzLjEyMzMgMTcuMTMwM0wzMy4wNzQ5IDE3LjEyMzRMMzIuODQ0MiAxNy4wOTAxQzMyLjM3MjggMTcuMDE5MSAzMS45MDE0IDE2LjkzNzQgMzEuNDM1IDE2LjgzODdDMzEuMzg4IDE2LjgyODMgMzEuMzQ1OSAxNi44MDIxIDMxLjMxNTcgMTYuNzY0NUMzMS4yODU2IDE2LjcyNjkgMzEuMjY5MSAxNi42ODAxIDMxLjI2OTEgMTYuNjMxOUMzMS4yNjkxIDE2LjU4MzcgMzEuMjg1NiAxNi41MzY5IDMxLjMxNTcgMTYuNDk5M0MzMS4zNDU5IDE2LjQ2MTcgMzEuMzg4IDE2LjQzNTYgMzEuNDM1IDE2LjQyNTFIMzEuNDQzOEMzMS44NDggMTYuMzM5IDMyLjI1NTMgMTYuMjY1NSAzMi42NjM4IDE2LjIwMTRDMzIuOCAxNi4xOCAzMi45MzY2IDE2LjE1OSAzMy4wNzM2IDE2LjEzODVIMzMuMDc3NEMzMy4zMzMyIDE2LjEyMTUgMzMuNTkwMyAxNi4wNzU3IDMzLjg0NDggMTYuMDQ1NUMzNi4wNTk1IDE1LjgxNTEgMzguMjg3NCAxNS43MzY2IDQwLjUxMjggMTUuODEwNEM0MS41OTMzIDE1Ljg0MTkgNDIuNjczMSAxNS45MDUzIDQzLjc0ODUgMTYuMDE0N0M0My45Nzk4IDE2LjAzODYgNDQuMjA5OCAxNi4wNjM3IDQ0LjQzOTkgMTYuMDkyQzQ0LjUyNzkgMTYuMTAyNyA0NC42MTY1IDE2LjExNTMgNDQuNzA1MSAxNi4xMjU5TDQ0Ljg4MzYgMTYuMTUxN0M0NS40MDQgMTYuMjI5MiA0NS45MjE3IDE2LjMyMzMgNDYuNDM2NyAxNi40MzM5QzQ3LjE5OTcgMTYuNTk5OSA0OC4xNzk2IDE2LjY1MzkgNDguNTE5IDE3LjQ4OThDNDguNjI3MSAxNy43NTUxIDQ4LjY3NjEgMTguMDQ5OSA0OC43MzU5IDE4LjMyODNMNDguODExOSAxOC42ODM0QzQ4LjgxMzkgMTguNjg5OCA0OC44MTU0IDE4LjY5NjMgNDguODE2MyAxOC43MDI5QzQ4Ljk5NjEgMTkuNTQwOSA0OS4xNzYgMjAuMzc5IDQ5LjM1NjIgMjEuMjE3QzQ5LjM2OTQgMjEuMjc4OSA0OS4zNjk3IDIxLjM0MjkgNDkuMzU3MSAyMS40MDQ5QzQ5LjM0NDUgMjEuNDY2OSA0OS4zMTkzIDIxLjUyNTcgNDkuMjgyOSAyMS41Nzc2QzQ5LjI0NjYgMjEuNjI5NCA0OS4yIDIxLjY3MzIgNDkuMTQ2IDIxLjcwNjJDNDkuMDkyIDIxLjczOTIgNDkuMDMxNyAyMS43NjA4IDQ4Ljk2OSAyMS43Njk1SDQ4Ljk2NEw0OC44NTQgMjEuNzg0Nkw0OC43NDUzIDIxLjc5OUM0OC40MDA5IDIxLjg0MzkgNDguMDU2IDIxLjg4NTggNDcuNzEwNyAyMS45MjQ3QzQ3LjAzMDcgMjIuMDAyMiA0Ni4zNDk2IDIyLjA2OTMgNDUuNjY3NCAyMi4xMjU5QzQ0LjMxMTkgMjIuMjM4NiA0Mi45NTM2IDIyLjMxMjUgNDEuNTkyNyAyMi4zNDc3QzQwLjg5OTIgMjIuMzY2MiA0MC4yMDU5IDIyLjM3NDggMzkuNTEyOSAyMi4zNzM1QzM2Ljc1NDMgMjIuMzcxMyAzMy45OTgxIDIyLjIxMSAzMS4yNTc4IDIxLjg5MzNDMzAuOTYxMSAyMS44NTgxIDMwLjY2NDUgMjEuODIwNCAzMC4zNjc4IDIxLjc4MjFDMzAuNTk3OCAyMS44MTE2IDMwLjIwMDYgMjEuNzU5NCAzMC4xMjAyIDIxLjc0ODFDMjkuOTMxNiAyMS43MjE3IDI5Ljc0MzEgMjEuNjk0MyAyOS41NTQ1IDIxLjY2NThDMjguOTIxNiAyMS41NzA5IDI4LjI5MjQgMjEuNDU0IDI3LjY2MDcgMjEuMzUxNUMyNi44OTcxIDIxLjIyNTggMjYuMTY2NyAyMS4yODg3IDI1LjQ3NiAyMS42NjU4QzI0LjkwOSAyMS45NzYgMjQuNDUwMSAyMi40NTE4IDI0LjE2MDUgMjMuMDI5N0MyMy44NjI2IDIzLjY0NTYgMjMuNzczOSAyNC4zMTYzIDIzLjY0MDcgMjQuOTc4MUMyMy41MDc0IDI1LjYzOTkgMjMuMyAyNi4zNTIxIDIzLjM3ODYgMjcuMDMxNUMyMy41NDc3IDI4LjQ5NzkgMjQuNTcyOCAyOS42ODk1IDI2LjA0NzMgMjkuOTU2QzI3LjQzNDUgMzAuMjA3NCAyOC44MjkyIDMwLjQxMTEgMzAuMjI3NiAzMC41ODQ2QzM1LjcyMTIgMzEuMjU3NCA0MS4yNzExIDMxLjMzNzkgNDYuNzgxOCAzMC44MjQ3QzQ3LjIzMDUgMzAuNzgyOCA0Ny42Nzg3IDMwLjczNzEgNDguMTI2MiAzMC42ODc2QzQ4LjI2NiAzMC42NzIzIDQ4LjQwNzQgMzAuNjg4NCA0OC41NDAxIDMwLjczNDhDNDguNjcyOSAzMC43ODEyIDQ4Ljc5MzYgMzAuODU2NiA0OC44OTM0IDMwLjk1NTdDNDguOTkzMiAzMS4wNTQ4IDQ5LjA2OTUgMzEuMTc0OSA0OS4xMTY5IDMxLjMwNzNDNDkuMTY0MiAzMS40Mzk3IDQ5LjE4MTQgMzEuNTgxMSA0OS4xNjcgMzEuNzIwOUw0OS4wMjc1IDMzLjA3NzNDNDguNzQ2MyAzNS44MTgxIDQ4LjQ2NTIgMzguNTU4NyA0OC4xODQgNDEuMjk5QzQ3Ljg5MDcgNDQuMTc2OSA0Ny41OTU1IDQ3LjA1NDUgNDcuMjk4NCA0OS45MzE5QzQ3LjIxNDYgNTAuNzQyMiA0Ny4xMzA4IDUxLjU1MjQgNDcuMDQ3IDUyLjM2MjRDNDYuOTY2NiA1My4xNiA0Ni45NTUyIDUzLjk4MjcgNDYuODAzOCA1NC43NzA5QzQ2LjU2NDkgNTYuMDEwMyA0NS43MjU4IDU2Ljc3MTUgNDQuNTAxNSA1Ny4wNDk5QzQzLjM3OTggNTcuMzA1MiA0Mi4yMzM5IDU3LjQzOTIgNDEuMDgzNiA1Ny40NDk3QzM5LjgwODMgNTcuNDU2NiAzOC41MzM2IDU3LjQgMzcuMjU4MyA1Ny40MDY5QzM1Ljg5NyA1Ny40MTQ1IDM0LjIyOTUgNTcuMjg4NyAzMy4xNzg2IDU2LjI3NTZDMzIuMjU1MyA1NS4zODU2IDMyLjEyNzcgNTMuOTkyMSAzMi4wMDIgNTIuNzg3MkMzMS44MzQ0IDUxLjE5MiAzMS42NjgyIDQ5LjU5NzEgMzEuNTAzNiA0OC4wMDIzTDMwLjU3OTYgMzkuMTM0NEwyOS45ODE5IDMzLjM5NjZDMjkuOTcxOCAzMy4zMDE3IDI5Ljk2MTggMzMuMjA4IDI5Ljk1MjQgMzMuMTEyNUMyOS44ODA3IDMyLjQyOCAyOS4zOTYxIDMxLjc1OCAyOC42MzI0IDMxLjc5MjZDMjcuOTc4OCAzMS44MjE1IDI3LjIzNTkgMzIuMzc3MSAyNy4zMTI1IDMzLjExMjVMMjcuNzU1NyAzNy4zNjY0TDI4LjY3MiA0Ni4xNjU3QzI4LjkzMzEgNDguNjY1MiAyOS4xOTM1IDUxLjE2NSAyOS40NTMzIDUzLjY2NTNDMjkuNTAzNiA1NC4xNDQyIDI5LjU1MDcgNTQuNjI0NCAyOS42MDM1IDU1LjEwMzRDMjkuODkwOCA1Ny43MjA1IDMxLjg4OTUgNTkuMTMxIDM0LjM2NDYgNTkuNTI4MkMzNS44MTAyIDU5Ljc2MDcgMzcuMjkxIDU5LjgwODUgMzguNzU4IDU5LjgzMjRDNDAuNjM4NiA1OS44NjI2IDQyLjUzOCA1OS45MzQ4IDQ0LjM4NzcgNTkuNTk0MkM0Ny4xMjg3IDU5LjA5MTQgNDkuMTg1MyA1Ny4yNjExIDQ5LjQ3ODggNTQuNDIyQzQ5LjU2MjYgNTMuNjAyNCA0OS42NDY0IDUyLjc4MjYgNDkuNzMwMiA1MS45NjI2QzUwLjAwODggNDkuMjUwNyA1MC4yODcxIDQ2LjUzODYgNTAuNTY0OSA0My44MjYzTDUxLjQ3MzcgMzQuOTY0MUw1MS44OTA0IDMwLjkwMjZDNTEuOTExMiAzMC43MDEyIDUxLjk5NjIgMzAuNTExOCA1Mi4xMzMgMzAuMzYyNUM1Mi4yNjk3IDMwLjIxMzIgNTIuNDUwOSAzMC4xMTE5IDUyLjY0OTcgMzAuMDczNkM1My40MzM1IDI5LjkyMDggNTQuMTgyNyAyOS42NiA1NC43NDAyIDI5LjA2MzVDNTUuNjI3NyAyOC4xMTM4IDU1LjgwNDMgMjYuODc1NiA1NS40OTA2IDI1LjYyNzRaTTI2LjAwNzEgMjYuNTAzNUMyNi4wMTkgMjYuNDk3OSAyNS45OTcgMjYuNjAwMyAyNS45ODc2IDI2LjY0ODFDMjUuOTg1NyAyNi41NzU4IDI1Ljk4OTUgMjYuNTExNyAyNi4wMDcxIDI2LjUwMzVaTTI2LjA4MzEgMjcuMDkxOEMyNi4wODk0IDI3LjA4NzQgMjYuMTA4MyAyNy4xMTI2IDI2LjEyNzggMjcuMTQyOEMyNi4wOTgyIDI3LjExNTEgMjYuMDc5NCAyNy4wOTQ0IDI2LjA4MjUgMjcuMDkxOEgyNi4wODMxWk0yNi4xNTc5IDI3LjE5MDVDMjYuMTg1IDI3LjIzNjQgMjYuMTk5NCAyNy4yNjUzIDI2LjE1NzkgMjcuMTkwNVYyNy4xOTA1Wk0yNi4zMDgyIDI3LjMxMjVIMjYuMzExOUMyNi4zMTE5IDI3LjMxNjkgMjYuMzE4OCAyNy4zMjEzIDI2LjMyMTQgMjcuMzI1N0MyNi4zMTcyIDI3LjMyMDggMjYuMzEyNiAyNy4zMTY0IDI2LjMwNzUgMjcuMzEyNUgyNi4zMDgyWk01Mi42MTMyIDI3LjEzMDJDNTIuMzMxNyAyNy4zOTc5IDUxLjkwNzQgMjcuNTIyNCA1MS40ODgyIDI3LjU4NDZDNDYuNzg2OCAyOC4yODIzIDQyLjAxNjkgMjguNjM1NSAzNy4yNjQgMjguNDc5NkMzMy44NjI0IDI4LjM2MzMgMzAuNDk2NyAyNy45ODU2IDI3LjEyOSAyNy41MDk4QzI2Ljc5OSAyNy40NjMzIDI2LjQ0MTQgMjcuNDAzIDI2LjIxNDUgMjcuMTU5N0MyNS43ODcxIDI2LjcwMDkgMjUuOTk3IDI1Ljc3NyAyNi4xMDgzIDI1LjIyMjZDMjYuMjEwMSAyNC43MTQ4IDI2LjQwNSAyNC4wMzc4IDI3LjAwOSAyMy45NjU2QzI3Ljk1MTggMjMuODU0OSAyOS4wNDY2IDI0LjI1MjggMjkuOTc5NCAyNC4zOTQyQzMxLjEwMjMgMjQuNTY1NiAzMi4yMjk1IDI0LjcwMjggMzMuMzYwOSAyNC44MDU5QzM4LjE4OTIgMjUuMjQ1OSA0My4wOTg2IDI1LjE3NzQgNDcuOTA1NiAyNC41MzM3QzQ4Ljc4MTcgMjQuNDE2IDQ5LjY1NDggMjQuMjc5MiA1MC41MjQ2IDI0LjEyMzNDNTEuMjk5NiAyMy45ODQ0IDUyLjE1ODggMjMuNzIzNiA1Mi42MjcxIDI0LjUyNjJDNTIuOTQ4MiAyNS4wNzMgNTIuOTkxIDI1LjgwNDYgNTIuOTQxMyAyNi40MjI1QzUyLjkyNiAyNi42OTE3IDUyLjgwODQgMjYuOTQ0OCA1Mi42MTI2IDI3LjEzMDJINTIuNjEzMlpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04MS4xMzAyIDQwLjE5MjlDODAuODU1NiA0MC43MTY5IDgwLjQ3ODEgNDEuMTczMiA3OS45OTc4IDQxLjU2MDRDNzkuNTE3NSA0MS45NDc5IDc4Ljk1NzEgNDIuMjYzMyA3OC4zMTY2IDQyLjUwNjJDNzcuNjc2MSA0Mi43NDk3IDc3LjAzMTUgNDIuOTEzMSA3Ni4zODM1IDQyLjk5NjRDNzUuNzM1MiA0My4wNzk5IDc1LjEwNiA0My4wNzI3IDc0LjQ5NjMgNDIuOTczNUM3My44ODYzIDQyLjg3NDkgNzMuMzY3NCA0Mi42NzM3IDcyLjk0MDggNDIuMzY5NUw3My40MjE0IDM3LjM3NzlDNzMuODYzMyAzNy4yMjYxIDc0LjQxOTcgMzcuMDcwMyA3NS4wOTA5IDM2LjkxMDdDNzUuNzYxOSAzNi43NTEzIDc2LjQ1MiAzNi42MzcxIDc3LjE2MTMgMzYuNTY4OUM3Ny44NzA1IDM2LjUwMDMgNzguNTQxMiAzNi41MDg0IDc5LjE3NDQgMzYuNTkxN0M3OS44MDY4IDM2LjY3NTMgODAuMzA2NSAzNi44NzY1IDgwLjY3MjUgMzcuMTk1OEM4MC44NzA3IDM3LjM3OCA4MS4wMzg3IDM3LjU3NTQgODEuMTc2IDM3Ljc4ODNDODEuMzEzIDM4LjAwMTEgODEuMzk2OSAzOC4yMjE0IDgxLjQyNzYgMzguNDQ5M0M4MS41MDM3IDM5LjA4NzUgODEuNDA0NyAzOS42Njg3IDgxLjEzMDIgNDAuMTkyOVpNNzQuMTUzIDI5LjU2MDJDNzQuNDczNCAyOS4zNjI3IDc0Ljg1ODUgMjkuMTg3NyA3NS4zMDgzIDI5LjAzNTZDNzUuNzU4MSAyOC44ODQxIDc2LjIxOTUgMjguNzc3NCA3Ni42OTIzIDI4LjcxNjdDNzcuMTY0OCAyOC42NTYyIDc3LjYyNjIgMjguNjQ4MSA3OC4wNzYzIDI4LjY5MzhDNzguNTI1OCAyOC43Mzk1IDc4LjkyMjggMjguODY0NyA3OS4yNjU5IDI5LjA2OTdDNzkuNjA4OSAyOS4yNzUxIDc5Ljg2NDMgMjkuNTcxNCA4MC4wMzIgMjkuOTU4NkM4MC4xOTk3IDMwLjM0NjQgODAuMjQ1NiAzMC44MzY1IDgwLjE2OTMgMzEuNDI5QzgwLjEwODMgMzEuOTAwMSA3OS45MjExIDMyLjI5OTEgNzkuNjA4OSAzMi42MjU2Qzc5LjI5NjMgMzIuOTUyNiA3OC45MTQ3IDMzLjIyNTkgNzguNDY1MiAzMy40NDYyQzc4LjAxNTQgMzMuNjY2OCA3Ny41Mzg4IDMzLjg0MTUgNzcuMDM1NiAzMy45NzAyQzc2LjUzMjEgMzQuMDk5NyA3Ni4wNDc3IDM0LjE5NDkgNzUuNTgyOCAzNC4yNTUzQzc1LjExNzYgMzQuMzE2MyA3NC43MTM3IDM0LjM1NDUgNzQuMzcwNiAzNC4zNjkyQzc0LjAyNzMgMzQuMzg0NSA3My44MDIxIDM0LjM5MjEgNzMuNjk1NiAzNC4zOTIxTDc0LjE1MyAyOS41NjAyWk04My42MDA3IDM2Ljk2NzZDODMuMzU2NiAzNi40MzYxIDgzLjAyODcgMzUuOTY4OSA4Mi42MTcyIDM1LjU2NThDODIuMjA1NCAzNS4xNjMzIDgxLjcxNyAzNC44NzA5IDgxLjE1MzEgMzQuNjg4NUM4MS4zOTY5IDM0LjQ5MSA4MS42MzcxIDM0LjE3OTUgODEuODczNyAzMy43NTM5QzgyLjEwOTkgMzMuMzI4OCA4Mi4zMTE5IDMyLjg2NSA4Mi40Nzk2IDMyLjM2MzZDODIuNjQ3NCAzMS44NjE5IDgyLjc2MiAzMS4zNTcgODIuODIyOSAzMC44NDc4QzgyLjg4MzYgMzAuMzM4OSA4Mi44NjA3IDI5LjkwMiA4Mi43NTQ0IDI5LjUzN0M4Mi40OTQ3IDI4LjYyNTYgODIuMDg3IDI3LjkxMTQgODEuNTMwMyAyNy4zOTQ2QzgwLjk3MzQgMjYuODc4MiA4MC4zMjU3IDI2LjUyMTEgNzkuNTg2IDI2LjMyMzNDNzguODQ2MiAyNi4xMjY0IDc4LjAzMDQgMjYuMDg0MiA3Ny4xMzgzIDI2LjE5ODFDNzYuMjQ2MiAyNi4zMTIgNzUuMzM0NyAyNi41MzYxIDc0LjQwNDkgMjYuODcwNEM3NC40MDQ5IDI2Ljc5NDYgNzQuNDEyNCAyNi43MTQ4IDc0LjQyNzggMjYuNjMxMkM3NC40NDI2IDI2LjU0OCA3NC40NTA0IDI2LjQ2MDQgNzQuNDUwNCAyNi4zNjlDNzQuNDUwNCAyNi4xNDExIDc0LjMzNjEgMjUuOTQzOSA3NC4xMDc0IDI1Ljc3NjVDNzMuODc4NyAyNS42MDkzIDczLjYxNTUgMjUuNTEwNyA3My4zMTgzIDI1LjQ4MDFDNzMuMDIwOSAyNS40NSA3Mi43MzEgMjUuNTE0MiA3Mi40NDg5IDI1LjY3MzhDNzIuMTY2NSAyNS44MzM0IDcxLjk3MjEgMjYuMTI2NCA3MS44NjU2IDI2LjU1MTFDNzEuNzQzNCAyNy45MTg5IDcxLjYyMTUgMjkuMzM5OCA3MS40OTk2IDMwLjgxMzRDNzEuMzc3NCAzMi4yODc1IDcxLjI0OCAzMy43NzY3IDcxLjExMDcgMzUuMjgxMkM3MC45NzM1IDM2Ljc4NTUgNzAuODM2MiAzOC4yNzg0IDcwLjY5ODkgMzkuNzU5OEM3MC41NjE2IDQxLjI0MTQgNzAuNDI0NCA0Mi42NjU5IDcwLjI4NzEgNDQuMDMzM0M3MC4zMzMgNDQuNDQzNiA3MC40NDczIDQ0Ljc2MjkgNzAuNjMwNCA0NC45OTA3QzcwLjgxMzMgNDUuMjE4OSA3MS4wMjY4IDQ1LjM1NTYgNzEuMjcwOSA0NS40MDFDNzEuNTE0NyA0NS40NDY3IDcxLjc3MDQgNDUuNDA0NSA3Mi4wMzcxIDQ1LjI3NTVDNzIuMzAzOCA0NS4xNDY5IDcyLjUzNjUgNDQuOTIyMiA3Mi43MzUgNDQuNjAzMkM3My4zNDQ3IDQ0LjkzNzUgNzQuMDMxMSA0NS4xNTQxIDc0Ljc5MzggNDUuMjUzQzc1LjU1NjEgNDUuMzUxNiA3Ni4zMjk4IDQ1LjM1MTYgNzcuMTE1NyA0NS4yNTNDNzcuOTAwNyA0NS4xNTQxIDc4LjY3NDcgNDQuOTY4MiA3OS40Mzc0IDQ0LjY5NDNDODAuMTk5NyA0NC40MjExIDgwLjg5MzYgNDQuMDc5IDgxLjUxOSA0My42NjlDODIuMTQ0MSA0My4yNTg2IDgyLjY3MDMgNDIuNzkxMSA4My4wOTc1IDQyLjI2NzFDODMuNTI0NCA0MS43NDI2IDgzLjgwNjUgNDEuMTc2NyA4My45NDM3IDQwLjU2OTFDODQuMDgxIDM5Ljk0NiA4NC4xMTkgMzkuMzIzMSA4NC4wNTgxIDM4LjdDODMuOTk3MSAzOC4wNzcxIDgzLjg0NDUgMzcuNSA4My42MDA3IDM2Ljk2NzZaXCIgZmlsbD1cIiMwRDBDMjNcIi8+XG48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTA1LjkxNSA0OS4wMDE3QzEwNS44MzIgNDkuNTAzMSAxMDUuNzEzIDUwLjAzMTEgMTA1LjU2MSA1MC41ODZDMTA1LjQwOCA1MS4xNDAzIDEwNS4yMjkgNTEuNjQ1OCAxMDUuMDIzIDUyLjEwMThDMTA0LjgxOCA1Mi41NTc1IDEwNC41ODkgNTIuOTI1NiAxMDQuMzM3IDUzLjIwN0MxMDQuMDg1IDUzLjQ4OCAxMDMuODE1IDUzLjYwNiAxMDMuNTI1IDUzLjU2MDZDMTAzLjI5NiA1My41Mjk3IDEwMy4xNTEgNTMuMzg1NCAxMDMuMDkxIDUzLjEyNzRDMTAzLjAyOSA1Mi44Njg2IDEwMy4wMjkgNTIuNTQ5NyAxMDMuMDkxIDUyLjE3QzEwMy4xNTEgNTEuNzkwMSAxMDMuMjY5IDUxLjM2MDcgMTAzLjQ0NSA1MC44ODIxQzEwMy42MiA1MC40MDM1IDEwMy44MzQgNDkuOTI4NCAxMDQuMDg1IDQ5LjQ1NzdDMTA0LjMzNyA0OC45ODY0IDEwNC42MjMgNDguNTM0NyAxMDQuOTQzIDQ4LjEwMTVDMTA1LjI2NCA0Ny42Njg2IDEwNS41OTkgNDcuMzA3NSAxMDUuOTUgNDcuMDE4OUMxMDYuMDI2IDQ3LjExIDEwNi4wNiA0Ny4zMzc4IDEwNi4wNTMgNDcuNzAyOEMxMDYuMDQ1IDQ4LjA2NzQgMTA1Ljk5OSA0OC41MDA2IDEwNS45MTUgNDkuMDAxN1pNMTEzLjY3IDM5LjEwOTdDMTEzLjQ2NCAzOC44ODE5IDExMy4yMTMgMzguNzUyOSAxMTIuOTE1IDM4LjcyMjNDMTEyLjYxOCAzOC42OTE5IDExMi4zMTcgMzguODU5IDExMi4wMTIgMzkuMjIzN0MxMTEuODEzIDM5LjU4ODMgMTExLjU2MiAzOS45Mzc5IDExMS4yNTcgNDAuMjcyMkMxMTAuOTUyIDQwLjYwNjcgMTEwLjYzNSA0MC45MTAzIDExMC4zMDcgNDEuMTgzOUMxMDkuOTggNDEuNDU3MiAxMDkuNjY3IDQxLjY5MzEgMTA5LjM3IDQxLjg5MDNDMTA5LjA3MiA0Mi4wODgxIDEwOC44NCA0Mi4yMzI0IDEwOC42NzIgNDIuMzIzNUMxMDguNjExIDQxLjgzNzQgMTA4LjU3NiA0MS4zMTMyIDEwOC41NjkgNDAuNzUwN0MxMDguNTYxIDQwLjE4ODYgMTA4LjU3MyAzOS42MTkgMTA4LjYwMyAzOS4wNDE1QzEwOC42NDkgMzguMjIwOSAxMDguNzQ0IDM3LjM5MyAxMDguODg5IDM2LjU1N0MxMDkuMDM0IDM1LjcyMTMgMTA5LjI0NCAzNC45MDA3IDEwOS41MTggMzQuMDk1MUMxMDkuNTE4IDMzLjY3IDEwOS40MTkgMzMuMzI0MiAxMDkuMjIxIDMzLjA1ODJDMTA5LjAyMiAzMi43OTI0IDEwOC43ODIgMzIuNjI1IDEwOC41IDMyLjU1NjdDMTA4LjIxOCAzMi40ODg1IDEwNy45MjkgMzIuNTI2NCAxMDcuNjMxIDMyLjY3MDdDMTA3LjMzNCAzMi44MTUzIDEwNy4wNzggMzMuMDc3NSAxMDYuODY1IDMzLjQ1NjlDMTA2LjY4MiAzMy45NTg2IDEwNi40NzIgMzQuNTIwNyAxMDYuMjM2IDM1LjE0MzZDMTA1Ljk5OSAzNS43NjY3IDEwNS43MzIgMzYuNDAxMiAxMDUuNDM1IDM3LjA0NjlDMTA1LjEzOCAzNy42OTMxIDEwNC44MDYgMzguMzE5NyAxMDQuNDQgMzguOTI3M0MxMDQuMDc0IDM5LjUzNTQgMTAzLjY3NCA0MC4wNzUgMTAzLjIzOSA0MC41NDU3QzEwMi44MDQgNDEuMDE2OCAxMDIuMzMxIDQxLjM4NTQgMTAxLjgyMSA0MS42NTEyQzEwMS4zMSA0MS45MTcyIDEwMC43NTcgNDIuMDM0OSAxMDAuMTYyIDQyLjAwNDVDOTkuODg3NiA0MS45Mjg1IDk5LjY4OTMgNDEuNzIzNSA5OS41Njc1IDQxLjM4ODlDOTkuNDQ1MyA0MS4wNTQ5IDk5LjM3MyA0MC42MzY4IDk5LjM1MDQgNDAuMTM1NEM5OS4zMjc1IDM5LjYzNCA5OS4zNTA0IDM5LjA4MzEgOTkuNDE4OSAzOC40ODI4Qzk5LjQ4NzcgMzcuODgyOCA5OS41NzkxIDM3LjI4NjMgOTkuNjkzNCAzNi42OTM4Qzk5LjgwNzggMzYuMTAxIDk5LjkzMzcgMzUuNTM4OSAxMDAuMDcxIDM1LjAwNzFDMTAwLjIwOCAzNC40NzUzIDEwMC4zMzcgMzQuMDI2OCAxMDAuNDYgMzMuNjYyMkMxMDAuNjQzIDMzLjIyMTggMTAwLjY0MyAzMi44NTI5IDEwMC40NiAzMi41NTY3QzEwMC4yNzcgMzIuMjYwNCAxMDAuMDI1IDMyLjA2MzEgOTkuNzA1IDMxLjk2NEM5OS4zODQ2IDMxLjg2NTQgOTkuMDQ4OSAzMS44Njk0IDk4LjY5ODMgMzEuOTc1NUM5OC4zNDc0IDMyLjA4MTkgOTguMDk1OCAzMi4zMTczIDk3Ljk0MzUgMzIuNjgyQzk3LjY4NCAzMy4zMDU0IDk3LjQ0NzUgMzQuMDA0IDk3LjIzNDIgMzQuNzc5Qzk3LjAyMDYgMzUuNTUzOSA5Ni44NDkxIDM2LjM1NTggOTYuNzE5NyAzNy4xODM2Qzk2LjU4OTYgMzguMDEyMSA5Ni41MTcxIDM4LjgzMjcgOTYuNTAyIDM5LjY0NTZDOTYuNTAxMSAzOS42OTg1IDk2LjUwMzcgMzkuNzQ4OCA5Ni41MDM0IDM5LjgwMTRDOTYuMTcwOSA0MC42ODQ4IDk1Ljg1NCA0MS4zNTI1IDk1LjU1MyA0MS43OTkyQzk1LjE2NDEgNDIuMzc3IDk0LjcyNTMgNDIuNjI3NyA5NC4yMzc1IDQyLjU1MTNDOTQuMDIzNiA0Mi40NjAzIDkzLjg4MzIgNDIuMjQ3NyA5My44MTQ3IDQxLjkxMzJDOTMuNzQ1MyA0MS41NzkyIDkzLjcyMjcgNDEuMTY4OSA5My43NDUzIDQwLjY4MjJDOTMuNzY4OCA0MC4xOTY0IDkzLjgyNiAzOS42NDU2IDkzLjkxNzEgMzkuMDI5OUM5NC4wMDkxIDM4LjQxNDYgOTQuMTIyOSAzNy43NzY0IDk0LjI2MDEgMzcuMTE1NEM5NC4zOTc3IDM2LjQ1NDEgOTQuNTQyNSAzNS43ODk5IDk0LjY5NDkgMzUuMTIxQzk0Ljg0NzIgMzQuNDUyNSA5NC45ODQ1IDMzLjgyMTggOTUuMTA3IDMzLjIyOTFDOTUuMDkxNiAzMi42OTczIDk0LjkzNTIgMzIuMjkxIDk0LjYzNzcgMzIuMDA5N0M5NC4zNDA1IDMxLjcyODkgOTMuOTI0NyAzMS42MTg3IDkzLjM5MTMgMzEuNjc5MUM5My4wMjUzIDMxLjgzMTIgOTIuNzU0MiAzMi4wMjkgOTIuNTc5IDMyLjI3MTlDOTIuNDAzNCAzMi41MTQ4IDkyLjI2MjMgMzIuODI2NSA5Mi4xNTU4IDMzLjIwNjJDOTIuMDk0NiAzMy40MDQgOTIuMDAzMiAzMy43OTkgOTEuODgxMyAzNC4zOTE4QzkxLjc1OTEgMzQuOTg0IDkxLjYwMyAzNS42NjQ0IDkxLjQxMjMgMzYuNDMxNUM5MS4yMjE3IDM3LjE5OTIgOTAuOTk2NyAzOC4wMDA1IDkwLjczNzYgMzguODM2MkM5MC40NzgxIDM5LjY3MTkgOTAuMTg4NSA0MC40MjgzIDg5Ljg2ODQgNDEuMTA0MUM4OS41NDggNDEuNzgwMSA4OS4xOTcyIDQyLjMyMzUgODguODE2MSA0Mi43MzM4Qzg4LjQzNDggNDMuMTQzOCA4OC4wMjMgNDMuMzExMyA4Ny41ODA3IDQzLjIzNTJDODcuMzM2NiA0My4xODk1IDg3LjE4MDUgNDIuOTM4OCA4Ny4xMTIgNDIuNDgzMUM4Ny4wNDMyIDQyLjAyNzEgODcuMDMxOSA0MS40NjUzIDg3LjA3NzUgNDAuNzk2NEM4Ny4xMjMzIDQwLjEyNzkgODcuMjE0OCAzOS4zOTQ2IDg3LjM1MiAzOC41OTcxQzg3LjQ4OTMgMzcuNzk5MyA4Ny42MyAzNy4wNDM0IDg3Ljc3NTIgMzYuMzI4OUM4Ny45MiAzNS42MTQ5IDg4LjA1MzUgMzQuOTg0IDg4LjE3NTYgMzQuNDM3MkM4OC4yOTc1IDMzLjg5MDEgODguMzgxNCAzMy41MjU0IDg4LjQyNzIgMzMuMzQzM0M4OC40MjcyIDMyLjkwMjYgODguMzI3NyAzMi41NDk1IDg4LjEyOTggMzIuMjgzMkM4Ny45MzEzIDMyLjAxNzggODcuNjkxMyAzMS44NTAzIDg3LjQwOTIgMzEuNzgxOEM4Ny4xMjY4IDMxLjcxMzYgODYuODM3MiAzMS43NTE0IDg2LjU0IDMxLjg5NTdDODYuMjQyNiAzMi4wNDAzIDg1Ljk4NzIgMzIuMzAyNiA4NS43NzM2IDMyLjY4MkM4NS42OTczIDMzLjA5MjMgODUuNTk4IDMzLjU2NzQgODUuNDc2MSAzNC4xMDY3Qzg1LjM1MzkgMzQuNjQ1OSA4NS4yMzYxIDM1LjIwMDYgODUuMTIxOCAzNS43NzA1Qzg1LjAwNzQgMzYuMzQwNCA4NC45MDAzIDM2Ljg5ODggODQuODAxNCAzNy40NDU5Qzg0LjcwMjEgMzcuOTkzIDg0LjYyOTkgMzguNDcxNiA4NC41ODQgMzguODgxOUM4NC41NTM2IDM5LjIwMDggODQuNTE5IDM5LjU5MjMgODQuNDgxMyA0MC4wNTU2Qzg0LjQ0MyA0MC41MTk0IDg0LjQyMzggNDEuMDA5MiA4NC40MjM4IDQxLjUyNTdDODQuNDIzOCA0Mi4wNDI3IDg0LjQ2MTggNDIuNTU1NCA4NC41Mzg1IDQzLjA2NDNDODQuNjE0NSA0My41NzM1IDg0Ljc1MTggNDQuMDQwOCA4NC45NSA0NC40NjU5Qzg1LjE0ODIgNDQuODkxNSA4NS40MjY1IDQ1LjI0MDggODUuNzg1MiA0NS41MTQ0Qzg2LjE0MzMgNDUuNzg3OSA4Ni41OTcyIDQ1LjkzOTcgODcuMTQ2MyA0NS45NzA0Qzg3LjcxMDEgNDYuMDAwNSA4OC4yMDIgNDUuOTU5MSA4OC42MjE3IDQ1Ljg0NDlDODkuMDQxIDQ1LjczMSA4OS40MjIxIDQ1LjU1MjMgODkuNzY1NCA0NS4zMDkxQzkwLjEwODQgNDUuMDY2NSA5MC40MjEgNDQuNzc3NiA5MC43MDMzIDQ0LjQ0M0M5MC45ODUxIDQ0LjEwOTEgOTEuMjYzNyA0My43NDQ0IDkxLjUzODMgNDMuMzQ5MUM5MS43OTc0IDQzLjkyNjkgOTIuMTMyOSA0NC4zNzQ4IDkyLjU0NDcgNDQuNjk0QzkyLjk1NjUgNDUuMDEzIDkzLjM5MTMgNDUuMjAzMiA5My44NDg2IDQ1LjI2MzdDOTQuMzA2IDQ1LjMyNDEgOTQuNzcxNSA0NS4yNjAyIDk1LjI0NDIgNDUuMDY5OUM5NS43MTY3IDQ0Ljg4MDMgOTYuMTQzNiA0NC41NTczIDk2LjUyNTIgNDQuMTAxMkM5Ni43NzYyIDQzLjgyMTYgOTcuMDEzMSA0My41MDM4IDk3LjIzNTQgNDMuMTUyNUM5Ny4zMjk3IDQzLjMxNyA5Ny40MzAxIDQzLjQ3NTggOTcuNTQzIDQzLjYyMjRDOTcuOTE2OCA0NC4xMDkxIDk4LjQyNCA0NC40NDMgOTkuMDY0NSA0NC42MjU1Qzk5Ljc1MDYgNDQuODA4IDEwMC40MjEgNDQuODM4NiAxMDEuMDc3IDQ0LjcxNjlDMTAxLjczMyA0NC41OTU0IDEwMi4zNTggNDQuMzc0OCAxMDIuOTUzIDQ0LjA1NTlDMTAzLjU0OCA0My43MzY2IDEwNC4xMDEgNDMuMzUzMiAxMDQuNjEyIDQyLjkwNDdDMTA1LjEyMiA0Mi40NTY1IDEwNS41NjggNDEuOTg5NSAxMDUuOTUgNDEuNTAyOEMxMDUuOTM0IDQxLjg1MjQgMTA1LjkyNyA0Mi4xODMyIDEwNS45MjcgNDIuNDk0NEMxMDUuOTI3IDQyLjgwNjEgMTA1LjkxOSA0My4xNDM4IDEwNS45MDQgNDMuNTA4OEMxMDUuMTQxIDQ0LjA0MDggMTA0LjQyMSA0NC42NzkgMTAzLjc0MiA0NS40MjMzQzEwMy4wNjQgNDYuMTY3NiAxMDIuNDY5IDQ2Ljk2MTYgMTAxLjk1OCA0Ny44MDUxQzEwMS40NDcgNDguNjQ4MyAxMDEuMDQ3IDQ5LjUwMzEgMTAwLjc1NyA1MC4zNjkxQzEwMC40NjcgNTEuMjM1NyAxMDAuMzI2IDUyLjA0NDUgMTAwLjMzNCA1Mi43OTY5QzEwMC4zNDEgNTMuNTQ5IDEwMC41MjEgNTQuMjA2IDEwMC44NzEgNTQuNzY4MUMxMDEuMjIyIDU1LjMzMDYgMTAxLjc5NCA1NS43MzMxIDEwMi41ODcgNTUuOTc2M0MxMDMuNDExIDU2LjIzNDggMTA0LjEzNSA1Ni4yNDIgMTA0Ljc2IDU1Ljk5OTFDMTA1LjM4NiA1NS43NTU5IDEwNS45MzEgNTUuMzUzMSAxMDYuMzk2IDU0Ljc5MUMxMDYuODYxIDU0LjIyODkgMTA3LjI0MiA1My41NDkgMTA3LjU0IDUyLjc1MTJDMTA3LjgzNyA1MS45NTM0IDEwOC4wNzMgNTEuMTIxNSAxMDguMjQ5IDUwLjI1NTVDMTA4LjQyNCA0OS4zODk0IDEwOC41MzUgNDguNTM3OSAxMDguNTggNDcuNzAyOEMxMDguNjI2IDQ2Ljg2NjggMTA4LjYyNiA0Ni4xMjE5IDEwOC41OCA0NS40Njg3QzEwOS44OTIgNDQuOTIxOSAxMTAuOTY3IDQ0LjIzMDUgMTExLjgwNiA0My4zOTQ1QzExMi42NDUgNDIuNTU5NCAxMTMuMzM4IDQxLjY3NzggMTEzLjg4NyA0MC43NTA3QzExNC4wNTUgNDAuNTIyOSAxMTQuMTEyIDQwLjI0OTMgMTE0LjA1OSAzOS45MzA0QzExNC4wMDYgMzkuNjExMSAxMTMuODc2IDM5LjMzNzYgMTEzLjY3IDM5LjEwOTdaXCIgZmlsbD1cIiMwRDBDMjNcIi8+XG48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTQyLjUzIDM3LjY1MTVDMTQyLjU3NSAzNy4zMDIyIDE0Mi42NDQgMzYuOTMzNSAxNDIuNzM1IDM2LjU0NkMxNDIuODI3IDM2LjE1ODUgMTQyLjk0MSAzNS43ODIzIDE0My4wNzkgMzUuNDE3N0MxNDMuMjE2IDM1LjA1MzEgMTQzLjM3NiAzNC43Mzc5IDE0My41NTkgMzQuNDcxOEMxNDMuNzQyIDM0LjIwNjEgMTQzLjkzNyAzNC4wMTYxIDE0NC4xNDIgMzMuOTAxOUMxNDQuMzQ4IDMzLjc4ODMgMTQ0LjU1OCAzMy43OTk1IDE0NC43NzEgMzMuOTM2QzE0NSAzNC4wNzMxIDE0NS4xNDEgMzQuMzYxNyAxNDUuMTk1IDM0LjgwMjFDMTQ1LjI0OCAzNS4yNDMzIDE0NS4xOTUgMzUuNzE0MSAxNDUuMDM0IDM2LjIxNTVDMTQ0Ljg3NCAzNi43MTcyIDE0NC41ODggMzcuMTg3OSAxNDQuMTc3IDM3LjYyODZDMTQzLjc2NSAzOC4wNjk2IDE0My4yMDggMzguMzU3OSAxNDIuNTA3IDM4LjQ5NDdDMTQyLjQ3NiAzOC4yODI0IDE0Mi40ODQgMzguMDAxMSAxNDIuNTMgMzcuNjUxNVpNMTUwLjQ1NiAzOC41ODU3QzE1MC4yMDQgMzguNTEwMyAxNDkuOTY0IDM4LjUwMjUgMTQ5LjczNSAzOC41NjMyQzE0OS41MDYgMzguNjIzOSAxNDkuMzYxIDM4Ljc4MzUgMTQ5LjMwMSAzOS4wNDJDMTQ5LjE3OCAzOS41MjgxIDE0OC45ODQgNDAuMDI1OCAxNDguNzE3IDQwLjUzNDdDMTQ4LjQ1IDQxLjA0MzkgMTQ4LjEyMiA0MS41MjYyIDE0Ny43MzQgNDEuOTgyMkMxNDcuMzQ1IDQyLjQzOCAxNDYuOTA2IDQyLjg0MDggMTQ2LjQxOCA0My4xOTAxQzE0NS45MyA0My41Mzk3IDE0NS40MTkgNDMuNzkwNCAxNDQuODg2IDQzLjk0MjJDMTQ0LjM1MSA0NC4xMDk2IDE0My45MSA0NC4xMjg0IDE0My41NTkgNDMuOTk5MUMxNDMuMjA4IDQzLjg3MDUgMTQyLjkzIDQzLjY0OTggMTQyLjcyNCA0My4zMzg0QzE0Mi41MTggNDMuMDI3IDE0Mi4zNjkgNDIuNjUwOCAxNDIuMjc4IDQyLjIxMDFDMTQyLjE4NiA0MS43Njk0IDE0Mi4xMzMgNDEuMzEzNyAxNDIuMTE4IDQwLjg0MjRDMTQyLjk4NyA0MC45MDM0IDE0My43NjEgNDAuNzQ3OCAxNDQuNDQgNDAuMzc1MUMxNDUuMTE4IDQwLjAwMzIgMTQ1LjY5NCAzOS41MDkgMTQ2LjE2NyAzOC44OTM3QzE0Ni42MzkgMzguMjc4NCAxNDYuOTk4IDM3LjU4NyAxNDcuMjQyIDM2LjgxOTVDMTQ3LjQ4NSAzNi4wNTI0IDE0Ny42MjMgMzUuMjg4NyAxNDcuNjUzIDM0LjUyODhDMTQ3LjY2OSAzMy44MTQ2IDE0Ny41NjIgMzMuMjEwOCAxNDcuMzMzIDMyLjcxNjlDMTQ3LjEwNSAzMi4yMjMzIDE0Ni43OTYgMzEuODM5IDE0Ni40MDcgMzEuNTY1OEMxNDYuMDE4IDMxLjI5MjIgMTQ1LjU3MiAzMS4xMzI2IDE0NS4wNjkgMzEuMDg3MkMxNDQuNTY2IDMxLjA0MTUgMTQ0LjA1NCAzMS4xMSAxNDMuNTM2IDMxLjI5MjJDMTQyLjkxIDMxLjUwNSAxNDIuMzgxIDMxLjg1MDYgMTQxLjk0NiAzMi4zMjk0QzE0MS41MTIgMzIuODA4IDE0MS4xNDkgMzMuMzYyOSAxNDAuODYgMzMuOTkzM0MxNDAuNTcgMzQuNjIzOSAxNDAuMzQxIDM1LjMwMzggMTQwLjE3MyAzNi4wMzNDMTQwLjAwNSAzNi43NjI2IDEzOS44ODMgMzcuNDgwNiAxMzkuODA3IDM4LjE4NzNDMTM5LjczOSAzOC44MjE0IDEzOS43MDIgMzkuNDI3OCAxMzkuNjg5IDQwLjAxM0MxMzkuNjU3IDQwLjA4NzQgMTM5LjYyNSA0MC4xNTg4IDEzOS41OSA0MC4yMzgzQzEzOS4zNTQgNDAuNzc4MiAxMzkuMDc5IDQxLjMwNjIgMTM4Ljc2NiA0MS44MjI2QzEzOC40NTQgNDIuMzM5NCAxMzguMTA3IDQyLjc3MjUgMTM3LjcyNiA0My4xMjE4QzEzNy4zNDQgNDMuNDcxNCAxMzYuOTQ4IDQzLjU5MjkgMTM2LjUzNiA0My40ODY1QzEzNi4yOTIgNDMuNDI2IDEzNi4xNTkgNDMuMTQ0NCAxMzYuMTM2IDQyLjY0MzNDMTM2LjExMyA0Mi4xNDE2IDEzNi4xMzkgNDEuNTE4NyAxMzYuMjE2IDQwLjc3NDFDMTM2LjI5MiA0MC4wMjk4IDEzNi4zOCAzOS4yMjM5IDEzNi40NzkgMzguMzU3OUMxMzYuNTc4IDM3LjQ5MTggMTM2LjYyOCAzNi42NjQgMTM2LjYyOCAzNS44NzM3QzEzNi42MjggMzUuMTg5OCAxMzYuNDk4IDM0LjUzMjkgMTM2LjIzOSAzMy45MDE5QzEzNS45NzkgMzMuMjcxOCAxMzUuNjI1IDMyLjc0NzMgMTM1LjE3NSAzMi4zMjk0QzEzNC43MjUgMzEuOTExMyAxMzQuMjAzIDMxLjYzNCAxMzMuNjA4IDMxLjQ5NzVDMTMzLjAxMyAzMS4zNjA1IDEzMi4zNzMgMzEuNDUxOCAxMzEuNjg3IDMxLjc3MDhDMTMxIDMyLjA5IDEzMC40NTUgMzIuNTM4MiAxMzAuMDUxIDMzLjExNTdDMTI5LjY0NyAzMy42OTM0IDEyOS4yNzcgMzQuMzAwOSAxMjguOTQyIDM0LjkzOTFDMTI4LjgxOSAzNC40NTI4IDEyOC42NDEgMzQuMDAxMSAxMjguNDA0IDMzLjU4M0MxMjguMTY3IDMzLjE2NTEgMTI3Ljg3OCAzMi44MDA1IDEyNy41MzUgMzIuNDg4OEMxMjcuMTkxIDMyLjE3NzYgMTI2LjgwNiAzMS45MzQ0IDEyNi4zOCAzMS43NTk1QzEyNS45NTMgMzEuNTg1MSAxMjUuNTAyIDMxLjQ5NzUgMTI1LjAzIDMxLjQ5NzVDMTI0LjU3MiAzMS40OTc1IDEyNC4xNDkgMzEuNTg1MSAxMjMuNzYgMzEuNzU5NUMxMjMuMzcxIDMxLjkzNDQgMTIzLjAxNyAzMi4xNTgzIDEyMi42OTYgMzIuNDMxOEMxMjIuMzc2IDMyLjcwNTYgMTIyLjA4NyAzMy4wMTMgMTIxLjgyNyAzMy4zNTUxQzEyMS41NjggMzMuNjk2OSAxMjEuMzM5IDM0LjAzNTIgMTIxLjE0MSAzNC4zNjkyQzEyMS4xMSAzMy45NzQyIDEyMS4wNzYgMzMuNjI4NiAxMjEuMDM4IDMzLjMzMkMxMjEgMzMuMDM1OSAxMjAuOTMxIDMyLjc4NTIgMTIwLjgzMiAzMi41ODAxQzEyMC43MzMgMzIuMzc0OCAxMjAuNTkyIDMyLjIxOTMgMTIwLjQwOSAzMi4xMTI5QzEyMC4yMjYgMzIuMDA2NyAxMTkuOTY3IDMxLjk1MzIgMTE5LjYzMiAzMS45NTMyQzExOS40NjQgMzEuOTUzMiAxMTkuMjk2IDMxLjk4NzQgMTE5LjEyOCAzMi4wNTU2QzExOC45NiAzMi4xMjQxIDExOC44MTEgMzIuMjE5MyAxMTguNjgyIDMyLjM0MDdDMTE4LjU1MiAzMi40NjI3IDExOC40NTMgMzIuNjEwNSAxMTguMzg1IDMyLjc4NTJDMTE4LjMxNiAzMi45NTk4IDExOC4yOTcgMzMuMTYxNCAxMTguMzI3IDMzLjM4OTJDMTE4LjM0MiAzMy41NTY2IDExOC4zODUgMzMuNzU3NiAxMTguNDUzIDMzLjk5MzNDMTE4LjUyMiAzNC4yMjg5IDExOC41ODcgMzQuNTM2OSAxMTguNjQ4IDM0LjkxNjNDMTE4LjcwOCAzNS4yOTYyIDExOC43NTggMzUuNzU2IDExOC43OTYgMzYuMjk1M0MxMTguODM0IDM2LjgzNDkgMTE4Ljg0NiAzNy40OTU5IDExOC44MzEgMzguMjc4NEMxMTguODE1IDM5LjA2MTEgMTE4Ljc1OCAzOS45NzYzIDExOC42NTkgNDEuMDI0OEMxMTguNTYgNDIuMDczMyAxMTguNDAzIDQzLjI4OSAxMTguMTkgNDQuNjcxNEMxMTguMTYgNDQuOTkwNyAxMTguMjgyIDQ1LjI0OTIgMTE4LjU1NiA0NS40NDY3QzExOC44MzEgNDUuNjQzOSAxMTkuMTQzIDQ1Ljc1NzggMTE5LjQ5NCA0NS43ODg1QzExOS44NDUgNDUuODE4OCAxMjAuMTc3IDQ1Ljc1NzggMTIwLjQ4OSA0NS42MDYzQzEyMC44MDIgNDUuNDUzOSAxMjAuOTgxIDQ1LjE4ODIgMTIxLjAyNyA0NC44MDg1QzEyMS4wNzIgNDQuMDk0MyAxMjEuMTYgNDMuMzM0NyAxMjEuMjkgNDIuNTI5QzEyMS40MTkgNDEuNzI0IDEyMS41NzkgNDAuOTI2MiAxMjEuNzcgNDAuMTM1OUMxMjEuOTYxIDM5LjM0NiAxMjIuMTc4IDM4LjU5MzggMTIyLjQyMiAzNy44NzkzQzEyMi42NjYgMzcuMTY1MSAxMjIuOTM3IDM2LjUzNDcgMTIzLjIzNCAzNS45ODc2QzEyMy41MzIgMzUuNDQwNSAxMjMuODQgMzUuMDAzOSAxMjQuMTYxIDM0LjY3NzFDMTI0LjQ4MSAzNC4zNTA0IDEyNC44MTYgMzQuMTg3IDEyNS4xNjcgMzQuMTg3QzEyNS41OTQgMzQuMTg3IDEyNS45MjYgMzQuMzgwNSAxMjYuMTYyIDM0Ljc2NzlDMTI2LjM5OCAzNS4xNTU3IDEyNi41NjYgMzUuNjUzNiAxMjYuNjY2IDM2LjI2MDlDMTI2Ljc2NSAzNi44NjkgMTI2LjgxIDM3LjUzNDEgMTI2LjgwMyAzOC4yNTU1QzEyNi43OTUgMzguOTc3MyAxMjYuNzY1IDM5LjY3MjQgMTI2LjcxMSA0MC4zNDFDMTI2LjY1OCA0MS4wMDk4IDEyNi41OTcgNDEuNjA2IDEyNi41MjggNDIuMTMwM0MxMjYuNDYgNDIuNjU0NSAxMjYuNDEgNDMuMDE1NyAxMjYuMzggNDMuMjEyOUMxMjYuMzggNDMuNTYyNSAxMjYuNTEzIDQzLjgzOTUgMTI2Ljc4IDQ0LjA0NDhDMTI3LjA0NiA0NC4yNDk4IDEyNy4zNDQgNDQuMzcxNiAxMjcuNjcyIDQ0LjQwOTVDMTI4IDQ0LjQ0NzYgMTI4LjMwOSA0NC4zODY2IDEyOC41OTggNDQuMjI3QzEyOC44ODggNDQuMDY3NCAxMjkuMDU2IDQzLjc5ODIgMTI5LjEwMiA0My40MTc5QzEyOS4yNTQgNDIuMzI0IDEyOS40NjQgNDEuMjI2NCAxMjkuNzMxIDQwLjEyNDdDMTI5Ljk5NyAzOS4wMjMgMTMwLjMwMyAzOC4wMzU1IDEzMC42NDYgMzcuMTYxNkMxMzAuOTg5IDM2LjI4NzggMTMxLjM3IDM1LjU3MzUgMTMxLjc5IDM1LjAxODlDMTMyLjIwOSAzNC40NjQ2IDEzMi42NTUgMzQuMTg3IDEzMy4xMjggMzQuMTg3QzEzMy4zNzEgMzQuMTg3IDEzMy41NTkgMzQuMzU0NCAxMzMuNjg4IDM0LjY4ODRDMTMzLjgxOCAzNS4wMjI3IDEzMy44ODMgMzUuNDc4NCAxMzMuODgzIDM2LjA1NTlDMTMzLjg4MyAzNi40ODE1IDEzMy44NDggMzYuOTE4NCAxMzMuNzggMzcuMzY2NkMxMzMuNzExIDM3LjgxNDggMTMzLjYzMSAzOC4yNzg0IDEzMy41NCAzOC43NTY5QzEzMy40NDggMzkuMjM1OCAxMzMuMzY4IDM5LjcyNTYgMTMzLjI5OSA0MC4yMjdDMTMzLjIzMSA0MC43Mjg3IDEzMy4xOTYgNDEuMjUyNyAxMzMuMTk2IDQxLjc5OThDMTMzLjE5NiA0Mi4xNzk3IDEzMy4yMzUgNDIuNjIwNCAxMzMuMzExIDQzLjEyMThDMTMzLjM4NyA0My42MjI5IDEzMy41MzIgNDQuMDk4MyAxMzMuNzQ1IDQ0LjU0NjJDMTMzLjk1OSA0NC45OTQ3IDEzNC4yNTIgNDUuMzc0NCAxMzQuNjI2IDQ1LjY4NThDMTM1IDQ1Ljk5NzMgMTM1LjQ3NiA0Ni4xNTMxIDEzNi4wNTYgNDYuMTUzMUMxMzYuOTI1IDQ2LjE1MzEgMTM3LjY5NSA0NS45NjY5IDEzOC4zNjYgNDUuNTk0N0MxMzkuMDM3IDQ1LjIyMjYgMTM5LjYxMyA0NC43MzY1IDE0MC4wOTMgNDQuMTM2MkMxNDAuMTE4IDQ0LjEwNDcgMTQwLjE0MSA0NC4wNzExIDE0MC4xNjUgNDQuMDM5OUMxNDAuMjAyIDQ0LjEyODcgMTQwLjIzNSA0NC4yMjI3IDE0MC4yNzYgNDQuMzA3MUMxNDAuNjA0IDQ0Ljk3NTYgMTQxLjA1IDQ1LjQ5MjEgMTQxLjYxNSA0NS44NTdDMTQyLjE3OCA0Ni4yMjE2IDE0Mi44NDIgNDYuNDIyOSAxNDMuNjA1IDQ2LjQ2MTFDMTQ0LjM2NyA0Ni40OTg3IDE0NS4xOTggNDYuMzU4MSAxNDYuMDk4IDQ2LjAzOTJDMTQ2Ljc2OSA0NS43OTYgMTQ3LjM1MiA0NS40OTIxIDE0Ny44NDggNDUuMTI3NUMxNDguMzQzIDQ0Ljc2MjggMTQ4Ljc4OSA0NC4zMTg0IDE0OS4xODYgNDMuNzk0MUMxNDkuNTgzIDQzLjI2OTkgMTQ5Ljk0NSA0Mi42NjU4IDE1MC4yNzMgNDEuOTgyMkMxNTAuNjAxIDQxLjI5ODEgMTUwLjkzMiA0MC41MTU5IDE1MS4yNjggMzkuNjM0MkMxNTEuMzI5IDM5LjM5MTYgMTUxLjI3MiAzOS4xNzUxIDE1MS4wOTcgMzguOTg0OEMxNTAuOTIxIDM4Ljc5NTEgMTUwLjcwOCAzOC42NjIxIDE1MC40NTYgMzguNTg1N1pcIiBmaWxsPVwiIzBEMEMyM1wiLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNjIuODg3IDM2LjA0MzRDMTYyLjgxIDM2LjQ5MTggMTYyLjcwNyAzNi45ODYgMTYyLjU3OCAzNy41MjVDMTYyLjQ0OCAzOC4wNjQ2IDE2Mi4yODQgMzguNjIzIDE2Mi4wODYgMzkuMjAwNEMxNjEuODg4IDM5Ljc3NzkgMTYxLjY0NCA0MC4yOTg0IDE2MS4zNTQgNDAuNzYxNkMxNjEuMDY0IDQxLjIyNTQgMTYwLjczMyA0MS41OTM1IDE2MC4zNTkgNDEuODY3MUMxNTkuOTg1IDQyLjE0MDYgMTU5LjU1NSA0Mi4yNTQ2IDE1OS4wNjYgNDIuMjA4OUMxNTguODIyIDQyLjE3ODggMTU4LjYzNSA0Mi4wMTE3IDE1OC41MDYgNDEuNzA3NUMxNTguMzc2IDQxLjQwMzggMTU4LjMwOCA0MS4wMTYxIDE1OC4zIDQwLjU0NUMxNTguMjkyIDQwLjA3NDMgMTU4LjMzNCAzOS41NTc1IDE1OC40MjYgMzguOTk1MUMxNTguNTE3IDM4LjQzMzMgMTU4LjY1OCAzNy44ODIxIDE1OC44NDkgMzcuMzQyNkMxNTkuMDQgMzYuODAzNiAxNTkuMjcyIDM2LjMwNTYgMTU5LjU0NyAzNS44NDk2QzE1OS44MjEgMzUuMzkzOSAxNjAuMTM4IDM1LjA0MDUgMTYwLjQ5NiAzNC43ODk4QzE2MC44NTQgMzQuNTM5MSAxNjEuMjQ3IDM0LjQyMTcgMTYxLjY3NCAzNC40MzY1QzE2Mi4xMDEgMzQuNDUxOCAxNjIuNTU5IDM0LjY2NDMgMTYzLjA0NyAzNS4wNzQ3QzE2My4wMTYgMzUuMjcyNSAxNjIuOTYzIDM1LjU5NTQgMTYyLjg4NyAzNi4wNDM0Wk0xNzEuMDE5IDM3Ljc4N0MxNzAuNzgyIDM3LjY2NTYgMTcwLjUzOCAzNy42MzkyIDE3MC4yODcgMzcuNzA3NUMxNzAuMDM1IDM3Ljc3NTcgMTY5Ljg1NiAzOC4wMDc2IDE2OS43NDkgMzguNDAyNkMxNjkuNjg4IDM4LjgyODMgMTY5LjU1MSAzOS4zMjk0IDE2OS4zMzggMzkuOTA2OUMxNjkuMTI0IDQwLjQ4NDMgMTY4Ljg2MSA0MS4wMzE3IDE2OC41NDggNDEuNTQ3OEMxNjguMjM2IDQyLjA2NDYgMTY3Ljg3NyA0Mi40OTQgMTY3LjQ3MyA0Mi44MzU4QzE2Ny4wNjkgNDMuMTc3OCAxNjYuNjM4IDQzLjMzMzcgMTY2LjE4MSA0My4zMDI4QzE2NS43OTkgNDMuMjcyNyAxNjUuNTMyIDQzLjA3OSAxNjUuMzggNDIuNzIxOEMxNjUuMjI3IDQyLjM2NDcgMTY1LjE0NyA0MS45MTY4IDE2NS4xNCA0MS4zNzY5QzE2NS4xMzIgNDAuODM4IDE2NS4xODYgNDAuMjMwMSAxNjUuMyAzOS41NTM4QzE2NS40MTQgMzguODc3NyAxNjUuNTUyIDM4LjIwNTQgMTY1LjcxMiAzNy41MzYzQzE2NS44NzIgMzYuODY4IDE2Ni4wMzYgMzYuMjI1OCAxNjYuMjA0IDM1LjYxMDVDMTY2LjM3MSAzNC45OTUxIDE2Ni41MDggMzQuNDc0NyAxNjYuNjE2IDM0LjA0OTNDMTY2LjczOCAzMy42NjkzIDE2Ni42OTkgMzMuMzQ2NiAxNjYuNTAxIDMzLjA4MDNDMTY2LjMwMyAzMi44MTQ5IDE2Ni4wNTUgMzIuNjI0NiAxNjUuNzU4IDMyLjUxMDdDMTY1LjQ2IDMyLjM5NjcgMTY1LjE1OSAzMi4zNjY0IDE2NC44NTQgMzIuNDE5NkMxNjQuNTQ5IDMyLjQ3MjggMTY0LjM1MSAzMi42MzYyIDE2NC4yNTkgMzIuOTA5NEMxNjMuMzU5IDMyLjEzNDUgMTYyLjQ5NCAzMS43MTY2IDE2MS42NjMgMzEuNjU1OUMxNjAuODMxIDMxLjU5NTIgMTYwLjA2NSAzMS43Nzc2IDE1OS4zNjQgMzIuMjAzQzE1OC42NjIgMzIuNjI4NCAxNTguMDQxIDMzLjI0MzcgMTU3LjUgMzQuMDQ5M0MxNTYuOTU4IDM0Ljg1NDkgMTU2LjUyIDM1LjczMjIgMTU2LjE4NCAzNi42ODE4QzE1NS44NDkgMzcuNjMxNCAxNTUuNjM5IDM4LjYwMDQgMTU1LjU1NSAzOS41ODc5QzE1NS40NzEgNDAuNTc1NyAxNTUuNTM2IDQxLjQ3NjEgMTU1Ljc1IDQyLjI4OUMxNTUuOTYzIDQzLjEwMTggMTU2LjM0IDQzLjc2NjkgMTU2Ljg4MiA0NC4yODNDMTU3LjQyMyA0NC43OTk4IDE1OC4xNTkgNDUuMDU4MyAxNTkuMDg5IDQ1LjA1ODNDMTU5LjUwMSA0NS4wNTgzIDE1OS44OTggNDQuOTc0NyAxNjAuMjc5IDQ0LjgwNzZDMTYwLjY2IDQ0LjY0MDEgMTYxLjAxMSA0NC40NDI2IDE2MS4zMzEgNDQuMjE0OEMxNjEuNjUxIDQzLjk4NjkgMTYxLjkzMyA0My43NDc1IDE2Mi4xNzggNDMuNDk2OEMxNjIuNDIxIDQzLjI0NjEgMTYyLjYxMiA0My4wMzczIDE2Mi43NDkgNDIuODY5OUMxNjIuODU2IDQzLjQxNyAxNjMuMDMyIDQzLjg4MDggMTYzLjI3NiA0NC4yNjA1QzE2My41MTkgNDQuNjQwMSAxNjMuNzk4IDQ0Ljk1MjEgMTY0LjExMSA0NS4xOTQ4QzE2NC40MjMgNDUuNDM3NiAxNjQuNzUxIDQ1LjYxNjQgMTY1LjA5NCA0NS43MzA2QzE2NS40MzcgNDUuODQ0NSAxNjUuNzY5IDQ1LjkwMTUgMTY2LjA4OSA0NS45MDE1QzE2Ni44MDYgNDUuOTAxNSAxNjcuNDc3IDQ1LjY1ODMgMTY4LjEwMiA0NS4xNzE5QzE2OC43MjcgNDQuNjg2MSAxNjkuMjg4IDQ0LjA4OTMgMTY5Ljc4NCA0My4zODI5QzE3MC4yNzkgNDIuNjc2MiAxNzAuNjg3IDQxLjkzMTkgMTcxLjAwNyA0MS4xNDkxQzE3MS4zMjggNDAuMzY2NiAxNzEuNTQxIDM5LjY3MTUgMTcxLjY0OCAzOS4wNjM0QzE3MS43NTUgMzguODM1NSAxNzEuNzM1IDM4LjU5NjQgMTcxLjU5MSAzOC4zNDU3QzE3MS40NDYgMzguMDk1IDE3MS4yNTUgMzcuOTA5IDE3MS4wMTkgMzcuNzg3WlwiIGZpbGw9XCIjMEQwQzIzXCIvPlxuPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIxMi4xOTQgNTAuMzcwMUMyMTIuMDY0IDUwLjg4NjYgMjExLjg2MiA1MS4zMjM4IDIxMS41ODcgNTEuNjgwNkMyMTEuMzEzIDUyLjAzNzcgMjEwLjk3IDUyLjIyMzkgMjEwLjU1OCA1Mi4yMzkzQzIxMC4yOTkgNTIuMjU0MyAyMTAuMTAxIDUyLjExNzUgMjA5Ljk2MyA1MS44Mjg5QzIwOS44MjYgNTEuNTQwMSAyMDkuNzMxIDUxLjE2NzkgMjA5LjY3OCA1MC43MTIyQzIwOS42MjQgNTAuMjU2MiAyMDkuNjAxIDQ5Ljc0NyAyMDkuNjA5IDQ5LjE4NDlDMjA5LjYxNiA0OC42MjI3IDIwOS42MzkgNDguMDY4MSAyMDkuNjc4IDQ3LjUyMUMyMDkuNzE1IDQ2Ljk3NDIgMjA5Ljc2MSA0Ni40NjQ3IDIwOS44MTUgNDUuOTkzOUMyMDkuODY4IDQ1LjUyMjYgMjA5LjkxIDQ1LjE1ODYgMjA5Ljk0IDQ0LjlDMjEwLjQ1OSA0NC45NjA4IDIxMC44OSA0NS4xODQ2IDIxMS4yMzMgNDUuNTcyM0MyMTEuNTc2IDQ1Ljk1OTggMjExLjgzOSA0Ni40MTkzIDIxMi4wMjIgNDYuOTUxNEMyMTIuMjA1IDQ3LjQ4MzEgMjEyLjMxMiA0OC4wNTY4IDIxMi4zNDMgNDguNjcyMkMyMTIuMzczIDQ5LjI4NzUgMjEyLjMyMyA0OS44NTM0IDIxMi4xOTQgNTAuMzcwMVpNMjAzLjkxMyA1MC4zNzAxQzIwMy43ODMgNTAuODg2NiAyMDMuNTgxIDUxLjMyMzggMjAzLjMwNyA1MS42ODA2QzIwMy4wMzIgNTIuMDM3NyAyMDIuNjg5IDUyLjIyMzkgMjAyLjI3NyA1Mi4yMzkzQzIwMi4wMTggNTIuMjU0MyAyMDEuODIgNTIuMTE3NSAyMDEuNjgzIDUxLjgyODlDMjAxLjU0NSA1MS41NDAxIDIwMS40NSA1MS4xNjc5IDIwMS4zOTcgNTAuNzEyMkMyMDEuMzQzIDUwLjI1NjIgMjAxLjMyIDQ5Ljc0NyAyMDEuMzI4IDQ5LjE4NDlDMjAxLjMzNiA0OC42MjI3IDIwMS4zNTggNDguMDY4MSAyMDEuMzk3IDQ3LjUyMUMyMDEuNDM0IDQ2Ljk3NDIgMjAxLjQ4IDQ2LjQ2NDcgMjAxLjUzNCA0NS45OTM5QzIwMS41ODcgNDUuNTIyNiAyMDEuNjI5IDQ1LjE1ODYgMjAxLjY2IDQ0LjlDMjAyLjE3OCA0NC45NjA4IDIwMi42MDkgNDUuMTg0NiAyMDIuOTUyIDQ1LjU3MjNDMjAzLjI5NSA0NS45NTk4IDIwMy41NTggNDYuNDE5MyAyMDMuNzQxIDQ2Ljk1MTRDMjAzLjkyNCA0Ny40ODMxIDIwNC4wMzEgNDguMDU2OCAyMDQuMDYyIDQ4LjY3MjJDMjA0LjA5MiA0OS4yODc1IDIwNC4wNDIgNDkuODUzNCAyMDMuOTEzIDUwLjM3MDFaTTE5NS40MTUgMzcuNDI0MUMxOTUuMzk5IDM3Ljc4ODQgMTk1LjM2NSAzOC4xMTE0IDE5NS4zMTIgMzguMzkyNUMxOTUuMjU4IDM4LjY3NDEgMTk1LjE4NiAzOC44NTIyIDE5NS4wOTUgMzguOTI4M0MxOTQuOTI3IDM4LjgzNjkgMTk0LjcyMSAzOC42MDE4IDE5NC40NzcgMzguMjIxNkMxOTQuMjMzIDM3Ljg0MTkgMTk0LjA0MiAzNy40MTIyIDE5My45MDUgMzYuOTMzNkMxOTMuNzY4IDM2LjQ1NTEgMTkzLjcyNSAzNS45ODQzIDE5My43NzkgMzUuNTIwNUMxOTMuODMyIDM1LjA1NzMgMTk0LjA3MyAzNC42OTY3IDE5NC41IDM0LjQzNzlDMTk0LjY2NyAzNC4zNDY4IDE5NC44MTIgMzQuMzgwOSAxOTQuOTM0IDM0LjU0MDVDMTk1LjA1NiAzNC43MDAxIDE5NS4xNTUgMzQuOTMxOCAxOTUuMjMyIDM1LjIzNTdDMTk1LjMwOCAzNS41Mzk5IDE5NS4zNjEgMzUuODg5MiAxOTUuMzkyIDM2LjI4NDJDMTk1LjQyMiAzNi42Nzk1IDE5NS40MyAzNy4wNTkxIDE5NS40MTUgMzcuNDI0MVpNMTkzLjM5IDQxLjk3MTFDMTkzLjE1NCA0Mi4yMjE1IDE5Mi44OSA0Mi40MzgxIDE5Mi42MDEgNDIuNjIwNkMxOTIuMzExIDQyLjgwMyAxOTIuMDE0IDQyLjkzOTggMTkxLjcwOSA0My4wMzA5QzE5MS40MDQgNDMuMTIyMyAxOTEuMTI5IDQzLjE0NDggMTkwLjg4NSA0My4wOTkxQzE5MC4xOTkgNDIuOTYyNyAxODkuNjczIDQyLjY2NiAxODkuMzA3IDQyLjIxMDNDMTg4Ljk0MSA0MS43NTQ1IDE4OC43MDggNDEuMjE5IDE4OC42MDkgNDAuNjAzN0MxODguNTEgMzkuOTg4MSAxODguNTIxIDM5LjMzMDggMTg4LjY0NCAzOC42MzE5QzE4OC43NjUgMzcuOTMzIDE4OC45NzEgMzcuMjgzNSAxODkuMjYxIDM2LjY4MzJDMTg5LjU1MSAzNi4wODI5IDE4OS45MDIgMzUuNTY2MiAxOTAuMzEzIDM1LjEzMzNDMTkwLjcyNSAzNC43MDAxIDE5MS4xNzUgMzQuNDMwNiAxOTEuNjYzIDM0LjMyMzlDMTkxLjQ4IDM1LjA5ODkgMTkxLjQxOSAzNS45MDA3IDE5MS40OCAzNi43Mjg2QzE5MS41NDEgMzcuNTU2OCAxOTEuNzM5IDM4LjMzNTUgMTkyLjA3NSAzOS4wNjQ4QzE5Mi4yODggMzkuNTA2IDE5Mi41NDQgMzkuOTA4MiAxOTIuODQxIDQwLjI3MjlDMTkzLjEzOSA0MC42Mzc4IDE5My41MDEgNDAuOTQ5MiAxOTMuOTI4IDQxLjIwNzVDMTkzLjgwNiA0MS40NjYgMTkzLjYyNiA0MS43MjA0IDE5My4zOSA0MS45NzExWk0yMTguNzAyIDM3LjY1MTlDMjE4Ljc0NyAzNy4zMDI2IDIxOC44MTYgMzYuOTMzNiAyMTguOTA4IDM2LjU0NjJDMjE4Ljk5OSAzNi4xNTkgMjE5LjExNCAzNS43ODI4IDIxOS4yNTEgMzUuNDE4MUMyMTkuMzg4IDM1LjA1MzIgMjE5LjU0OCAzNC43MzggMjE5LjczMSAzNC40NzIzQzIxOS45MTQgMzQuMjA2NSAyMjAuMTA4IDM0LjAxNjMgMjIwLjMxNCAzMy45MDI0QzIyMC41MiAzMy43ODg0IDIyMC43MyAzMy43OTk3IDIyMC45NDMgMzMuOTM2NUMyMjEuMTcyIDM0LjA3MzUgMjIxLjMxMyAzNC4zNjIxIDIyMS4zNjcgMzQuODAyNUMyMjEuNDIgMzUuMjQzNSAyMjEuMzY3IDM1LjcxNDIgMjIxLjIwNyAzNi4yMTU5QzIyMS4wNDYgMzYuNzE3MyAyMjAuNzYxIDM3LjE4ODQgMjIwLjM0OSAzNy42Mjg4QzIxOS45MzcgMzguMDcgMjE5LjM4IDM4LjM1ODMgMjE4LjY3OSAzOC40OTUxQzIxOC42NDggMzguMjgyNiAyMTguNjU2IDM4LjAwMTUgMjE4LjcwMiAzNy42NTE5Wk0yMjcuOTIxIDM3LjY1MTlDMjI3Ljk2NiAzNy4zMDI2IDIyOC4wMzUgMzYuOTMzNiAyMjguMTI2IDM2LjU0NjJDMjI4LjIxOCAzNi4xNTkgMjI4LjMzMiAzNS43ODI4IDIyOC40NyAzNS40MTgxQzIyOC42MDcgMzUuMDUzMiAyMjguNzY3IDM0LjczOCAyMjguOTUgMzQuNDcyM0MyMjkuMTMzIDM0LjIwNjUgMjI5LjMyOCAzNC4wMTYzIDIyOS41MzMgMzMuOTAyNEMyMjkuNzM5IDMzLjc4ODQgMjI5Ljk0OSAzMy43OTk3IDIzMC4xNjIgMzMuOTM2NUMyMzAuMzkxIDM0LjA3MzUgMjMwLjUzMiAzNC4zNjIxIDIzMC41ODYgMzQuODAyNUMyMzAuNjM5IDM1LjI0MzUgMjMwLjU4NiAzNS43MTQyIDIzMC40MjUgMzYuMjE1OUMyMzAuMjY1IDM2LjcxNzMgMjI5Ljk3OSAzNy4xODg0IDIyOS41NjggMzcuNjI4OEMyMjkuMTU2IDM4LjA3IDIyOC41OTkgMzguMzU4MyAyMjcuODk4IDM4LjQ5NTFDMjI3Ljg2NyAzOC4yODI2IDIyNy44NzUgMzguMDAxNSAyMjcuOTIxIDM3LjY1MTlaTTIzNi40ODggMzguOTg1MkMyMzYuMzEyIDM4Ljc5NTUgMjM2LjA5OSAzOC42NjI1IDIzNS44NDcgMzguNTg2MkMyMzUuNTk1IDM4LjUxMDQgMjM1LjM1NSAzOC41MDI5IDIzNS4xMjYgMzguNTYzNkMyMzQuODk3IDM4LjYyNDQgMjM0Ljc1MiAzOC43ODQgMjM0LjY5MiAzOS4wNDIyQzIzNC41NyAzOS41Mjg2IDIzNC4zNzUgNDAuMDI2MiAyMzQuMTA4IDQwLjUzNDlDMjMzLjg0MSA0MS4wNDQ0IDIzMy41MTQgNDEuNTI2NyAyMzMuMTI1IDQxLjk4MjRDMjMyLjczNiA0Mi40MzgxIDIzMi4yOTcgNDIuODQxMiAyMzEuODEgNDMuMTkwNUMyMzEuMzIxIDQzLjU0MDEgMjMwLjgxIDQzLjc5MDggMjMwLjI3NyA0My45NDIzQzIyOS43NDMgNDQuMTEwMSAyMjkuMzAxIDQ0LjEyODkgMjI4Ljk1IDQzLjk5OTZDMjI4LjU5OSA0My44NzA2IDIyOC4zMjEgNDMuNjUwMyAyMjguMTE1IDQzLjMzODlDMjI3LjkwOSA0My4wMjcxIDIyNy43NjEgNDIuNjUxMiAyMjcuNjY5IDQyLjIxMDNDMjI3LjU3OCA0MS43Njk5IDIyNy41MjQgNDEuMzE0MiAyMjcuNTA5IDQwLjg0MjhDMjI4LjM3OCA0MC45MDM4IDIyOS4xNTIgNDAuNzQ4MyAyMjkuODMxIDQwLjM3NTVDMjMwLjUwOSA0MC4wMDM0IDIzMS4wODUgMzkuNTA5MiAyMzEuNTU4IDM4Ljg5MzlDMjMyLjAzMSAzOC4yNzg4IDIzMi4zODkgMzcuNTg3NCAyMzIuNjMzIDM2LjgyQzIzMi44NzcgMzYuMDUyNiAyMzMuMDE0IDM1LjI4OTIgMjMzLjA0NSAzNC41MjkzQzIzMy4wNiAzMy44MTUgMjMyLjk1MyAzMy4yMTEgMjMyLjcyNCAzMi43MTcxQzIzMi40OTYgMzIuMjIzNSAyMzIuMTg3IDMxLjgzOTUgMjMxLjc5OCAzMS41NjYyQzIzMS40MDkgMzEuMjkyNCAyMzAuOTYzIDMxLjEzMyAyMzAuNDYgMzEuMDg3NEMyMjkuOTU3IDMxLjA0MTcgMjI5LjQ0NSAzMS4xMTA1IDIyOC45MjcgMzEuMjkyNEMyMjguMzAyIDMxLjUwNTUgMjI3Ljc3MiAzMS44NTEgMjI3LjMzOCAzMi4zMjk2QzIyNi45MDMgMzIuODA4NSAyMjYuNTQgMzMuMzYzNCAyMjYuMjUxIDMzLjk5MzRDMjI1Ljk2MSAzNC42MjQ0IDIyNS43MzIgMzUuMzAzOSAyMjUuNTY0IDM2LjAzMzVDMjI1LjM5NiAzNi43NjI3IDIyNS4yNzQgMzcuNDgxIDIyNS4xOTkgMzguMTg3NEMyMjUuMTI0IDM4Ljg3MyAyMjUuMDg0IDM5LjUyOTIgMjI1LjA3NSA0MC4xNTcyQzIyNS4wMTcgNDAuMjgyNCAyMjQuOTU2IDQwLjQwODIgMjI0Ljg4OSA0MC41MzQ5QzIyNC42MjIgNDEuMDQ0NCAyMjQuMjk1IDQxLjUyNjcgMjIzLjkwNiA0MS45ODI0QzIyMy41MTcgNDIuNDM4MSAyMjMuMDc4IDQyLjg0MTIgMjIyLjU5MSA0My4xOTA1QzIyMi4xMDIgNDMuNTQwMSAyMjEuNTkyIDQzLjc5MDggMjIxLjA1OCA0My45NDIzQzIyMC41MjQgNDQuMTEwMSAyMjAuMDgyIDQ0LjEyODkgMjE5LjczMSA0My45OTk2QzIxOS4zOCA0My44NzA2IDIxOS4xMDIgNDMuNjUwMyAyMTguODk2IDQzLjMzODlDMjE4LjY5MSA0My4wMjcxIDIxOC41NDIgNDIuNjUxMiAyMTguNDUgNDIuMjEwM0MyMTguMzU5IDQxLjc2OTkgMjE4LjMwNSA0MS4zMTQyIDIxOC4yOSA0MC44NDI4QzIxOS4xNTkgNDAuOTAzOCAyMTkuOTMzIDQwLjc0ODMgMjIwLjYxMiA0MC4zNzU1QzIyMS4yOSA0MC4wMDM0IDIyMS44NjYgMzkuNTA5MiAyMjIuMzM5IDM4Ljg5MzlDMjIyLjgxMSAzOC4yNzg4IDIyMy4xNyAzNy41ODc0IDIyMy40MTQgMzYuODJDMjIzLjY1OCAzNi4wNTI2IDIyMy43OTUgMzUuMjg5MiAyMjMuODI2IDM0LjUyOTNDMjIzLjg0MSAzMy44MTUgMjIzLjczNCAzMy4yMTEgMjIzLjUwNiAzMi43MTcxQzIyMy4yNzcgMzIuMjIzNSAyMjIuOTY4IDMxLjgzOTUgMjIyLjU3OSAzMS41NjYyQzIyMi4xOSAzMS4yOTI0IDIyMS43NDQgMzEuMTMzIDIyMS4yNDEgMzEuMDg3NEMyMjAuNzM4IDMxLjA0MTcgMjIwLjIyNyAzMS4xMTA1IDIxOS43MDggMzEuMjkyNEMyMTkuMDgzIDMxLjUwNTUgMjE4LjU1MyAzMS44NTEgMjE4LjExOSAzMi4zMjk2QzIxNy42ODQgMzIuODA4NSAyMTcuMzIxIDMzLjM2MzQgMjE3LjAzMiAzMy45OTM0QzIxNi43NDIgMzQuNjI0NCAyMTYuNTEzIDM1LjMwMzkgMjE2LjM0NiAzNi4wMzM1QzIxNi4xNzggMzYuNzYyNyAyMTYuMDU2IDM3LjQ4MSAyMTUuOTggMzguMTg3NEMyMTUuOTM2IDM4LjU4NTkgMjE1LjkwNyAzOC45NzIyIDIxNS44ODYgMzkuMzUxNkMyMTUuNzM5IDM5LjQ3NjUgMjE1LjU5NSAzOS42MDIzIDIxNS40NDIgMzkuNzI1OEMyMTQuOTE2IDQwLjE1MTQgMjE0LjM2MyA0MC41MzQ5IDIxMy43ODQgNDAuODc2OUMyMTMuMjA0IDQxLjIxOSAyMTIuNjAxIDQxLjUwMDEgMjExLjk3NyA0MS43MjA0QzIxMS4zNTEgNDEuOTQwOCAyMTAuNzEgNDIuMDczOCAyMTAuMDU1IDQyLjExOTJMMjExLjQ3MyAyNi45ODQ3QzIxMS41NjUgMjYuNjY1NSAyMTEuNTE5IDI2LjM4NDcgMjExLjMzNiAyNi4xNDE1QzIxMS4xNTMgMjUuODk4MyAyMTAuOTE2IDI1LjczMTIgMjEwLjYyNyAyNS42NDAxQzIxMC4zMzcgMjUuNTQ4OCAyMTAuMDI4IDI1LjU1NjYgMjA5LjcgMjUuNjYyN0MyMDkuMzcyIDI1Ljc2OTQgMjA5LjEwMiAyNi4wMTI2IDIwOC44ODggMjYuMzkxOUMyMDguNzgxIDI2Ljk2OTcgMjA4LjY3MSAyNy43NTk3IDIwOC41NTcgMjguNzYyNUMyMDguNDQyIDI5Ljc2NTMgMjA4LjMyOCAzMC44NTk1IDIwOC4yMTMgMzIuMDQ0OEMyMDguMDk5IDMzLjIzIDIwNy45ODUgMzQuNDUzMiAyMDcuODcgMzUuNzE0MkMyMDcuNzU2IDM2Ljk3NTkgMjA3LjY1NyAzOC4xNTMzIDIwNy41NzMgMzkuMjQ3MkMyMDcuNTY5IDM5LjI5NTggMjA3LjU2NiAzOS4zMzk4IDIwNy41NjIgMzkuMzg3OEMyMDcuNDI5IDM5LjUwMDUgMjA3LjI5OSAzOS42MTQyIDIwNy4xNjEgMzkuNzI1OEMyMDYuNjM1IDQwLjE1MTQgMjA2LjA4MiA0MC41MzQ5IDIwNS41MDMgNDAuODc2OUMyMDQuOTIzIDQxLjIxOSAyMDQuMzIxIDQxLjUwMDEgMjAzLjY5NiA0MS43MjA0QzIwMy4wNyA0MS45NDA4IDIwMi40MjkgNDIuMDczOCAyMDEuNzc0IDQyLjExOTJMMjAzLjE5MiAyNi45ODQ3QzIwMy4yODQgMjYuNjY1NSAyMDMuMjM4IDI2LjM4NDcgMjAzLjA1NSAyNi4xNDE1QzIwMi44NzIgMjUuODk4MyAyMDIuNjM1IDI1LjczMTIgMjAyLjM0NiAyNS42NDAxQzIwMi4wNTYgMjUuNTQ4OCAyMDEuNzQ3IDI1LjU1NjYgMjAxLjQxOSAyNS42NjI3QzIwMS4wOTEgMjUuNzY5NCAyMDAuODIxIDI2LjAxMjYgMjAwLjYwNyAyNi4zOTE5QzIwMC41MDEgMjYuOTY5NyAyMDAuMzkgMjcuNzU5NyAyMDAuMjc2IDI4Ljc2MjVDMjAwLjE2MSAyOS43NjUzIDIwMC4wNDcgMzAuODU5NSAxOTkuOTMzIDMyLjA0NDhDMTk5LjgxOCAzMy4yMyAxOTkuNzA0IDM0LjQ1MzIgMTk5LjU4OSAzNS43MTQyQzE5OS40NzUgMzYuOTc1OSAxOTkuMzc2IDM4LjE1MzMgMTk5LjI5MiAzOS4yNDcyQzE5OS4yOSAzOS4yNjkyIDE5OS4yODkgMzkuMjg5MSAxOTkuMjg3IDM5LjMxMTFDMTk5LjA0OCAzOS40MjE5IDE5OC43ODYgMzkuNTE5IDE5OC41MDMgMzkuNjAwNkMxOTguMjEzIDM5LjY4NDQgMTk3Ljg4NSAzOS43MzM5IDE5Ny41MTkgMzkuNzQ4OUMxOTcuNTggMzkuNDc1MSAxOTcuNjMgMzkuMTcxMiAxOTcuNjY4IDM4LjgzNjlDMTk3LjcwNiAzOC41MDI5IDE5Ny43MzcgMzguMTUzMyAxOTcuNzYgMzcuNzg4NEMxOTcuNzgyIDM3LjQyNDEgMTk3Ljc5IDM3LjA1OTEgMTk3Ljc4MiAzNi42OTQ1QzE5Ny43NzQgMzYuMzI5NiAxOTcuNzU1IDM1Ljk5NTYgMTk3LjcyNSAzNS42OTE0QzE5Ny42NDkgMzUuMDM4NSAxOTcuNTA4IDM0LjQxOTEgMTk3LjMwMiAzMy44MzM4QzE5Ny4wOTYgMzMuMjQ5MSAxOTYuODE4IDMyLjc1OTMgMTk2LjQ2NyAzMi4zNjM3QzE5Ni4xMTYgMzEuOTY4NyAxOTUuNjc4IDMxLjcwMjcgMTk1LjE1MSAzMS41NjYyQzE5NC42MjYgMzEuNDI5NCAxOTQuMDEyIDMxLjQ3NDggMTkzLjMxIDMxLjcwMjdDMTkyLjI3MyAzMS41NjYyIDE5MS4zMzkgMzEuNjYxMyAxOTAuNTA4IDMxLjk4NzhDMTg5LjY3NyAzMi4zMTQ5IDE4OC45NTYgMzIuNzg5NCAxODguMzQ2IDMzLjQxMjJDMTg3LjczNiAzNC4wMzU3IDE4Ny4yMzcgMzQuNzY4NCAxODYuODQ4IDM1LjYxMTlDMTg2LjQ1OSAzNi40NTUxIDE4Ni4yIDM3LjMyMTQgMTg2LjA3IDM4LjIxQzE4Ni4wMTUgMzguNTg2OCAxODUuOTg4IDM4Ljk2MTggMTg1Ljk4IDM5LjMzNkMxODUuNzQ0IDM5LjgxNzcgMTg1LjQ4NiA0MC4yMzg4IDE4NS4yMDEgNDAuNTkyMUMxODQuNzk3IDQxLjA5MzUgMTg0LjM3NyA0MS41MDM4IDE4My45NDMgNDEuODIyOEMxODMuNTA4IDQyLjE0MiAxODMuMDc3IDQyLjM4NTIgMTgyLjY1IDQyLjU1MjNDMTgyLjIyMyA0Mi43MTk4IDE4MS44NDIgNDIuODMzNyAxODEuNTA3IDQyLjg5NDFDMTgxLjExIDQyLjk3MDIgMTgwLjcyOSA0Mi45NzggMTgwLjM2MyA0Mi45MTdDMTc5Ljk5NyA0Mi44NTY1IDE3OS42NjEgNDIuNjgxNiAxNzkuMzU3IDQyLjM5MjdDMTc5LjExMiA0Mi4xODAyIDE3OC45MjUgNDEuODM4MSAxNzguNzk2IDQxLjM2NzFDMTc4LjY2NiA0MC44OTYgMTc4LjU5IDQwLjM2MDggMTc4LjU2NyAzOS43NjAyQzE3OC41NDQgMzkuMTU5OSAxNzguNTY3IDM4LjUzMyAxNzguNjM2IDM3Ljg3OThDMTc4LjcwNSAzNy4yMjY2IDE3OC44MjIgMzYuNjA3MiAxNzguOTkgMzYuMDIyMkMxNzkuMTU4IDM1LjQzNzIgMTc5LjM3MSAzNC45MTMgMTc5LjYzMSAzNC40NDkyQzE3OS44OSAzMy45ODYyIDE4MC4xOTUgMzMuNjU1NCAxODAuNTQ2IDMzLjQ1NzlDMTgwLjc0NCAzMy40ODg2IDE4MC44NjYgMzMuNjA2IDE4MC45MTIgMzMuODExQzE4MC45NTggMzQuMDE2MyAxODAuOTY5IDM0LjI1OTUgMTgwLjk0NiAzNC41NDA1QzE4MC45MjMgMzQuODIxOSAxODAuODg5IDM1LjExMDUgMTgwLjg0MyAzNS40MDY2QzE4MC43OTcgMzUuNzAzIDE4MC43NzUgMzUuOTUwMiAxODAuNzc1IDM2LjE0NzRDMTgwLjg1MSAzNi41NTc3IDE4MC45OTkgMzYuODc3IDE4MS4yMjEgMzcuMTA0OEMxODEuNDQxIDM3LjMzMjcgMTgxLjY5IDM3LjQ2NiAxODEuOTY0IDM3LjUwMzZDMTgyLjIzOSAzNy41NDE3IDE4Mi41MDkgMzcuNDc3MyAxODIuNzc2IDM3LjMwOThDMTgzLjA0MyAzNy4xNDMgMTgzLjI2IDM2Ljg3NyAxODMuNDI4IDM2LjUxMkMxODMuNDQzIDM2LjUyNzQgMTgzLjQ2NiAzNi41MzQ5IDE4My40OTcgMzYuNTM0OUwxODMuODE3IDMzLjY0MDRDMTgzLjkwOSAzMy4yNDUxIDE4My44NDcgMzIuODk1OCAxODMuNjM0IDMyLjU5MTlDMTgzLjQyIDMyLjI4OCAxODMuMTM4IDMyLjExMyAxODIuNzg4IDMyLjA2NzZDMTgyLjM0NSAzMS40Mjk0IDE4MS43NDcgMzEuMDkxNCAxODAuOTkyIDMxLjA1MzJDMTgwLjIzNyAzMS4wMTU0IDE3OS40NjMgMzEuMjYyMyAxNzguNjcgMzEuNzk0MUMxNzguMTgyIDMyLjE0NCAxNzcuNzUxIDMyLjYyNiAxNzcuMzc4IDMzLjI0MTNDMTc3LjAwNCAzMy44NTcgMTc2LjY5OSAzNC41NDA1IDE3Ni40NjMgMzUuMjkyNkMxNzYuMjI2IDM2LjA0NDggMTc2LjA1OCAzNi44MzkxIDE3NS45NTkgMzcuNjc0OEMxNzUuODYgMzguNTEwNCAxNzUuODQxIDM5LjMyMzYgMTc1LjkwMiA0MC4xMTMzQzE3NS45NjMgNDAuOTAzOCAxNzYuMTA0IDQxLjY0ODQgMTc2LjMyNSA0Mi4zNDdDMTc2LjU0NiA0My4wNDYyIDE3Ni44NTUgNDMuNjMxMiAxNzcuMjUyIDQ0LjEwMkMxNzcuNTg3IDQ0LjUxMjMgMTc3Ljk2OCA0NC44MTI3IDE3OC4zOTUgNDUuMDAyN0MxNzguODIyIDQ1LjE5MjcgMTc5LjI2OCA0NS4zMTAxIDE3OS43MzQgNDUuMzU1OEMxODAuMTk5IDQ1LjQwMTIgMTgwLjY2IDQ1LjM4MjEgMTgxLjExOCA0NS4yOTg4QzE4MS41NzUgNDUuMjE1NSAxODIuMDEgNDUuMDk3OCAxODIuNDIxIDQ0Ljk0NTRDMTgyLjk1NSA0NC43NDgyIDE4My41MDUgNDQuNDk3MiAxODQuMDY5IDQ0LjE5MzNDMTg0LjYzMyA0My44ODk3IDE4NS4xNzQgNDMuNTI0OCAxODUuNjkzIDQzLjA5OTFDMTg1Ljk2NiA0Mi44NzUzIDE4Ni4yMjggNDIuNjMxMyAxODYuNDgyIDQyLjM2OTZDMTg2LjU5OCA0Mi42NTUzIDE4Ni43MjcgNDIuOTMxNyAxODYuODgyIDQzLjE5MDVDMTg3LjI5NCA0My44NzQxIDE4Ny44NSA0NC40MjkgMTg4LjU1MiA0NC44NTQ0QzE4OS4yNTMgNDUuMjc5NyAxOTAuMTE1IDQ1LjQ4NDQgMTkxLjEzNyA0NS40Njk3QzE5Mi4yMzUgNDUuNDU0NCAxOTMuMjQ5IDQ1LjE3NzQgMTk0LjE4IDQ0LjYzNzhDMTk1LjExIDQ0LjA5ODggMTk1Ljg3MiA0My4zMDQyIDE5Ni40NjcgNDIuMjU2QzE5Ny4zNTggNDIuMjU2IDE5OC4yMzQgNDIuMTA5NiAxOTkuMDk2IDQxLjgxOUMxOTkuMDg5IDQxLjkxMSAxOTkuMDgxIDQyLjAwNzkgMTk5LjA3NSA0Mi4wOTY2QzE5OS4wMTQgNDIuOTAxOSAxOTguOTgzIDQzLjQ0ODcgMTk4Ljk4MyA0My43Mzc2QzE5OC45NjggNDQuMjM5IDE5OC45MzQgNDQuODU4MSAxOTguODggNDUuNTk0OUMxOTguODI3IDQ2LjMzMiAxOTguNzkzIDQ3LjEwNjkgMTk4Ljc3OCA0Ny45MTk4QzE5OC43NjMgNDguNzMyNiAxOTguNzkzIDQ5LjU1MzIgMTk4Ljg2OSA1MC4zODE3QzE5OC45NDUgNTEuMjA5NiAxOTkuMTA1IDUxLjk2MiAxOTkuMzQ5IDUyLjYzODNDMTk5LjU5MyA1My4zMTQxIDE5OS45NCA1My44ODc4IDIwMC4zOSA1NC4zNTkxQzIwMC44NCA1NC44Mjk5IDIwMS40MzEgNTUuMTExMiAyMDIuMTYzIDU1LjIwMjNDMjAyLjk0MSA1NS4zMDg0IDIwMy42MTIgNTUuMTcxNyAyMDQuMTc2IDU0Ljc5MkMyMDQuNzQgNTQuNDEyIDIwNS4xOTggNTMuODkxOCAyMDUuNTQ5IDUzLjIzMDhDMjA1Ljg5OSA1Mi41Njk1IDIwNi4xNDcgNTEuODA2MSAyMDYuMjkyIDUwLjk0MDFDMjA2LjQzNyA1MC4wNzQgMjA2LjQ3OSA0OS4yMDM5IDIwNi40MTggNDguMzMwMUMyMDYuMzU3IDQ3LjQ1NjIgMjA2LjE5NiA0Ni42MzIxIDIwNS45MzcgNDUuODU3NUMyMDUuNjc4IDQ1LjA4MjIgMjA1LjMxOSA0NC40NDQgMjA0Ljg2MiA0My45NDIzQzIwNS4xMzcgNDMuODY2OSAyMDUuNDY1IDQzLjcyMjYgMjA1Ljg0NiA0My41MDk1QzIwNi4yMjcgNDMuMjk2OSAyMDYuNjIgNDMuMDU3NSAyMDcuMDI0IDQyLjc5MTVDMjA3LjEyMyA0Mi43MjYxIDIwNy4yMjEgNDIuNjU3MyAyMDcuMzIgNDIuNTkwMkMyMDcuMjgzIDQzLjEyODYgMjA3LjI2NCA0My41MTI2IDIwNy4yNjQgNDMuNzM3NkMyMDcuMjQ5IDQ0LjIzOSAyMDcuMjE1IDQ0Ljg1ODEgMjA3LjE2MSA0NS41OTQ5QzIwNy4xMDggNDYuMzMyIDIwNy4wNzMgNDcuMTA2OSAyMDcuMDU4IDQ3LjkxOThDMjA3LjA0MyA0OC43MzI2IDIwNy4wNzMgNDkuNTUzMiAyMDcuMTUgNTAuMzgxN0MyMDcuMjI2IDUxLjIwOTYgMjA3LjM4NiA1MS45NjIgMjA3LjYzIDUyLjYzODNDMjA3Ljg3NCA1My4zMTQxIDIwOC4yMjEgNTMuODg3OCAyMDguNjcxIDU0LjM1OTFDMjA5LjEyMSA1NC44Mjk5IDIwOS43MTIgNTUuMTExMiAyMTAuNDQ0IDU1LjIwMjNDMjExLjIyMSA1NS4zMDg0IDIxMS44OTIgNTUuMTcxNyAyMTIuNDU3IDU0Ljc5MkMyMTMuMDIxIDU0LjQxMiAyMTMuNDc4IDUzLjg5MTggMjEzLjgzIDUzLjIzMDhDMjE0LjE4IDUyLjU2OTUgMjE0LjQyOCA1MS44MDYxIDIxNC41NzMgNTAuOTQwMUMyMTQuNzE4IDUwLjA3NCAyMTQuNzU5IDQ5LjIwMzkgMjE0LjY5OSA0OC4zMzAxQzIxNC42MzcgNDcuNDU2MiAyMTQuNDc3IDQ2LjYzMjEgMjE0LjIxOCA0NS44NTc1QzIxMy45NTkgNDUuMDgyMiAyMTMuNjAxIDQ0LjQ0NCAyMTMuMTQzIDQzLjk0MjNDMjEzLjQxOCA0My44NjY5IDIxMy43NDUgNDMuNzIyNiAyMTQuMTI3IDQzLjUwOTVDMjE0LjUwOCA0My4yOTY5IDIxNC45IDQzLjA1NzUgMjE1LjMwNSA0Mi43OTE1QzIxNS41MTUgNDIuNjUzMyAyMTUuNzI0IDQyLjUxMDcgMjE1LjkzMiA0Mi4zNjQxQzIxNi4wMSA0My4xMDcyIDIxNi4xNzkgNDMuNzU5IDIxNi40NDggNDQuMzA3M0MyMTYuNzc2IDQ0Ljk3NjEgMjE3LjIyMiA0NS40OTI1IDIxNy43ODcgNDUuODU3NUMyMTguMzUxIDQ2LjIyMTggMjE5LjAxNCA0Ni40MjM0IDIxOS43NzcgNDYuNDYxMkMyMjAuNTM5IDQ2LjQ5ODggMjIxLjM3IDQ2LjM1ODYgMjIyLjI3MSA0Ni4wMzkzQzIyMi45NDEgNDUuNzk2NSAyMjMuNTI1IDQ1LjQ5MjUgMjI0LjAyIDQ1LjEyNzlDMjI0LjUxNiA0NC43NjMgMjI0Ljk2MiA0NC4zMTg1IDIyNS4zNTggNDMuNzk0NkMyMjUuMzgxIDQzLjc2NDIgMjI1LjQwMyA0My43MzEzIDIyNS40MjUgNDMuNzAwNkMyMjUuNDk2IDQzLjkxMzQgMjI1LjU3NCA0NC4xMTc5IDIyNS42NjcgNDQuMzA3M0MyMjUuOTk1IDQ0Ljk3NjEgMjI2LjQ0MSA0NS40OTI1IDIyNy4wMDYgNDUuODU3NUMyMjcuNTY5IDQ2LjIyMTggMjI4LjIzMyA0Ni40MjM0IDIyOC45OTYgNDYuNDYxMkMyMjkuNzU4IDQ2LjQ5ODggMjMwLjU4OSA0Ni4zNTg2IDIzMS40ODkgNDYuMDM5M0MyMzIuMTYgNDUuNzk2NSAyMzIuNzQ0IDQ1LjQ5MjUgMjMzLjIzOSA0NS4xMjc5QzIzMy43MzUgNDQuNzYzIDIzNC4xODEgNDQuMzE4NSAyMzQuNTc3IDQzLjc5NDZDMjM0Ljk3NCA0My4yNyAyMzUuMzM2IDQyLjY2NiAyMzUuNjY0IDQxLjk4MjRDMjM1Ljk5MiA0MS4yOTg1IDIzNi4zMjMgNDAuNTE2NCAyMzYuNjU5IDM5LjYzNDdDMjM2LjcyIDM5LjM5MTggMjM2LjY2MyAzOS4xNzUyIDIzNi40ODggMzguOTg1MlpcIiBmaWxsPVwiIzBEMEMyM1wiLz5cbjwvc3ZnPmA7XG5cbmNvbnN0IHBheXBhbCA9IGBcbjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTUwXCIgaGVpZ2h0PVwiNDBcIj5cbjxwYXRoIGZpbGw9XCIjMjUzQjgwXCIgZD1cIk00Ni4yMTEgNi43NDloLTYuODM5YS45NS45NSAwIDAgMC0uOTM5LjgwMmwtMi43NjYgMTcuNTM3YS41Ny41NyAwIDAgMCAuNTY0LjY1OGgzLjI2NWEuOTUuOTUgMCAwIDAgLjkzOS0uODAzbC43NDYtNC43M2EuOTUuOTUgMCAwIDEgLjkzOC0uODAzaDIuMTY1YzQuNTA1IDAgNy4xMDUtMi4xOCA3Ljc4NC02LjUuMzA2LTEuODkuMDEzLTMuMzc1LS44NzItNC40MTUtLjk3Mi0xLjE0Mi0yLjY5Ni0xLjc0Ni00Ljk4NS0xLjc0NnpNNDcgMTMuMTU0Yy0uMzc0IDIuNDU0LTIuMjQ5IDIuNDU0LTQuMDYyIDIuNDU0aC0xLjAzMmwuNzI0LTQuNTgzYS41Ny41NyAwIDAgMSAuNTYzLS40ODFoLjQ3M2MxLjIzNSAwIDIuNCAwIDMuMDAyLjcwNC4zNTkuNDIuNDY5IDEuMDQ0LjMzMiAxLjkwNnpNNjYuNjU0IDEzLjA3NWgtMy4yNzVhLjU3LjU3IDAgMCAwLS41NjMuNDgxbC0uMTQ1LjkxNi0uMjI5LS4zMzJjLS43MDktMS4wMjktMi4yOS0xLjM3My0zLjg2OC0xLjM3My0zLjYxOSAwLTYuNzEgMi43NDEtNy4zMTIgNi41ODYtLjMxMyAxLjkxOC4xMzIgMy43NTIgMS4yMiA1LjAzMS45OTggMS4xNzYgMi40MjYgMS42NjYgNC4xMjUgMS42NjYgMi45MTYgMCA0LjUzMy0xLjg3NSA0LjUzMy0xLjg3NWwtLjE0Ni45MWEuNTcuNTcgMCAwIDAgLjU2Mi42NmgyLjk1YS45NS45NSAwIDAgMCAuOTM5LS44MDNsMS43Ny0xMS4yMDlhLjU2OC41NjggMCAwIDAtLjU2MS0uNjU4em0tNC41NjUgNi4zNzRjLS4zMTYgMS44NzEtMS44MDEgMy4xMjctMy42OTUgMy4xMjctLjk1MSAwLTEuNzExLS4zMDUtMi4xOTktLjg4My0uNDg0LS41NzQtLjY2OC0xLjM5MS0uNTE0LTIuMzAxLjI5NS0xLjg1NSAxLjgwNS0zLjE1MiAzLjY3LTMuMTUyLjkzIDAgMS42ODYuMzA5IDIuMTg0Ljg5Mi40OTkuNTg5LjY5NyAxLjQxMS41NTQgMi4zMTd6TTg0LjA5NiAxMy4wNzVoLTMuMjkxYS45NTQuOTU0IDAgMCAwLS43ODcuNDE3bC00LjUzOSA2LjY4Ni0xLjkyNC02LjQyNWEuOTUzLjk1MyAwIDAgMC0uOTEyLS42NzhoLTMuMjM0YS41Ny41NyAwIDAgMC0uNTQxLjc1NGwzLjYyNSAxMC42MzgtMy40MDggNC44MTFhLjU3LjU3IDAgMCAwIC40NjUuOWgzLjI4N2EuOTQ5Ljk0OSAwIDAgMCAuNzgxLS40MDhsMTAuOTQ2LTE1LjhhLjU3LjU3IDAgMCAwLS40NjgtLjg5NXpcIi8+XG48cGF0aCBmaWxsPVwiIzE3OUJEN1wiIGQ9XCJNOTQuOTkyIDYuNzQ5aC02Ljg0YS45NS45NSAwIDAgMC0uOTM4LjgwMmwtMi43NjYgMTcuNTM3YS41NjkuNTY5IDAgMCAwIC41NjIuNjU4aDMuNTFhLjY2NS42NjUgMCAwIDAgLjY1Ni0uNTYybC43ODUtNC45NzFhLjk1Ljk1IDAgMCAxIC45MzgtLjgwM2gyLjE2NGM0LjUwNiAwIDcuMTA1LTIuMTggNy43ODUtNi41LjMwNy0xLjg5LjAxMi0zLjM3NS0uODczLTQuNDE1LS45NzEtMS4xNDItMi42OTQtMS43NDYtNC45ODMtMS43NDZ6bS43ODkgNi40MDVjLS4zNzMgMi40NTQtMi4yNDggMi40NTQtNC4wNjIgMi40NTRoLTEuMDMxbC43MjUtNC41ODNhLjU2OC41NjggMCAwIDEgLjU2Mi0uNDgxaC40NzNjMS4yMzQgMCAyLjQgMCAzLjAwMi43MDQuMzU5LjQyLjQ2OCAxLjA0NC4zMzEgMS45MDZ6TTExNS40MzQgMTMuMDc1aC0zLjI3M2EuNTY3LjU2NyAwIDAgMC0uNTYyLjQ4MWwtLjE0NS45MTYtLjIzLS4zMzJjLS43MDktMS4wMjktMi4yODktMS4zNzMtMy44NjctMS4zNzMtMy42MTkgMC02LjcwOSAyLjc0MS03LjMxMSA2LjU4Ni0uMzEyIDEuOTE4LjEzMSAzLjc1MiAxLjIxOSA1LjAzMSAxIDEuMTc2IDIuNDI2IDEuNjY2IDQuMTI1IDEuNjY2IDIuOTE2IDAgNC41MzMtMS44NzUgNC41MzMtMS44NzVsLS4xNDYuOTFhLjU3LjU3IDAgMCAwIC41NjQuNjZoMi45NDlhLjk1Ljk1IDAgMCAwIC45MzgtLjgwM2wxLjc3MS0xMS4yMDlhLjU3MS41NzEgMCAwIDAtLjU2NS0uNjU4em0tNC41NjUgNi4zNzRjLS4zMTQgMS44NzEtMS44MDEgMy4xMjctMy42OTUgMy4xMjctLjk0OSAwLTEuNzExLS4zMDUtMi4xOTktLjg4My0uNDg0LS41NzQtLjY2Ni0xLjM5MS0uNTE0LTIuMzAxLjI5Ny0xLjg1NSAxLjgwNS0zLjE1MiAzLjY3LTMuMTUyLjkzIDAgMS42ODYuMzA5IDIuMTg0Ljg5Mi41MDEuNTg5LjY5OSAxLjQxMS41NTQgMi4zMTd6TTExOS4yOTUgNy4yM2wtMi44MDcgMTcuODU4YS41NjkuNTY5IDAgMCAwIC41NjIuNjU4aDIuODIyYy40NjkgMCAuODY3LS4zNC45MzktLjgwM2wyLjc2OC0xNy41MzZhLjU3LjU3IDAgMCAwLS41NjItLjY1OWgtMy4xNmEuNTcxLjU3MSAwIDAgMC0uNTYyLjQ4MnpcIi8+XG48cGF0aCBmaWxsPVwiIzI1M0I4MFwiIGQ9XCJNNy4yNjYgMjkuMTU0bC41MjMtMy4zMjItMS4xNjUtLjAyN0gxLjA2MUw0LjkyNyAxLjI5MmEuMzE2LjMxNiAwIDAgMSAuMzE0LS4yNjhoOS4zOGMzLjExNCAwIDUuMjYzLjY0OCA2LjM4NSAxLjkyNy41MjYuNi44NjEgMS4yMjcgMS4wMjMgMS45MTcuMTcuNzI0LjE3MyAxLjU4OS4wMDcgMi42NDRsLS4wMTIuMDc3di42NzZsLjUyNi4yOThhMy42OSAzLjY5IDAgMCAxIDEuMDY1LjgxMmMuNDUuNTEzLjc0MSAxLjE2NS44NjQgMS45MzguMTI3Ljc5NS4wODUgMS43NDEtLjEyMyAyLjgxMi0uMjQgMS4yMzItLjYyOCAyLjMwNS0xLjE1MiAzLjE4M2E2LjU0NyA2LjU0NyAwIDAgMS0xLjgyNSAyYy0uNjk2LjQ5NC0xLjUyMy44NjktMi40NTggMS4xMDktLjkwNi4yMzYtMS45MzkuMzU1LTMuMDcyLjM1NWgtLjczYy0uNTIyIDAtMS4wMjkuMTg4LTEuNDI3LjUyNWEyLjIxIDIuMjEgMCAwIDAtLjc0NCAxLjMyOGwtLjA1NS4yOTktLjkyNCA1Ljg1NS0uMDQyLjIxNWMtLjAxMS4wNjgtLjAzLjEwMi0uMDU4LjEyNWEuMTU1LjE1NSAwIDAgMS0uMDk2LjAzNUg3LjI2NnpcIi8+XG48cGF0aCBmaWxsPVwiIzE3OUJEN1wiIGQ9XCJNMjMuMDQ4IDcuNjY3Yy0uMDI4LjE3OS0uMDYuMzYyLS4wOTYuNTUtMS4yMzcgNi4zNTEtNS40NjkgOC41NDUtMTAuODc0IDguNTQ1SDkuMzI2Yy0uNjYxIDAtMS4yMTguNDgtMS4zMjEgMS4xMzJMNi41OTYgMjYuODNsLS4zOTkgMi41MzNhLjcwNC43MDQgMCAwIDAgLjY5NS44MTRoNC44ODFjLjU3OCAwIDEuMDY5LS40MiAxLjE2LS45OWwuMDQ4LS4yNDguOTE5LTUuODMyLjA1OS0uMzJjLjA5LS41NzIuNTgyLS45OTIgMS4xNi0uOTkyaC43M2M0LjcyOSAwIDguNDMxLTEuOTIgOS41MTMtNy40NzYuNDUyLTIuMzIxLjIxOC00LjI1OS0uOTc4LTUuNjIyYTQuNjY3IDQuNjY3IDAgMCAwLTEuMzM2LTEuMDN6XCIvPlxuPHBhdGggZmlsbD1cIiMyMjJENjVcIiBkPVwiTTIxLjc1NCA3LjE1MWE5Ljc1NyA5Ljc1NyAwIDAgMC0xLjIwMy0uMjY3IDE1LjI4NCAxNS4yODQgMCAwIDAtMi40MjYtLjE3N2gtNy4zNTJhMS4xNzIgMS4xNzIgMCAwIDAtMS4xNTkuOTkyTDguMDUgMTcuNjA1bC0uMDQ1LjI4OWExLjMzNiAxLjMzNiAwIDAgMSAxLjMyMS0xLjEzMmgyLjc1MmM1LjQwNSAwIDkuNjM3LTIuMTk1IDEwLjg3NC04LjU0NS4wMzctLjE4OC4wNjgtLjM3MS4wOTYtLjU1YTYuNTk0IDYuNTk0IDAgMCAwLTEuMDE3LS40MjkgOS4wNDUgOS4wNDUgMCAwIDAtLjI3Ny0uMDg3elwiLz5cbjxwYXRoIGZpbGw9XCIjMjUzQjgwXCIgZD1cIk05LjYxNCA3LjY5OWExLjE2OSAxLjE2OSAwIDAgMSAxLjE1OS0uOTkxaDcuMzUyYy44NzEgMCAxLjY4NC4wNTcgMi40MjYuMTc3YTkuNzU3IDkuNzU3IDAgMCAxIDEuNDgxLjM1M2MuMzY1LjEyMS43MDQuMjY0IDEuMDE3LjQyOS4zNjgtMi4zNDctLjAwMy0zLjk0NS0xLjI3Mi01LjM5MkMyMC4zNzguNjgyIDE3Ljg1MyAwIDE0LjYyMiAwaC05LjM4Yy0uNjYgMC0xLjIyMy40OC0xLjMyNSAxLjEzM0wuMDEgMjUuODk4YS44MDYuODA2IDAgMCAwIC43OTUuOTMyaDUuNzkxbDEuNDU0LTkuMjI1IDEuNTY0LTkuOTA2elwiLz5cbjwvc3ZnPmA7XG4iXSwibmFtZXMiOlsiSXRlbVZpZXciLCJNZW51IiwiZ2V0SWNvbiIsIk5vdGljZSIsIlBsdWdpbiIsImFkZEljb24iLCJQbHVnaW5TZXR0aW5nVGFiIiwiU2V0dGluZyJdLCJtYXBwaW5ncyI6Ijs7OztBQTJCQSxNQUFNLGdCQUFnQixHQUFXLEVBQUUsQ0FBQztBQUVwQyxNQUFNLFlBQVksR0FBb0I7QUFDcEMsSUFBQSxXQUFXLEVBQUUsRUFBRTtBQUNmLElBQUEsWUFBWSxFQUFFLEVBQUU7QUFDaEIsSUFBQSxTQUFTLEVBQUUsSUFBSTtBQUNmLElBQUEsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxDQUFDO0FBRS9DLE1BQU0sbUJBQW9CLFNBQVFBLGlCQUFRLENBQUE7QUFJeEMsSUFBQSxXQUFBLENBQ0UsSUFBbUIsRUFDbkIsTUFBeUIsRUFDekIsSUFBcUIsRUFBQTtRQUVyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFpREUsSUFBTSxDQUFBLE1BQUEsR0FBRyxNQUFXO1lBQ2xDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRXBELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFDekQsWUFBQSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztZQUVw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 diff --git a/SI/.obsidian/plugins/recent-files-obsidian/manifest.json b/SI/.obsidian/plugins/recent-files-obsidian/manifest.json index 03a3333..0f7294a 100644 --- a/SI/.obsidian/plugins/recent-files-obsidian/manifest.json +++ b/SI/.obsidian/plugins/recent-files-obsidian/manifest.json @@ -1,7 +1,7 @@ { "id": "recent-files-obsidian", "name": "Recent Files", - "version": "1.3.10", + "version": "1.4.1", "minAppVersion": "0.16.3", "description": "List files by most recently opened", "author": "Tony Grosinger", diff --git a/SI/.obsidian/plugins/recent-files-obsidian/styles.css b/SI/.obsidian/plugins/recent-files-obsidian/styles.css index 74a5055..d905bb7 100644 --- a/SI/.obsidian/plugins/recent-files-obsidian/styles.css +++ b/SI/.obsidian/plugins/recent-files-obsidian/styles.css @@ -13,7 +13,7 @@ .recent-files-title:hover .recent-files-file-delete { display: flex; - cursor: pointer; + cursor: var(--cursor); } .recent-files-file-delete:hover { |
