From 3056b74cb95ca080e7a945f93c6636de625942f1 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Sun, 8 Sep 2024 15:38:57 +0300 Subject: [PATCH] _SocialShare.tsx --- quartz/components/_SocialShare.tsx | 129 ++--- .../components/scripts/_socialshare.inline.ts | 498 ------------------ quartz/static/share.js | 455 ++++++++++++++++ 3 files changed, 521 insertions(+), 561 deletions(-) delete mode 100644 quartz/components/scripts/_socialshare.inline.ts create mode 100644 quartz/static/share.js diff --git a/quartz/components/_SocialShare.tsx b/quartz/components/_SocialShare.tsx index 070f804aa..b3c2a6e59 100644 --- a/quartz/components/_SocialShare.tsx +++ b/quartz/components/_SocialShare.tsx @@ -1,75 +1,78 @@ import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" // @ts-ignore -import script from "./scripts/_socialshare.inline" import style from "./styles/_socialshare.scss" const SocialShare: QuartzComponent = ({ displayClass, fileData }: QuartzComponentProps) => { - // Extract necessary data from fileData or another source - const url = fileData?.url || ""; - const title = fileData?.title || ""; - const customExcerpt = fileData?.customExcerpt || ""; - return ( -
-
- e.preventDefault()} - title="Поделиться в Telegram" - data-sharer="telegram" - data-url={url} - data-title={title} - data-caption={customExcerpt} - > - - + <> +
+
+ + + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + +
-
- e.preventDefault()} - title="Поделиться в Twitter" - data-sharer="twitter" - data-url={url} - data-title={title} - > - - -
- {/* Uncomment and complete other sections as necessary */} -
- e.preventDefault()} - title="Поделиться в Pocket" - data-sharer="pocket" - data-url={url} - data-title={title} - > - - -
-
- e.preventDefault()} - title="Поделиться в Skype" - data-sharer="skype" - data-url={url} - data-title={title} - > - - -
-
+ ) } SocialShare.css = style; -SocialShare.afterDOMLoaded = script; - export default (() => SocialShare) satisfies QuartzComponentConstructor; diff --git a/quartz/components/scripts/_socialshare.inline.ts b/quartz/components/scripts/_socialshare.inline.ts deleted file mode 100644 index e1856f31f..000000000 --- a/quartz/components/scripts/_socialshare.inline.ts +++ /dev/null @@ -1,498 +0,0 @@ -(function() { - function requireModule( - modules: { [key: string]: [Function, { [key: string]: string }] }, - cache: { [key: string]: { exports: any } }, - entry: number[] - ) { - function loadModule(moduleId: string): any { - if (!cache[moduleId]) { - if (!modules[moduleId]) { - const requireFn: (id: string, strict?: boolean) => any = - typeof require === 'function' && require; - if (requireFn) return requireFn(moduleId, true); - throw new Error(`Cannot find module '${moduleId}'`); - } - const module = (cache[moduleId] = { exports: {} }); - modules[moduleId][0].call( - module.exports, - (id: string) => loadModule(modules[moduleId][1][id] || id), - module, - module.exports, - requireModule, - modules, - cache, - entry - ); - } - return cache[moduleId].exports; - } - - for (const moduleId of entry) { - loadModule(moduleId.toString()); - } - } - - requireModule( - { - '1': [ - function (require: any, module: any, exports: any) { - 'use strict'; - - interface ShareOptions { - shareUrl: string; - params?: { [key: string]: string | number | boolean }; - isLink?: boolean; - width?: string; - height?: string; - } - - class Sharer { - elem: HTMLElement; - - constructor(t: HTMLElement) { - this.elem = t; - } - - static init() { - const elements = document.querySelectorAll('[data-sharer]'); - elements.forEach((element) => { - element.addEventListener('click', Sharer.add); - }); - } - - static add(event: Event) { - const target = (event.currentTarget || event.srcElement) as HTMLElement; - const sharer = new Sharer(target); - sharer.share(); - } - - getValue(attr: string): string | null { - const value = this.elem.getAttribute(`data-${attr}`); - if (value && attr === 'hashtag' && !value.startsWith('#')) { - return `#${value}`; - } - return value; - } - - share() { - const type = (this.getValue('sharer') || '').toLowerCase(); - const options: { [key: string]: ShareOptions } = { - facebook: { - shareUrl: 'https://www.facebook.com/sharer/sharer.php', - params: { - u: this.getValue('url') || '', - hashtag: this.getValue('hashtag') || '', - }, - }, - linkedin: { - shareUrl: "https://www.linkedin.com/shareArticle", - params: { - url: this.getValue("url"), - mini: true - } - }, - twitter: { - shareUrl: "https://twitter.com/intent/tweet/", - params: { - text: this.getValue("title"), - url: this.getValue("url"), - hashtags: this.getValue("hashtags"), - via: this.getValue("via") - } - }, - email: { - shareUrl: "mailto:" + this.getValue("to") || "", - params: { - subject: this.getValue("subject"), - body: this.getValue("title") + "\n" + this.getValue("url") - }, - isLink: true - }, - whatsapp: { - shareUrl: this.getValue("web") !== null ? "https://api.whatsapp.com/send" : "whatsapp://send", - params: { - text: this.getValue("title") + " " + this.getValue("url") - }, - isLink: true - }, - telegram: { - shareUrl: this.getValue("web") !== null ? "https://telegram.me/share" : "tg://msg_url", - params: { - text: this.getValue("title"), - url: this.getValue("url"), - to: this.getValue("to") - }, - isLink: true - }, - viber: { - shareUrl: "viber://forward", - params: { - text: this.getValue("title") + " " + this.getValue("url") - }, - isLink: true - }, - line: { - shareUrl: "http://line.me/R/msg/text/?" + encodeURIComponent(this.getValue("title") + " " + this.getValue("url")), - isLink: true - }, - pinterest: { - shareUrl: "https://www.pinterest.com/pin/create/button/", - params: { - url: this.getValue("url"), - media: this.getValue("image"), - description: this.getValue("description") - } - }, - tumblr: { - shareUrl: "http://tumblr.com/widgets/share/tool", - params: { - canonicalUrl: this.getValue("url"), - content: this.getValue("url"), - posttype: "link", - title: this.getValue("title"), - caption: this.getValue("caption"), - tags: this.getValue("tags") - } - }, - hackernews: { - shareUrl: "https://news.ycombinator.com/submitlink", - params: { - u: this.getValue("url"), - t: this.getValue("title") - } - }, - reddit: { - shareUrl: "https://www.reddit.com/submit", - params: { - url: this.getValue("url") - } - }, - vk: { - shareUrl: "http://vk.com/share.php", - params: { - url: this.getValue("url"), - title: this.getValue("title"), - description: this.getValue("caption"), - image: this.getValue("image") - } - }, - xing: { - shareUrl: "https://www.xing.com/app/user", - params: { - op: "share", - url: this.getValue("url"), - title: this.getValue("title") - } - }, - buffer: { - shareUrl: "https://buffer.com/add", - params: { - url: this.getValue("url"), - title: this.getValue("title"), - via: this.getValue("via"), - picture: this.getValue("picture") - } - }, - instapaper: { - shareUrl: "http://www.instapaper.com/edit", - params: { - url: this.getValue("url"), - title: this.getValue("title"), - description: this.getValue("description") - } - }, - pocket: { - shareUrl: "https://getpocket.com/save", - params: { - url: this.getValue("url") - } - }, - digg: { - shareUrl: "http://www.digg.com/submit", - params: { - url: this.getValue("url") - } - }, - stumbleupon: { - shareUrl: "http://www.stumbleupon.com/submit", - params: { - url: this.getValue("url"), - title: this.getValue("title") - } - }, - mashable: { - shareUrl: "https://mashable.com/submit", - params: { - url: this.getValue("url"), - title: this.getValue("title") - } - }, - mix: { - shareUrl: "https://mix.com/add", - params: { - url: this.getValue("url") - } - }, - flipboard: { - shareUrl: "https://share.flipboard.com/bookmarklet/popout", - params: { - v: 2, - title: this.getValue("title"), - url: this.getValue("url"), - t: Date.now() - } - }, - weibo: { - shareUrl: "http://service.weibo.com/share/share.php", - params: { - url: this.getValue("url"), - title: this.getValue("title"), - pic: this.getValue("image"), - appkey: this.getValue("appkey"), - ralateUid: this.getValue("ralateuid"), - language: "zh_cn" - } - }, - renren: { - shareUrl: "http://share.renren.com/share/buttonshare", - params: { - link: this.getValue("url") - } - }, - myspace: { - shareUrl: "https://myspace.com/post", - params: { - u: this.getValue("url"), - t: this.getValue("title"), - c: this.getValue("description") - } - }, - blogger: { - shareUrl: "https://www.blogger.com/blog-this.g", - params: { - u: this.getValue("url"), - n: this.getValue("title"), - t: this.getValue("description") - } - }, - baidu: { - shareUrl: "http://cang.baidu.com/do/add", - params: { - it: this.getValue("title"), - iu: this.getValue("url") - } - }, - douban: { - shareUrl: "https://www.douban.com/share/service", - params: { - name: this.getValue("title"), - href: this.getValue("url"), - image: this.getValue("image") - } - }, - okru: { - shareUrl: "https://connect.ok.ru/dk", - params: { - "st.cmd": "WidgetSharePreview", - "st.shareUrl": this.getValue("url"), - title: this.getValue("title") - } - }, - mailru: { - shareUrl: "http://connect.mail.ru/share", - params: { - share_url: this.getValue("url"), - linkname: this.getValue("title"), - linknote: this.getValue("description"), - type: "page" - } - }, - evernote: { - shareUrl: "http://www.evernote.com/clip.action", - params: { - url: this.getValue("url"), - title: this.getValue("title") - } - }, - skype: { - shareUrl: "https://web.skype.com/share", - params: { - url: this.getValue("url"), - title: this.getValue("title") - } - }, - quora: { - shareUrl: "https://www.quora.com/share", - params: { - url: this.getValue("url"), - title: this.getValue("title") - } - }, - delicious: { - shareUrl: "https://del.icio.us/post", - params: { - url: this.getValue("url"), - title: this.getValue("title") - } - }, - sms: { - shareUrl: "sms://", - params: { - body: this.getValue("body") - } - }, - trello: { - shareUrl: "https://trello.com/add-card", - params: { - url: this.getValue("url"), - name: this.getValue("title"), - desc: this.getValue("description"), - mode: "popup" - } - }, - messenger: { - shareUrl: "fb-messenger://share", - params: { - link: this.getValue("url") - } - }, - odnoklassniki: { - shareUrl: "https://connect.ok.ru/dk", - params: { - st: { - cmd: "WidgetSharePreview", - deprecated: 1, - shareUrl: this.getValue("url") - } - } - }, - meneame: { - shareUrl: "https://www.meneame.net/submit", - params: { - url: this.getValue("url") - } - }, - diaspora: { - shareUrl: "https://share.diasporafoundation.org", - params: { - title: this.getValue("title"), - url: this.getValue("url") - } - }, - googlebookmarks: { - shareUrl: "https://www.google.com/bookmarks/mark", - params: { - op: "edit", - bkmk: this.getValue("url"), - title: this.getValue("title") - } - }, - qzone: { - shareUrl: "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey", - params: { - url: this.getValue("url") - } - }, - refind: { - shareUrl: "https://refind.com", - params: { - url: this.getValue("url") - } - }, - surfingbird: { - shareUrl: "https://surfingbird.ru/share", - params: { - url: this.getValue("url"), - title: this.getValue("title"), - description: this.getValue("description") - } - }, - yahoomail: { - shareUrl: "http://compose.mail.yahoo.com", - params: { - to: this.getValue("to"), - subject: this.getValue("subject"), - body: this.getValue("body") - } - }, - wordpress: { - shareUrl: "https://wordpress.com/wp-admin/press-this.php", - params: { - u: this.getValue("url"), - t: this.getValue("title"), - s: this.getValue("title") - } - }, - amazon: { - shareUrl: "https://www.amazon.com/gp/wishlist/static-add", - params: { - u: this.getValue("url"), - t: this.getValue("title") - } - }, - pinboard: { - shareUrl: "https://pinboard.in/add", - params: { - url: this.getValue("url"), - title: this.getValue("title"), - description: this.getValue("description") - } - }, - threema: { - shareUrl: "threema://compose", - params: { - text: this.getValue("text"), - id: this.getValue("id") - } - } - // Add other share options here, similar to facebook - // ... - }; - - const option = options[type]; - if (option) { - option.width = this.getValue('width') || ''; - option.height = this.getValue('height') || ''; - this.urlSharer(option); - } - } - - urlSharer(option: ShareOptions) { - const params = option.params || {}; - const query = Object.keys(params) - .map((key) => `${key}=${encodeURIComponent(params[key])}`) - .join('&'); - - const url = `${option.shareUrl}${query ? `?${query}` : ''}`; - - if (!option.isLink) { - const width = option.width || '600'; - const height = option.height || '480'; - const left = window.innerWidth / 2 - parseInt(width) / 2 + window.screenX; - const top = window.innerHeight / 2 - parseInt(height) / 2 + window.screenY; - const windowFeatures = `scrollbars=no, width=${width}, height=${height}, top=${top}, left=${left}`; - const popup = window.open(url, '', windowFeatures); - if (window.focus) popup?.focus(); - } else { - window.location.href = url; - } - } - } - - if (document.readyState === 'complete' || document.readyState !== 'loading') { - Sharer.init(); - } else { - document.addEventListener('DOMContentLoaded', Sharer.init); - } - - window.addEventListener('page:load', Sharer.init); - window.addEventListener('turbolinks:load', Sharer.init); - (window as any).Sharer = Sharer; - }, - {}, - ], - }, - {}, - [1] - ); -})(); \ No newline at end of file diff --git a/quartz/static/share.js b/quartz/static/share.js new file mode 100644 index 000000000..5bd59b75f --- /dev/null +++ b/quartz/static/share.js @@ -0,0 +1,455 @@ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 0 ? "?" : ""; + for (r = 0; r < a.length; r++) { + if (s !== "?") { + s += "&"; + } + if (e[a[r]]) { + s += a[r] + "=" + encodeURIComponent(e[a[r]]); + } + } + t.shareUrl += s; + if (!t.isLink) { + var l = t.width || 600, + i = t.height || 480, + h = g.innerWidth / 2 - l / 2 + g.screenX, + u = g.innerHeight / 2 - i / 2 + g.screenY, + o = "scrollbars=no, width=" + l + ", height=" + i + ", top=" + u + ", left=" + h, + p = g.open(t.shareUrl, "", o); + if (g.focus) { + p.focus(); + } + } else { + g.location.href = t.shareUrl; + } + } + }; + if (r.readyState === "complete" || r.readyState !== "loading") { + s.init(); + } else { + r.addEventListener("DOMContentLoaded", s.init); + } + g.addEventListener("page:load", s.init); + g.addEventListener("turbolinks:load", s.init); + g.Sharer = s; +})(window, document); + +},{}]},{},[1]) +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzcmMvanMvc2hhcmUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztBQ0FBLENBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDO0VBQUMsWUFBWTs7RUFBQyxJQUFJLENBQUMsR0FBQyxTQUFBLENBQVMsQ0FBQyxFQUFDO0lBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxDQUFDO0VBQUEsQ0FBQztFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsWUFBVTtJQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7TUFBQyxDQUFDO01BQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNO0lBQUMsS0FBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUM7TUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFBQTtFQUFDLENBQUM7RUFBQyxDQUFDLENBQUMsR0FBRyxHQUFDLFVBQVMsQ0FBQyxFQUFDO0lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBRSxDQUFDLENBQUMsVUFBVTtJQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztFQUFBLENBQUM7RUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDO0lBQUMsV0FBVyxFQUFDLENBQUM7SUFBQyxRQUFRLEVBQUMsU0FBQSxDQUFTLENBQUMsRUFBQztNQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUM7TUFBQyxJQUFHLENBQUMsSUFBRSxDQUFDLEtBQUcsU0FBUyxFQUFDO1FBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUM7VUFBQyxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUM7UUFBQTtNQUFDO01BQUMsT0FBTyxDQUFDO0lBQUEsQ0FBQztJQUFDLEtBQUssRUFBQyxTQUFBLENBQUEsRUFBVTtNQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFBQyxDQUFDLEdBQUM7VUFBQyxRQUFRLEVBQUM7WUFBQyxRQUFRLEVBQUMsNENBQTRDO1lBQUMsTUFBTSxFQUFDO2NBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztZQUFDO1VBQUMsQ0FBQztVQUFDLFFBQVEsRUFBQztZQUFDLFFBQVEsRUFBQyx1Q0FBdUM7WUFBQyxNQUFNLEVBQUM7Y0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Y0FBQyxJQUFJLEVBQUM7WUFBSTtVQUFDLENBQUM7VUFBQyxPQUFPLEVBQUM7WUFBQyxRQUFRLEVBQUMsbUNBQW1DO1lBQUMsTUFBTSxFQUFDO2NBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztZQUFDO1VBQUMsQ0FBQztVQUFDLEtBQUssRUFBQztZQUFDLFFBQVEsRUFBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBRSxFQUFFO1lBQUMsTUFBTSxFQUFDO2NBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2NBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUMsSUFBSSxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztZQUFDLENBQUM7WUFBQyxNQUFNLEVBQUM7VUFBSSxDQUFDO1VBQUMsUUFBUSxFQUFDO1lBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUcsSUFBSSxHQUFDLCtCQUErQixHQUFDLGlCQUFpQjtZQUFDLE1BQU0sRUFBQztjQUFDLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFBQyxDQUFDO1lBQUMsTUFBTSxFQUFDO1VBQUksQ0FBQztVQUFDLFFBQVEsRUFBQztZQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFHLElBQUksR0FBQywyQkFBMkIsR0FBQyxjQUFjO1lBQUMsTUFBTSxFQUFDO2NBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUFDLENBQUM7WUFBQyxNQUFNLEVBQUM7VUFBSSxDQUFDO1VBQUMsS0FBSyxFQUFDO1lBQUMsUUFBUSxFQUFDLGlCQUFpQjtZQUFDLE1BQU0sRUFBQztjQUFDLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFBQyxDQUFDO1lBQUMsTUFBTSxFQUFDO1VBQUksQ0FBQztVQUFDLElBQUksRUFBQztZQUFDLFFBQVEsRUFBQyw2QkFBNkIsR0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQUMsTUFBTSxFQUFDO1VBQUksQ0FBQztVQUFDLFNBQVMsRUFBQztZQUFDLFFBQVEsRUFBQyw4Q0FBOEM7WUFBQyxNQUFNLEVBQUM7Y0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Y0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Y0FBQyxXQUFXLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO1lBQUM7VUFBQyxDQUFDO1VBQUMsTUFBTSxFQUFDO1lBQUMsUUFBUSxFQUFDLHNDQUFzQztZQUFDLE1BQU0sRUFBQztjQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLFFBQVEsRUFBQyxNQUFNO2NBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2NBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUFDO1VBQUMsQ0FBQztVQUFDLFVBQVUsRUFBQztZQUFDLFFBQVEsRUFBQyx5Q0FBeUM7WUFBQyxNQUFNLEVBQUM7Y0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Y0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQUM7VUFBQyxDQUFDO1VBQUMsTUFBTSxFQUFDO1lBQUMsUUFBUSxFQUFDLCtCQUErQjtZQUFDLE1BQU0sRUFBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFBQztVQUFDLENBQUM7VUFBQyxFQUFFLEVBQUM7WUFBQyxRQUFRLEVBQUMseUJBQXlCO1lBQUMsTUFBTSxFQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2NBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTztZQUFDO1VBQUMsQ0FBQztVQUFDLElBQUksRUFBQztZQUFDLFFBQVEsRUFBQywrQkFBK0I7WUFBQyxNQUFNLEVBQUM7Y0FBQyxFQUFFLEVBQUMsT0FBTztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBQztVQUFDLENBQUM7VUFBQyxNQUFNLEVBQUM7WUFBQyxRQUFRLEVBQUMsd0JBQXdCO1lBQUMsTUFBTSxFQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztZQUFDO1VBQUMsQ0FBQztVQUFDLFVBQVUsRUFBQztZQUFDLFFBQVEsRUFBQyxnQ0FBZ0M7WUFBQyxNQUFNLEVBQUM7Y0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Y0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Y0FBQyxXQUFXLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO1lBQUM7VUFBQyxDQUFDO1VBQUMsTUFBTSxFQUFDO1lBQUMsUUFBUSxFQUFDLDRCQUE0QjtZQUFDLE1BQU0sRUFBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFBQztVQUFDLENBQUM7VUFBQyxJQUFJLEVBQUM7WUFBQyxRQUFRLEVBQUMsNEJBQTRCO1lBQUMsTUFBTSxFQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztZQUFDO1VBQUMsQ0FBQztVQUFDLFdBQVcsRUFBQztZQUFDLFFBQVEsRUFBQyxtQ0FBbUM7WUFBQyxNQUFNLEVBQUM7Y0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Y0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQUM7VUFBQyxDQUFDO1VBQUMsUUFBUSxFQUFDO1lBQUMsUUFBUSxFQUFDLDZCQUE2QjtZQUFDLE1BQU0sRUFBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBQztVQUFDLENBQUM7VUFBQyxHQUFHLEVBQUM7WUFBQyxRQUFRLEVBQUMscUJBQXFCO1lBQUMsTUFBTSxFQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztZQUFDO1VBQUMsQ0FBQztVQUFDLFNBQVMsRUFBQztZQUFDLFFBQVEsRUFBQyxnREFBZ0Q7WUFBQyxNQUFNLEVBQUM7Y0FBQyxDQUFDLEVBQUMsQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQUM7VUFBQyxDQUFDO1VBQUMsS0FBSyxFQUFDO1lBQUMsUUFBUSxFQUFDLDBDQUEwQztZQUFDLE1BQU0sRUFBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztjQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztjQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztjQUFDLFFBQVEsRUFBQztZQUFPO1VBQUMsQ0FBQztVQUFDLE1BQU0sRUFBQztZQUFDLFFBQVEsRUFBQywyQ0FBMkM7WUFBQyxNQUFNLEVBQUM7Y0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUM7VUFBQyxDQUFDO1VBQUMsT0FBTyxFQUFDO1lBQUMsUUFBUSxFQUFDLDBCQUEwQjtZQUFDLE1BQU0sRUFBQztjQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztjQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWE7WUFBQztVQUFDLENBQUM7VUFBQyxPQUFPLEVBQUM7WUFBQyxRQUFRLEVBQUMscUNBQXFDO1lBQUMsTUFBTSxFQUFDO2NBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUFDO1VBQUMsQ0FBQztVQUFDLEtBQUssRUFBQztZQUFDLFFBQVEsRUFBQyw4QkFBOEI7WUFBQyxNQUFNLEVBQUM7Y0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Y0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUM7VUFBQyxDQUFDO1VBQUMsTUFBTSxFQUFDO1lBQUMsUUFBUSxFQUFDLHNDQUFzQztZQUFDLE1BQU0sRUFBQztjQUFDLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztjQUFDLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBQztVQUFDLENBQUM7VUFBQyxJQUFJLEVBQUM7WUFBQyxRQUFRLEVBQUMsMEJBQTBCO1lBQUMsTUFBTSxFQUFDO2NBQUMsUUFBUSxFQUFDLG9CQUFvQjtjQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBQztVQUFDLENBQUM7VUFBQyxNQUFNLEVBQUM7WUFBQyxRQUFRLEVBQUMsOEJBQThCO1lBQUMsTUFBTSxFQUFDO2NBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO2NBQUMsSUFBSSxFQUFDO1lBQU07VUFBQyxDQUFDO1VBQUMsUUFBUSxFQUFDO1lBQUMsUUFBUSxFQUFDLHFDQUFxQztZQUFDLE1BQU0sRUFBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBQztVQUFDLENBQUM7VUFBQyxLQUFLLEVBQUM7WUFBQyxRQUFRLEVBQUMsNkJBQTZCO1lBQUMsTUFBTSxFQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTztZQUFDO1VBQUMsQ0FBQztVQUFDLEtBQUssRUFBQztZQUFDLFFBQVEsRUFBQyw2QkFBNkI7WUFBQyxNQUFNLEVBQUM7Y0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Y0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQUM7VUFBQyxDQUFDO1VBQUMsU0FBUyxFQUFDO1lBQUMsUUFBUSxFQUFDLDBCQUEwQjtZQUFDLE1BQU0sRUFBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBQztVQUFDLENBQUM7VUFBQyxHQUFHLEVBQUM7WUFBQyxRQUFRLEVBQUMsUUFBUTtZQUFDLE1BQU0sRUFBQztjQUFDLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07WUFBQztVQUFDLENBQUM7VUFBQyxNQUFNLEVBQUM7WUFBQyxRQUFRLEVBQUMsNkJBQTZCO1lBQUMsTUFBTSxFQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO2NBQUMsSUFBSSxFQUFDO1lBQU87VUFBQyxDQUFDO1VBQUMsU0FBUyxFQUFDO1lBQUMsUUFBUSxFQUFDLHNCQUFzQjtZQUFDLE1BQU0sRUFBQztjQUFDLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFBQztVQUFDLENBQUM7VUFBQyxhQUFhLEVBQUM7WUFBQyxRQUFRLEVBQUMsMEJBQTBCO1lBQUMsTUFBTSxFQUFDO2NBQUMsRUFBRSxFQUFDO2dCQUFDLEdBQUcsRUFBQyxvQkFBb0I7Z0JBQUMsVUFBVSxFQUFDLENBQUM7Z0JBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztjQUFDO1lBQUM7VUFBQyxDQUFDO1VBQUMsT0FBTyxFQUFDO1lBQUMsUUFBUSxFQUFDLGdDQUFnQztZQUFDLE1BQU0sRUFBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFBQztVQUFDLENBQUM7VUFBQyxRQUFRLEVBQUM7WUFBQyxRQUFRLEVBQUMsc0NBQXNDO1lBQUMsTUFBTSxFQUFDO2NBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztZQUFDO1VBQUMsQ0FBQztVQUFDLGVBQWUsRUFBQztZQUFDLFFBQVEsRUFBQyx1Q0FBdUM7WUFBQyxNQUFNLEVBQUM7Y0FBQyxFQUFFLEVBQUMsTUFBTTtjQUFDLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBQztVQUFDLENBQUM7VUFBQyxLQUFLLEVBQUM7WUFBQyxRQUFRLEVBQUMsNkRBQTZEO1lBQUMsTUFBTSxFQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztZQUFDO1VBQUMsQ0FBQztVQUFDLE1BQU0sRUFBQztZQUFDLFFBQVEsRUFBQyxvQkFBb0I7WUFBQyxNQUFNLEVBQUM7Y0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUM7VUFBQyxDQUFDO1VBQUMsV0FBVyxFQUFDO1lBQUMsUUFBUSxFQUFDLDhCQUE4QjtZQUFDLE1BQU0sRUFBQztjQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztjQUFDLFdBQVcsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWE7WUFBQztVQUFDLENBQUM7VUFBQyxTQUFTLEVBQUM7WUFBQyxRQUFRLEVBQUMsK0JBQStCO1lBQUMsTUFBTSxFQUFDO2NBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2NBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2NBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUFDO1VBQUMsQ0FBQztVQUFDLFNBQVMsRUFBQztZQUFDLFFBQVEsRUFBQywrQ0FBK0M7WUFBQyxNQUFNLEVBQUM7Y0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Y0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Y0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQUM7VUFBQyxDQUFDO1VBQUMsTUFBTSxFQUFDO1lBQUMsUUFBUSxFQUFDLCtDQUErQztZQUFDLE1BQU0sRUFBQztjQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztjQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBQztVQUFDLENBQUM7VUFBQyxRQUFRLEVBQUM7WUFBQyxRQUFRLEVBQUMseUJBQXlCO1lBQUMsTUFBTSxFQUFDO2NBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2NBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2NBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUFDO1VBQUMsQ0FBQztVQUFDLE9BQU8sRUFBQztZQUFDLFFBQVEsRUFBQyxtQkFBbUI7WUFBQyxNQUFNLEVBQUM7Y0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Y0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1lBQUM7VUFBQztRQUFDLENBQUM7UUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUFDLElBQUcsQ0FBQyxFQUFDO1FBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7TUFBQTtNQUFDLE9BQU8sQ0FBQyxLQUFHLFNBQVMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFDLEtBQUs7SUFBQSxDQUFDO0lBQUMsU0FBUyxFQUFDLFNBQUEsQ0FBUyxDQUFDLEVBQUM7TUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQztRQUFDLENBQUMsR0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUFDLENBQUM7UUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEdBQUMsR0FBRyxHQUFDLEVBQUU7TUFBQyxLQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7UUFBQyxJQUFHLENBQUMsS0FBRyxHQUFHLEVBQUM7VUFBQyxDQUFDLElBQUUsR0FBRztRQUFBO1FBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUM7VUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQTtNQUFDO01BQUMsQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDO01BQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxJQUFFLEdBQUc7VUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBRSxHQUFHO1VBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU87VUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTztVQUFDLENBQUMsR0FBQyx1QkFBdUIsR0FBQyxDQUFDLEdBQUMsV0FBVyxHQUFDLENBQUMsR0FBQyxRQUFRLEdBQUMsQ0FBQyxHQUFDLFNBQVMsR0FBQyxDQUFDO1VBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQUMsSUFBRyxDQUFDLENBQUMsS0FBSyxFQUFDO1VBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQUE7TUFBQyxDQUFDLE1BQUk7UUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsUUFBUTtNQUFBO0lBQUM7RUFBQyxDQUFDO0VBQUMsSUFBRyxDQUFDLENBQUMsVUFBVSxLQUFHLFVBQVUsSUFBRSxDQUFDLENBQUMsVUFBVSxLQUFHLFNBQVMsRUFBQztJQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztFQUFBLENBQUMsTUFBSTtJQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0VBQUE7RUFBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7RUFBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQztBQUFBLENBQUMsRUFBRSxNQUFNLEVBQUMsUUFBUSxDQUFDIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiKGZ1bmN0aW9uKGcscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIHM9ZnVuY3Rpb24odCl7dGhpcy5lbGVtPXR9O3MuaW5pdD1mdW5jdGlvbigpe3ZhciB0PXIucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLXNoYXJlcl1cIiksZSxhPXQubGVuZ3RoO2ZvcihlPTA7ZTxhO2UrKyl7dFtlXS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixzLmFkZCl9fTtzLmFkZD1mdW5jdGlvbih0KXt2YXIgZT10LmN1cnJlbnRUYXJnZXR8fHQuc3JjRWxlbWVudDt2YXIgYT1uZXcgcyhlKTthLnNoYXJlKCl9O3MucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpzLGdldFZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZWxlbS5nZXRBdHRyaWJ1dGUoXCJkYXRhLVwiK3QpO2lmKGUmJnQ9PT1cImhhc2h0YWdcIil7aWYoIWUuc3RhcnRzV2l0aChcIiNcIikpe2U9XCIjXCIrZX19cmV0dXJuIGV9LHNoYXJlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRWYWx1ZShcInNoYXJlclwiKS50b0xvd2VyQ2FzZSgpLGU9e2ZhY2Vib29rOntzaGFyZVVybDpcImh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIvc2hhcmVyLnBocFwiLHBhcmFtczp7dTp0aGlzLmdldFZhbHVlKFwidXJsXCIpLGhhc2h0YWc6dGhpcy5nZXRWYWx1ZShcImhhc2h0YWdcIil9fSxsaW5rZWRpbjp7c2hhcmVVcmw6XCJodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlXCIscGFyYW1zOnt1cmw6dGhpcy5nZXRWYWx1ZShcInVybFwiKSxtaW5pOnRydWV9fSx0d2l0dGVyOntzaGFyZVVybDpcImh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0L1wiLHBhcmFtczp7dGV4dDp0aGlzLmdldFZhbHVlKFwidGl0bGVcIiksdXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksaGFzaHRhZ3M6dGhpcy5nZXRWYWx1ZShcImhhc2h0YWdzXCIpLHZpYTp0aGlzLmdldFZhbHVlKFwidmlhXCIpfX0sZW1haWw6e3NoYXJlVXJsOlwibWFpbHRvOlwiK3RoaXMuZ2V0VmFsdWUoXCJ0b1wiKXx8XCJcIixwYXJhbXM6e3N1YmplY3Q6dGhpcy5nZXRWYWx1ZShcInN1YmplY3RcIiksYm9keTp0aGlzLmdldFZhbHVlKFwidGl0bGVcIikrXCJcXG5cIit0aGlzLmdldFZhbHVlKFwidXJsXCIpfSxpc0xpbms6dHJ1ZX0sd2hhdHNhcHA6e3NoYXJlVXJsOnRoaXMuZ2V0VmFsdWUoXCJ3ZWJcIikhPT1udWxsP1wiaHR0cHM6Ly9hcGkud2hhdHNhcHAuY29tL3NlbmRcIjpcIndoYXRzYXBwOi8vc2VuZFwiLHBhcmFtczp7dGV4dDp0aGlzLmdldFZhbHVlKFwidGl0bGVcIikrXCIgXCIrdGhpcy5nZXRWYWx1ZShcInVybFwiKX0saXNMaW5rOnRydWV9LHRlbGVncmFtOntzaGFyZVVybDp0aGlzLmdldFZhbHVlKFwid2ViXCIpIT09bnVsbD9cImh0dHBzOi8vdGVsZWdyYW0ubWUvc2hhcmVcIjpcInRnOi8vbXNnX3VybFwiLHBhcmFtczp7dGV4dDp0aGlzLmdldFZhbHVlKFwidGl0bGVcIiksdXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksdG86dGhpcy5nZXRWYWx1ZShcInRvXCIpfSxpc0xpbms6dHJ1ZX0sdmliZXI6e3NoYXJlVXJsOlwidmliZXI6Ly9mb3J3YXJkXCIscGFyYW1zOnt0ZXh0OnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKStcIiBcIit0aGlzLmdldFZhbHVlKFwidXJsXCIpfSxpc0xpbms6dHJ1ZX0sbGluZTp7c2hhcmVVcmw6XCJodHRwOi8vbGluZS5tZS9SL21zZy90ZXh0Lz9cIitlbmNvZGVVUklDb21wb25lbnQodGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpK1wiIFwiK3RoaXMuZ2V0VmFsdWUoXCJ1cmxcIikpLGlzTGluazp0cnVlfSxwaW50ZXJlc3Q6e3NoYXJlVXJsOlwiaHR0cHM6Ly93d3cucGludGVyZXN0LmNvbS9waW4vY3JlYXRlL2J1dHRvbi9cIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpLG1lZGlhOnRoaXMuZ2V0VmFsdWUoXCJpbWFnZVwiKSxkZXNjcmlwdGlvbjp0aGlzLmdldFZhbHVlKFwiZGVzY3JpcHRpb25cIil9fSx0dW1ibHI6e3NoYXJlVXJsOlwiaHR0cDovL3R1bWJsci5jb20vd2lkZ2V0cy9zaGFyZS90b29sXCIscGFyYW1zOntjYW5vbmljYWxVcmw6dGhpcy5nZXRWYWx1ZShcInVybFwiKSxjb250ZW50OnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIikscG9zdHR5cGU6XCJsaW5rXCIsdGl0bGU6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpLGNhcHRpb246dGhpcy5nZXRWYWx1ZShcImNhcHRpb25cIiksdGFnczp0aGlzLmdldFZhbHVlKFwidGFnc1wiKX19LGhhY2tlcm5ld3M6e3NoYXJlVXJsOlwiaHR0cHM6Ly9uZXdzLnljb21iaW5hdG9yLmNvbS9zdWJtaXRsaW5rXCIscGFyYW1zOnt1OnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksdDp0aGlzLmdldFZhbHVlKFwidGl0bGVcIil9fSxyZWRkaXQ6e3NoYXJlVXJsOlwiaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9zdWJtaXRcIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpfX0sdms6e3NoYXJlVXJsOlwiaHR0cDovL3ZrLmNvbS9zaGFyZS5waHBcIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpLHRpdGxlOnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKSxkZXNjcmlwdGlvbjp0aGlzLmdldFZhbHVlKFwiY2FwdGlvblwiKSxpbWFnZTp0aGlzLmdldFZhbHVlKFwiaW1hZ2VcIil9fSx4aW5nOntzaGFyZVVybDpcImh0dHBzOi8vd3d3LnhpbmcuY29tL2FwcC91c2VyXCIscGFyYW1zOntvcDpcInNoYXJlXCIsdXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksdGl0bGU6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpfX0sYnVmZmVyOntzaGFyZVVybDpcImh0dHBzOi8vYnVmZmVyLmNvbS9hZGRcIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpLHRpdGxlOnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKSx2aWE6dGhpcy5nZXRWYWx1ZShcInZpYVwiKSxwaWN0dXJlOnRoaXMuZ2V0VmFsdWUoXCJwaWN0dXJlXCIpfX0saW5zdGFwYXBlcjp7c2hhcmVVcmw6XCJodHRwOi8vd3d3Lmluc3RhcGFwZXIuY29tL2VkaXRcIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpLHRpdGxlOnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKSxkZXNjcmlwdGlvbjp0aGlzLmdldFZhbHVlKFwiZGVzY3JpcHRpb25cIil9fSxwb2NrZXQ6e3NoYXJlVXJsOlwiaHR0cHM6Ly9nZXRwb2NrZXQuY29tL3NhdmVcIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpfX0sZGlnZzp7c2hhcmVVcmw6XCJodHRwOi8vd3d3LmRpZ2cuY29tL3N1Ym1pdFwiLHBhcmFtczp7dXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIil9fSxzdHVtYmxldXBvbjp7c2hhcmVVcmw6XCJodHRwOi8vd3d3LnN0dW1ibGV1cG9uLmNvbS9zdWJtaXRcIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpLHRpdGxlOnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKX19LG1hc2hhYmxlOntzaGFyZVVybDpcImh0dHBzOi8vbWFzaGFibGUuY29tL3N1Ym1pdFwiLHBhcmFtczp7dXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksdGl0bGU6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpfX0sbWl4OntzaGFyZVVybDpcImh0dHBzOi8vbWl4LmNvbS9hZGRcIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpfX0sZmxpcGJvYXJkOntzaGFyZVVybDpcImh0dHBzOi8vc2hhcmUuZmxpcGJvYXJkLmNvbS9ib29rbWFya2xldC9wb3BvdXRcIixwYXJhbXM6e3Y6Mix0aXRsZTp0aGlzLmdldFZhbHVlKFwidGl0bGVcIiksdXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksdDpEYXRlLm5vdygpfX0sd2VpYm86e3NoYXJlVXJsOlwiaHR0cDovL3NlcnZpY2Uud2VpYm8uY29tL3NoYXJlL3NoYXJlLnBocFwiLHBhcmFtczp7dXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksdGl0bGU6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpLHBpYzp0aGlzLmdldFZhbHVlKFwiaW1hZ2VcIiksYXBwa2V5OnRoaXMuZ2V0VmFsdWUoXCJhcHBrZXlcIikscmFsYXRlVWlkOnRoaXMuZ2V0VmFsdWUoXCJyYWxhdGV1aWRcIiksbGFuZ3VhZ2U6XCJ6aF9jblwifX0scmVucmVuOntzaGFyZVVybDpcImh0dHA6Ly9zaGFyZS5yZW5yZW4uY29tL3NoYXJlL2J1dHRvbnNoYXJlXCIscGFyYW1zOntsaW5rOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIil9fSxteXNwYWNlOntzaGFyZVVybDpcImh0dHBzOi8vbXlzcGFjZS5jb20vcG9zdFwiLHBhcmFtczp7dTp0aGlzLmdldFZhbHVlKFwidXJsXCIpLHQ6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpLGM6dGhpcy5nZXRWYWx1ZShcImRlc2NyaXB0aW9uXCIpfX0sYmxvZ2dlcjp7c2hhcmVVcmw6XCJodHRwczovL3d3dy5ibG9nZ2VyLmNvbS9ibG9nLXRoaXMuZ1wiLHBhcmFtczp7dTp0aGlzLmdldFZhbHVlKFwidXJsXCIpLG46dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpLHQ6dGhpcy5nZXRWYWx1ZShcImRlc2NyaXB0aW9uXCIpfX0sYmFpZHU6e3NoYXJlVXJsOlwiaHR0cDovL2NhbmcuYmFpZHUuY29tL2RvL2FkZFwiLHBhcmFtczp7aXQ6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpLGl1OnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIil9fSxkb3ViYW46e3NoYXJlVXJsOlwiaHR0cHM6Ly93d3cuZG91YmFuLmNvbS9zaGFyZS9zZXJ2aWNlXCIscGFyYW1zOntuYW1lOnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKSxocmVmOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksaW1hZ2U6dGhpcy5nZXRWYWx1ZShcImltYWdlXCIpfX0sb2tydTp7c2hhcmVVcmw6XCJodHRwczovL2Nvbm5lY3Qub2sucnUvZGtcIixwYXJhbXM6e1wic3QuY21kXCI6XCJXaWRnZXRTaGFyZVByZXZpZXdcIixcInN0LnNoYXJlVXJsXCI6dGhpcy5nZXRWYWx1ZShcInVybFwiKSx0aXRsZTp0aGlzLmdldFZhbHVlKFwidGl0bGVcIil9fSxtYWlscnU6e3NoYXJlVXJsOlwiaHR0cDovL2Nvbm5lY3QubWFpbC5ydS9zaGFyZVwiLHBhcmFtczp7c2hhcmVfdXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksbGlua25hbWU6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpLGxpbmtub3RlOnRoaXMuZ2V0VmFsdWUoXCJkZXNjcmlwdGlvblwiKSx0eXBlOlwicGFnZVwifX0sZXZlcm5vdGU6e3NoYXJlVXJsOlwiaHR0cDovL3d3dy5ldmVybm90ZS5jb20vY2xpcC5hY3Rpb25cIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpLHRpdGxlOnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKX19LHNreXBlOntzaGFyZVVybDpcImh0dHBzOi8vd2ViLnNreXBlLmNvbS9zaGFyZVwiLHBhcmFtczp7dXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksdGl0bGU6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpfX0scXVvcmE6e3NoYXJlVXJsOlwiaHR0cHM6Ly93d3cucXVvcmEuY29tL3NoYXJlXCIscGFyYW1zOnt1cmw6dGhpcy5nZXRWYWx1ZShcInVybFwiKSx0aXRsZTp0aGlzLmdldFZhbHVlKFwidGl0bGVcIil9fSxkZWxpY2lvdXM6e3NoYXJlVXJsOlwiaHR0cHM6Ly9kZWwuaWNpby51cy9wb3N0XCIscGFyYW1zOnt1cmw6dGhpcy5nZXRWYWx1ZShcInVybFwiKSx0aXRsZTp0aGlzLmdldFZhbHVlKFwidGl0bGVcIil9fSxzbXM6e3NoYXJlVXJsOlwic21zOi8vXCIscGFyYW1zOntib2R5OnRoaXMuZ2V0VmFsdWUoXCJib2R5XCIpfX0sdHJlbGxvOntzaGFyZVVybDpcImh0dHBzOi8vdHJlbGxvLmNvbS9hZGQtY2FyZFwiLHBhcmFtczp7dXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksbmFtZTp0aGlzLmdldFZhbHVlKFwidGl0bGVcIiksZGVzYzp0aGlzLmdldFZhbHVlKFwiZGVzY3JpcHRpb25cIiksbW9kZTpcInBvcHVwXCJ9fSxtZXNzZW5nZXI6e3NoYXJlVXJsOlwiZmItbWVzc2VuZ2VyOi8vc2hhcmVcIixwYXJhbXM6e2xpbms6dGhpcy5nZXRWYWx1ZShcInVybFwiKX19LG9kbm9rbGFzc25pa2k6e3NoYXJlVXJsOlwiaHR0cHM6Ly9jb25uZWN0Lm9rLnJ1L2RrXCIscGFyYW1zOntzdDp7Y21kOlwiV2lkZ2V0U2hhcmVQcmV2aWV3XCIsZGVwcmVjYXRlZDoxLHNoYXJlVXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIil9fX0sbWVuZWFtZTp7c2hhcmVVcmw6XCJodHRwczovL3d3dy5tZW5lYW1lLm5ldC9zdWJtaXRcIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpfX0sZGlhc3BvcmE6e3NoYXJlVXJsOlwiaHR0cHM6Ly9zaGFyZS5kaWFzcG9yYWZvdW5kYXRpb24ub3JnXCIscGFyYW1zOnt0aXRsZTp0aGlzLmdldFZhbHVlKFwidGl0bGVcIiksdXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIil9fSxnb29nbGVib29rbWFya3M6e3NoYXJlVXJsOlwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9ib29rbWFya3MvbWFya1wiLHBhcmFtczp7b3A6XCJlZGl0XCIsYmttazp0aGlzLmdldFZhbHVlKFwidXJsXCIpLHRpdGxlOnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKX19LHF6b25lOntzaGFyZVVybDpcImh0dHBzOi8vc25zLnF6b25lLnFxLmNvbS9jZ2ktYmluL3F6c2hhcmUvY2dpX3F6c2hhcmVfb25la2V5XCIscGFyYW1zOnt1cmw6dGhpcy5nZXRWYWx1ZShcInVybFwiKX19LHJlZmluZDp7c2hhcmVVcmw6XCJodHRwczovL3JlZmluZC5jb21cIixwYXJhbXM6e3VybDp0aGlzLmdldFZhbHVlKFwidXJsXCIpfX0sc3VyZmluZ2JpcmQ6e3NoYXJlVXJsOlwiaHR0cHM6Ly9zdXJmaW5nYmlyZC5ydS9zaGFyZVwiLHBhcmFtczp7dXJsOnRoaXMuZ2V0VmFsdWUoXCJ1cmxcIiksdGl0bGU6dGhpcy5nZXRWYWx1ZShcInRpdGxlXCIpLGRlc2NyaXB0aW9uOnRoaXMuZ2V0VmFsdWUoXCJkZXNjcmlwdGlvblwiKX19LHlhaG9vbWFpbDp7c2hhcmVVcmw6XCJodHRwOi8vY29tcG9zZS5tYWlsLnlhaG9vLmNvbVwiLHBhcmFtczp7dG86dGhpcy5nZXRWYWx1ZShcInRvXCIpLHN1YmplY3Q6dGhpcy5nZXRWYWx1ZShcInN1YmplY3RcIiksYm9keTp0aGlzLmdldFZhbHVlKFwiYm9keVwiKX19LHdvcmRwcmVzczp7c2hhcmVVcmw6XCJodHRwczovL3dvcmRwcmVzcy5jb20vd3AtYWRtaW4vcHJlc3MtdGhpcy5waHBcIixwYXJhbXM6e3U6dGhpcy5nZXRWYWx1ZShcInVybFwiKSx0OnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKSxzOnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKX19LGFtYXpvbjp7c2hhcmVVcmw6XCJodHRwczovL3d3dy5hbWF6b24uY29tL2dwL3dpc2hsaXN0L3N0YXRpYy1hZGRcIixwYXJhbXM6e3U6dGhpcy5nZXRWYWx1ZShcInVybFwiKSx0OnRoaXMuZ2V0VmFsdWUoXCJ0aXRsZVwiKX19LHBpbmJvYXJkOntzaGFyZVVybDpcImh0dHBzOi8vcGluYm9hcmQuaW4vYWRkXCIscGFyYW1zOnt1cmw6dGhpcy5nZXRWYWx1ZShcInVybFwiKSx0aXRsZTp0aGlzLmdldFZhbHVlKFwidGl0bGVcIiksZGVzY3JpcHRpb246dGhpcy5nZXRWYWx1ZShcImRlc2NyaXB0aW9uXCIpfX0sdGhyZWVtYTp7c2hhcmVVcmw6XCJ0aHJlZW1hOi8vY29tcG9zZVwiLHBhcmFtczp7dGV4dDp0aGlzLmdldFZhbHVlKFwidGV4dFwiKSxpZDp0aGlzLmdldFZhbHVlKFwiaWRcIil9fX0sYT1lW3RdO2lmKGEpe2Eud2lkdGg9dGhpcy5nZXRWYWx1ZShcIndpZHRoXCIpO2EuaGVpZ2h0PXRoaXMuZ2V0VmFsdWUoXCJoZWlnaHRcIil9cmV0dXJuIGEhPT11bmRlZmluZWQ/dGhpcy51cmxTaGFyZXIoYSk6ZmFsc2V9LHVybFNoYXJlcjpmdW5jdGlvbih0KXt2YXIgZT10LnBhcmFtc3x8e30sYT1PYmplY3Qua2V5cyhlKSxyLHM9YS5sZW5ndGg+MD9cIj9cIjpcIlwiO2ZvcihyPTA7cjxhLmxlbmd0aDtyKyspe2lmKHMhPT1cIj9cIil7cys9XCImXCJ9aWYoZVthW3JdXSl7cys9YVtyXStcIj1cIitlbmNvZGVVUklDb21wb25lbnQoZVthW3JdXSl9fXQuc2hhcmVVcmwrPXM7aWYoIXQuaXNMaW5rKXt2YXIgbD10LndpZHRofHw2MDAsaT10LmhlaWdodHx8NDgwLGg9Zy5pbm5lcldpZHRoLzItbC8yK2cuc2NyZWVuWCx1PWcuaW5uZXJIZWlnaHQvMi1pLzIrZy5zY3JlZW5ZLG89XCJzY3JvbGxiYXJzPW5vLCB3aWR0aD1cIitsK1wiLCBoZWlnaHQ9XCIraStcIiwgdG9wPVwiK3UrXCIsIGxlZnQ9XCIraCxwPWcub3Blbih0LnNoYXJlVXJsLFwiXCIsbyk7aWYoZy5mb2N1cyl7cC5mb2N1cygpfX1lbHNle2cubG9jYXRpb24uaHJlZj10LnNoYXJlVXJsfX19O2lmKHIucmVhZHlTdGF0ZT09PVwiY29tcGxldGVcInx8ci5yZWFkeVN0YXRlIT09XCJsb2FkaW5nXCIpe3MuaW5pdCgpfWVsc2V7ci5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLHMuaW5pdCl9Zy5hZGRFdmVudExpc3RlbmVyKFwicGFnZTpsb2FkXCIscy5pbml0KTtnLmFkZEV2ZW50TGlzdGVuZXIoXCJ0dXJib2xpbmtzOmxvYWRcIixzLmluaXQpO2cuU2hhcmVyPXN9KSh3aW5kb3csZG9jdW1lbnQpO1xuIl19 + +//# sourceMappingURL=map/share.js.map