242 lines
19 KiB
Plaintext
242 lines
19 KiB
Plaintext
import { createHotContext as __vite__createHotContext } from "/_nuxt/@vite/client";import.meta.hot = __vite__createHotContext("/components/header/nav/Share.vue");import { FormButton as __nuxt_component_0 } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js";
|
|
import { default as __nuxt_component_1 } from "/_nuxt/components/project/model-page/dialog/embed/Embed.vue";
|
|
/* Injection by vite-plugin-vue-inspector Start */
|
|
import { createVNode as __createVNode,createElementVNode as __createElementVNode,createBlock as __createBlock } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"
|
|
function _interopVNode(vnode) {
|
|
if (vnode && vnode.props && 'data-v-inspector' in vnode.props) {
|
|
const data = vnode.props['data-v-inspector']
|
|
delete vnode.props['data-v-inspector']
|
|
Object.defineProperty(vnode.props, '__v_inspector', { value: data, enumerable: false })
|
|
}
|
|
return vnode
|
|
}
|
|
function _createVNode(...args) { return _interopVNode(__createVNode(...args)) }
|
|
function _createElementVNode(...args) { return _interopVNode(__createElementVNode(...args)) }
|
|
function _createBlock(...args) { return _interopVNode(__createBlock(...args)) }
|
|
/* Injection by vite-plugin-vue-inspector End */
|
|
import { defineComponent as _defineComponent } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
import { Menu, MenuButton, MenuItems, MenuItem } from "/_nuxt/node_modules/@headlessui/vue/dist/headlessui.esm.js?v=e4f18c29";
|
|
import { ShareIcon } from "/_nuxt/node_modules/.cache/vite/client/deps/@heroicons_vue_24_outline.js?v=e4f18c29";
|
|
import { ChevronDownIcon, ChevronUpIcon } from "/_nuxt/node_modules/.cache/vite/client/deps/@heroicons_vue_20_solid.js?v=e4f18c29";
|
|
import { SpeckleViewer } from "/_nuxt/@fs/D:/speckle-server/packages/shared/dist/esm/index.js";
|
|
import { keyboardClick } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js";
|
|
import { graphql } from "/_nuxt/lib/common/generated/gql/gql.ts";
|
|
|
|
import { useClipboard } from "/_nuxt/composables/browser.ts";
|
|
import { useId, ref, computed } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
const _sfc_main = /* @__PURE__ */ _defineComponent({
|
|
__name: "HeaderNavShare",
|
|
props: {
|
|
project: { type: Object, required: true },
|
|
resourceIdString: { type: String, required: true }
|
|
},
|
|
setup(__props, { expose: __expose }) {
|
|
__expose();
|
|
graphql(`
|
|
fragment HeaderNavShare_Project on Project {
|
|
id
|
|
visibility
|
|
...ProjectsModelPageEmbed_Project
|
|
}
|
|
`);
|
|
const props = __props;
|
|
const { copy } = useClipboard();
|
|
const menuButtonId = useId();
|
|
const embedDialogOpen = ref(false);
|
|
const parsedResourceIds = computed(
|
|
() => SpeckleViewer.ViewerRoute.parseUrlParameters(props.resourceIdString)
|
|
);
|
|
const isFederated = computed(() => parsedResourceIds.value.length > 1);
|
|
const handleCopyId = async () => {
|
|
await copy(props.resourceIdString, { successMessage: "ID copied to clipboard" });
|
|
};
|
|
const handleCopyLink = async () => {
|
|
if (false) return;
|
|
await copy(window.location.href, {
|
|
successMessage: "Copied link to clipboard"
|
|
});
|
|
};
|
|
const handleEmbed = () => {
|
|
embedDialogOpen.value = true;
|
|
};
|
|
const __returned__ = { props, copy, menuButtonId, embedDialogOpen, parsedResourceIds, isFederated, handleCopyId, handleCopyLink, handleEmbed, get Menu() {
|
|
return Menu;
|
|
}, get MenuButton() {
|
|
return MenuButton;
|
|
}, get MenuItems() {
|
|
return MenuItems;
|
|
}, get MenuItem() {
|
|
return MenuItem;
|
|
}, get ShareIcon() {
|
|
return ShareIcon;
|
|
}, get ChevronDownIcon() {
|
|
return ChevronDownIcon;
|
|
}, get ChevronUpIcon() {
|
|
return ChevronUpIcon;
|
|
}, get keyboardClick() {
|
|
return keyboardClick;
|
|
} };
|
|
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
return __returned__;
|
|
}
|
|
});
|
|
import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, openBlock as _openBlock, } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
const _component_FormButton = __nuxt_component_0;
|
|
const _component_ProjectModelPageDialogEmbed = __nuxt_component_1;
|
|
return _openBlock(), _createBlock($setup["Menu"], {
|
|
as: "div",
|
|
class: "flex items-center relative",
|
|
"data-v-inspector": "components/header/nav/Share.vue:3:3"
|
|
}, {
|
|
default: _withCtx(() => [
|
|
_createVNode($setup["MenuButton"], {
|
|
id: $setup.menuButtonId,
|
|
as: "div",
|
|
"data-v-inspector": "components/header/nav/Share.vue:4:5"
|
|
}, {
|
|
default: _withCtx(({ open }) => [
|
|
_createCommentVNode(" Desktop Button "),
|
|
_createVNode(_component_FormButton, {
|
|
color: "outline",
|
|
class: "hidden sm:flex",
|
|
"icon-right": open ? $setup.ChevronUpIcon : $setup.ChevronDownIcon,
|
|
"data-v-inspector": "components/header/nav/Share.vue:6:7"
|
|
}, {
|
|
default: _withCtx(() => [..._cache[4] || (_cache[4] = [
|
|
_createTextVNode(
|
|
" Share ",
|
|
-1
|
|
/* CACHED */
|
|
)
|
|
])]),
|
|
_: 2
|
|
/* DYNAMIC */
|
|
}, 1032, ["icon-right"]),
|
|
_createCommentVNode(" Mobile Button "),
|
|
_createVNode(_component_FormButton, {
|
|
color: "subtle",
|
|
size: "sm",
|
|
class: "sm:hidden",
|
|
"icon-right": $setup.ShareIcon,
|
|
"hide-text": "",
|
|
"data-v-inspector": "components/header/nav/Share.vue:14:7"
|
|
}, {
|
|
default: _withCtx(() => [..._cache[5] || (_cache[5] = [
|
|
_createTextVNode(
|
|
" Share ",
|
|
-1
|
|
/* CACHED */
|
|
)
|
|
])]),
|
|
_: 1
|
|
/* STABLE */
|
|
}, 8, ["icon-right"])
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
}, 8, ["id"]),
|
|
_createVNode($setup["MenuItems"], {
|
|
class: "absolute z-50 flex flex-col gap-1 right-0 top-11 min-w-max w-full sm:w-32 py-1 origin-top-right bg-foundation outline outline-1 outline-primary-muted rounded-md shadow-lg overflow-hidden mt-1",
|
|
"data-v-inspector": "components/header/nav/Share.vue:25:5"
|
|
}, {
|
|
default: _withCtx(() => [
|
|
_createVNode($setup["MenuItem"], { "data-v-inspector": "components/header/nav/Share.vue:28:7" }, {
|
|
default: _withCtx(({ active }) => [
|
|
_createElementVNode(
|
|
"div",
|
|
{
|
|
class: _normalizeClass([
|
|
active ? "bg-highlight-1" : "",
|
|
"text-body-xs flex px-2 py-1 text-foreground cursor-pointer transition mx-1 rounded"
|
|
]),
|
|
onClick: $setup.handleCopyLink,
|
|
onKeypress: _cache[0] || (_cache[0] = ($event) => $setup.keyboardClick($setup.handleCopyLink)),
|
|
"data-v-inspector": "components/header/nav/Share.vue:29:9"
|
|
},
|
|
" Copy link ",
|
|
34
|
|
/* CLASS, NEED_HYDRATION */
|
|
)
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
}),
|
|
!$setup.isFederated ? (_openBlock(), _createBlock($setup["MenuItem"], {
|
|
key: 0,
|
|
"data-v-inspector": "components/header/nav/Share.vue:40:7"
|
|
}, {
|
|
default: _withCtx(({ active }) => [
|
|
_createElementVNode(
|
|
"div",
|
|
{
|
|
class: _normalizeClass([
|
|
active ? "bg-highlight-1" : "",
|
|
"text-body-xs flex px-2 py-1 text-foreground cursor-pointer transition mx-1 rounded"
|
|
]),
|
|
onClick: $setup.handleCopyId,
|
|
onKeypress: _cache[1] || (_cache[1] = ($event) => $setup.keyboardClick($setup.handleCopyId)),
|
|
"data-v-inspector": "components/header/nav/Share.vue:41:9"
|
|
},
|
|
" Copy ID ",
|
|
34
|
|
/* CLASS, NEED_HYDRATION */
|
|
)
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
})) : _createCommentVNode("v-if", true),
|
|
_createVNode($setup["MenuItem"], { "data-v-inspector": "components/header/nav/Share.vue:52:7" }, {
|
|
default: _withCtx(({ active }) => [
|
|
_createElementVNode(
|
|
"div",
|
|
{
|
|
class: _normalizeClass([
|
|
active ? "bg-highlight-1" : "",
|
|
"text-body-xs flex px-2 py-1 text-foreground cursor-pointer transition mx-1 rounded"
|
|
]),
|
|
onClick: $setup.handleEmbed,
|
|
onKeypress: _cache[2] || (_cache[2] = ($event) => $setup.keyboardClick($setup.handleEmbed)),
|
|
"data-v-inspector": "components/header/nav/Share.vue:53:9"
|
|
},
|
|
" Embed model ",
|
|
34
|
|
/* CLASS, NEED_HYDRATION */
|
|
)
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
})
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
}),
|
|
_createVNode(_component_ProjectModelPageDialogEmbed, {
|
|
open: $setup.embedDialogOpen,
|
|
"onUpdate:open": _cache[3] || (_cache[3] = ($event) => $setup.embedDialogOpen = $event),
|
|
project: $props.project,
|
|
"data-v-inspector": "components/header/nav/Share.vue:66:5"
|
|
}, null, 8, ["open", "project"])
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
});
|
|
}
|
|
_sfc_main.__hmrId = "74a5d97d";
|
|
typeof __VUE_HMR_RUNTIME__ !== "undefined" && __VUE_HMR_RUNTIME__.createRecord(_sfc_main.__hmrId, _sfc_main);
|
|
import.meta.hot.on("file-changed", ({ file }) => {
|
|
__VUE_HMR_RUNTIME__.CHANGED_FILE = file;
|
|
});
|
|
import.meta.hot.accept((mod) => {
|
|
if (!mod) return;
|
|
const { default: updated, _rerender_only } = mod;
|
|
if (_rerender_only) {
|
|
__VUE_HMR_RUNTIME__.rerender(updated.__hmrId, updated.render);
|
|
} else {
|
|
__VUE_HMR_RUNTIME__.reload(updated.__hmrId, updated);
|
|
}
|
|
});
|
|
import _export_sfc from "/_nuxt/@id/__x00__plugin-vue:export-helper";
|
|
export default /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/speckle-server/packages/frontend-2/components/header/nav/Share.vue"]]);
|
|
|
|
//# sourceMappingURL=data:application/json;base64,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WSxPQUFNO0FBQUEsY0FDeEI7QUFBQSxnQkFTTTtBQUFBO0FBQUEsa0JBUkgsT0FBSztBQUFBLG9CQUFpQixTQUFNO0FBQUE7O2tCQUk1QixTQUFPO0FBQUEsa0JBQ1AsWUFBUSxzQ0FBRSxxQkFBYyxrQkFBVztBQUFBLGtCQUFHLG9CQUFpQjtBQUFBO2dCQUN6RDtBQUFBLGdCQUVEO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OztNQUlKLGFBQXlJO0FBQUEsUUFBcEcsTUFBTTtBQUFBLHdGQUFlO0FBQUEsUUFBRyxTQUFTO0FBQUEsUUFBUyxvQkFBaUI7QUFBQSIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsiU2hhcmUudnVlIl0sInNvdXJjZXNDb250ZW50IjpbIjwhLS0gZXNsaW50LWRpc2FibGUgdnVlanMtYWNjZXNzaWJpbGl0eS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgLS0+XHJcbjx0ZW1wbGF0ZT5cclxuICA8TWVudSBhcz1cImRpdlwiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcmVsYXRpdmVcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L1NoYXJlLnZ1ZTozOjNcIj5cclxuICAgIDxNZW51QnV0dG9uIDppZD1cIm1lbnVCdXR0b25JZFwiIHYtc2xvdD1cInsgb3BlbiB9XCIgYXM9XCJkaXZcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L1NoYXJlLnZ1ZTo0OjVcIj5cclxuICAgICAgPCEtLSBEZXNrdG9wIEJ1dHRvbiAtLT5cclxuICAgICAgPEZvcm1CdXR0b25cclxuICAgICAgICBjb2xvcj1cIm91dGxpbmVcIlxyXG4gICAgICAgIGNsYXNzPVwiaGlkZGVuIHNtOmZsZXhcIlxyXG4gICAgICAgIDppY29uLXJpZ2h0PVwib3BlbiA/IENoZXZyb25VcEljb24gOiBDaGV2cm9uRG93bkljb25cIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L1NoYXJlLnZ1ZTo2OjdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgU2hhcmVcclxuICAgICAgPC9Gb3JtQnV0dG9uPlxyXG4gICAgICA8IS0tIE1vYmlsZSBCdXR0b24gLS0+XHJcbiAgICAgIDxGb3JtQnV0dG9uXHJcbiAgICAgICAgY29sb3I9XCJzdWJ0bGVcIlxyXG4gICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgY2xhc3M9XCJzbTpoaWRkZW5cIlxyXG4gICAgICAgIDppY29uLXJpZ2h0PVwiU2hhcmVJY29uXCJcclxuICAgICAgICBoaWRlLXRleHQgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9TaGFyZS52dWU6MTQ6N1wiXHJcbiAgICAgID5cclxuICAgICAgICBTaGFyZVxyXG4gICAgICA8L0Zvcm1CdXR0b24+XHJcbiAgICA8L01lbnVCdXR0b24+XHJcblxyXG4gICAgPE1lbnVJdGVtc1xyXG4gICAgICBjbGFzcz1cImFic29sdXRlIHotNTAgZmxleCBmbGV4LWNvbCBnYXAtMSByaWdodC0wIHRvcC0xMSBtaW4tdy1tYXggdy1mdWxsIHNtOnctMzIgcHktMSBvcmlnaW4tdG9wLXJpZ2h0IGJnLWZvdW5kYXRpb24gb3V0bGluZSBvdXRsaW5lLTEgb3V0bGluZS1wcmltYXJ5LW11dGVkIHJvdW5kZWQtbWQgc2hhZG93LWxnIG92ZXJmbG93LWhpZGRlbiBtdC0xXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9TaGFyZS52dWU6MjU6NVwiXHJcbiAgICA+XHJcbiAgICAgIDxNZW51SXRlbSB2LXNsb3Q9XCJ7IGFjdGl2ZSB9XCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9TaGFyZS52dWU6Mjg6N1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIDpjbGFzcz1cIltcclxuICAgICAgICAgICAgYWN0aXZlID8gJ2JnLWhpZ2hsaWdodC0xJyA6ICcnLFxyXG4gICAgICAgICAgICAndGV4dC1ib2R5LXhzIGZsZXggcHgtMiBweS0xIHRleHQtZm9yZWdyb3VuZCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uIG14LTEgcm91bmRlZCdcclxuICAgICAgICAgIF1cIlxyXG4gICAgICAgICAgQGNsaWNrPVwiaGFuZGxlQ29weUxpbmtcIlxyXG4gICAgICAgICAgQGtleXByZXNzPVwia2V5Ym9hcmRDbGljayhoYW5kbGVDb3B5TGluaylcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L1NoYXJlLnZ1ZToyOTo5XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBDb3B5IGxpbmtcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9NZW51SXRlbT5cclxuICAgICAgPE1lbnVJdGVtIHYtaWY9XCIhaXNGZWRlcmF0ZWRcIiB2LXNsb3Q9XCJ7IGFjdGl2ZSB9XCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9TaGFyZS52dWU6NDA6N1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIDpjbGFzcz1cIltcclxuICAgICAgICAgICAgYWN0aXZlID8gJ2JnLWhpZ2hsaWdodC0xJyA6ICcnLFxyXG4gICAgICAgICAgICAndGV4dC1ib2R5LXhzIGZsZXggcHgtMiBweS0xIHRleHQtZm9yZWdyb3VuZCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uIG14LTEgcm91bmRlZCdcclxuICAgICAgICAgIF1cIlxyXG4gICAgICAgICAgQGNsaWNrPVwiaGFuZGxlQ29weUlkXCJcclxuICAgICAgICAgIEBrZXlwcmVzcz1cImtleWJvYXJkQ2xpY2soaGFuZGxlQ29weUlkKVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvU2hhcmUudnVlOjQxOjlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIENvcHkgSURcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9NZW51SXRlbT5cclxuICAgICAgPE1lbnVJdGVtIHYtc2xvdD1cInsgYWN0aXZlIH1cIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L1NoYXJlLnZ1ZTo1Mjo3XCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgOmNsYXNzPVwiW1xyXG4gICAgICAgICAgICBhY3RpdmUgPyAnYmctaGlnaGxpZ2h0LTEnIDogJycsXHJcbiAgICAgICAgICAgICd0ZXh0LWJvZHkteHMgZmxleCBweC0yIHB5LTEgdGV4dC1mb3JlZ3JvdW5kIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24gbXgtMSByb3VuZGVkJ1xyXG4gICAgICAgICAgXVwiXHJcbiAgICAgICAgICBAY2xpY2s9XCJoYW5kbGVFbWJlZFwiXHJcbiAgICAgICAgICBAa2V5cHJlc3M9XCJrZXlib2FyZENsaWNrKGhhbmRsZUVtYmVkKVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvU2hhcmUudnVlOjUzOjlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIEVtYmVkIG1vZGVsXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvTWVudUl0ZW0+XHJcbiAgICA8L01lbnVJdGVtcz5cclxuXHJcbiAgICA8UHJvamVjdE1vZGVsUGFnZURpYWxvZ0VtYmVkIHYtbW9kZWw6b3Blbj1cImVtYmVkRGlhbG9nT3BlblwiIDpwcm9qZWN0PVwicHJvamVjdFwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvU2hhcmUudnVlOjY2OjVcIiAvPlxyXG4gIDwvTWVudT5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdCBzZXR1cCBsYW5nPVwidHNcIj5cclxuaW1wb3J0IHsgTWVudSwgTWVudUJ1dHRvbiwgTWVudUl0ZW1zLCBNZW51SXRlbSB9IGZyb20gJ0BoZWFkbGVzc3VpL3Z1ZSdcclxuaW1wb3J0IHsgU2hhcmVJY29uIH0gZnJvbSAnQGhlcm9pY29ucy92dWUvMjQvb3V0bGluZSdcclxuaW1wb3J0IHsgQ2hldnJvbkRvd25JY29uLCBDaGV2cm9uVXBJY29uIH0gZnJvbSAnQGhlcm9pY29ucy92dWUvMjAvc29saWQnXHJcbmltcG9ydCB7IFNwZWNrbGVWaWV3ZXIgfSBmcm9tICdAc3BlY2tsZS9zaGFyZWQnXHJcbmltcG9ydCB7IGtleWJvYXJkQ2xpY2sgfSBmcm9tICdAc3BlY2tsZS91aS1jb21wb25lbnRzJ1xyXG5pbXBvcnQgeyBncmFwaHFsIH0gZnJvbSAnfi9saWIvY29tbW9uL2dlbmVyYXRlZC9ncWwvZ3FsJ1xyXG5pbXBvcnQgdHlwZSB7IEhlYWRlck5hdlNoYXJlX1Byb2plY3RGcmFnbWVudCB9IGZyb20gJ35+L2xpYi9jb21tb24vZ2VuZXJhdGVkL2dxbC9ncmFwaHFsJ1xyXG5cclxuZ3JhcGhxbChgXHJcbiAgZnJhZ21lbnQgSGVhZGVyTmF2U2hhcmVfUHJvamVjdCBvbiBQcm9qZWN0IHtcclxuICAgIGlkXHJcbiAgICB2aXNpYmlsaXR5XHJcbiAgICAuLi5Qcm9qZWN0c01vZGVsUGFnZUVtYmVkX1Byb2plY3RcclxuICB9XHJcbmApXHJcblxyXG5jb25zdCBwcm9wcyA9IGRlZmluZVByb3BzPHtcclxuICBwcm9qZWN0OiBIZWFkZXJOYXZTaGFyZV9Qcm9qZWN0RnJhZ21lbnRcclxuICByZXNvdXJjZUlkU3RyaW5nOiBzdHJpbmdcclxufT4oKVxyXG5cclxuY29uc3QgeyBjb3B5IH0gPSB1c2VDbGlwYm9hcmQoKVxyXG5jb25zdCBtZW51QnV0dG9uSWQgPSB1c2VJZCgpXHJcblxyXG5jb25zdCBlbWJlZERpYWxvZ09wZW4gPSByZWYoZmFsc2UpXHJcblxyXG5jb25zdCBwYXJzZWRSZXNvdXJjZUlkcyA9IGNvbXB1dGVkKCgpID0+XHJcbiAgU3BlY2tsZVZpZXdlci5WaWV3ZXJSb3V0ZS5wYXJzZVVybFBhcmFtZXRlcnMocHJvcHMucmVzb3VyY2VJZFN0cmluZylcclxuKVxyXG5cclxuY29uc3QgaXNGZWRlcmF0ZWQgPSBjb21wdXRlZCgoKSA9PiBwYXJzZWRSZXNvdXJjZUlkcy52YWx1ZS5sZW5ndGggPiAxKVxyXG5cclxuY29uc3QgaGFuZGxlQ29weUlkID0gYXN5bmMgKCkgPT4ge1xyXG4gIGF3YWl0IGNvcHkocHJvcHMucmVzb3VyY2VJZFN0cmluZywgeyBzdWNjZXNzTWVzc2FnZTogJ0lEIGNvcGllZCB0byBjbGlwYm9hcmQnIH0pXHJcbn1cclxuXHJcbmNvbnN0IGhhbmRsZUNvcHlMaW5rID0gYXN5bmMgKCkgPT4ge1xyXG4gIGlmIChpbXBvcnQubWV0YS5zZXJ2ZXIpIHJldHVyblxyXG4gIGF3YWl0IGNvcHkod2luZG93LmxvY2F0aW9uLmhyZWYsIHtcclxuICAgIHN1Y2Nlc3NNZXNzYWdlOiAnQ29waWVkIGxpbmsgdG8gY2xpcGJvYXJkJ1xyXG4gIH0pXHJcbn1cclxuXHJcbmNvbnN0IGhhbmRsZUVtYmVkID0gKCkgPT4ge1xyXG4gIGVtYmVkRGlhbG9nT3Blbi52YWx1ZSA9IHRydWVcclxufVxyXG48L3NjcmlwdD5cclxuIl0sImZpbGUiOiJEOi9zcGVja2xlLXNlcnZlci9wYWNrYWdlcy9mcm9udGVuZC0yL2NvbXBvbmVudHMvaGVhZGVyL25hdi9TaGFyZS52dWUifQ== |